エージェントハーネスの基礎: ループと制御
このコースはエージェントのハーネス――モデルの外側にあって、エージェントを実際に動かしている制御コードのレイヤー――を扱います。ハーネスは「モデル → ツールを実行 → 結果を戻す → もう一度尋ねる」というループを回し、そのループをいつ止めるかを決め、暴走したときに捕まえ、途中で人間が割り込んで方向を変えられるようにします。焦点は単一エージェントの実行ループで、最後には停止条件、予算上限、空回りの検出、人間の承認弁を備えた最小限のハーネスを自分の手で書き上げます。このシリーズの最初の 6 つのコースを終えた読者向けです――1 回のツール呼び出しラウンドトリップ(stop_reason: "tool_use" / tool_result)、エージェントメモリとコンテキストウィンドウ、そしてマルチエージェントの分業の基礎を理解している必要があります。特定のフレームワークの API チュートリアル(Claude Agent SDK や LangChain の詳細)ではありません。マルチエージェントのオーケストレーション(このシリーズの別のコース)も、評価とリグレッション(検証のコースに譲ります)もカバーしません。扱うのは 1 つのレイヤー、つまりループそのものをどう制御下に置くかです。
コース構成
- ハーネスとは何か: モデルの外側にある制御コード
- コアループ: 一度の往復から継続的な運転へ
- 停止条件: エージェントはいつ手を引くべきか
- 暴走とフォールバック: デッドループ、空回り、予算バーンアウト
- 介入と操舵: 中断、方向転換、ヒューマン・イン・ザ・ループ
- ハンズオン: 制御付きエージェントハーネスを手書きする
学習目標
このコースを終えると、次のことができるようになります:
- ハーネスとモデルの境界を引き、同じモデルでもハーネスが違えば結果が大きく変わる理由を説明する
- エージェントを動かすコアループを手書きし、
stop_reasonがループの継続と停止をどう決めるかを説明する - モデルの「終わりました」という申告に頼らず、エージェントに明示的な停止条件のセットを設計する
- 暴走のモード――デッドループ、空回り、予算バーンアウト、誤りの累積――を見分け、それぞれにフォールバックを取り付ける
- ループのどこに人間のチェックポイントを置くべきかを判断し、不可逆な操作を自動実行の外に出す
- 停止条件、最大ターン数の上限、予算上限、空回り検出、承認弁を備えた最小限のハーネスをゼロから構築する
前提知識
- このシリーズの最初の 6 つのコースを終えている、または同等の知識がある
- 1 回のツール呼び出しラウンドトリップを完全に理解している: モデルが
stop_reason: "tool_use"を返し、ホストがツールを実行し、tool_resultが会話に差し戻される - コンテキストウィンドウが有限のリソースであり、履歴が蓄積し続けることを知っている(このシリーズのコース5「エージェントメモリと状態」)
- 基本的な JavaScript / Node.js のコードを読める(レッスン6 では一緒に書き進めます)
- 機械学習やモデル訓練の背景知識は不要
想定学習時間
約 3〜4 時間(各レッスンのハンズオン演習を含む)。