Featured image of post Agent と Harness とは? — 動画ノートまとめ

Agent と Harness とは? — 動画ノートまとめ

一言でまとめ

Agent は AI がどう作業するかを解決し、Harness は AI が確実に作業を完了するための仕組みです。 この二つが組み合わさって、Claude Code、Codex、Open Cloud、千問などの製品を構成しています。


一、ChatGPT から AI Agent へ

元の問題

ChatGPT に HTML + SVG でアニメーション(Apple ロゴのライン描画など)を作らせると、結果は大抵良くない——2026年になっても AI は極めてシンプルなロゴすらうまく描けません。

手動での改善方法

  1. iconfont などのサイトで Apple SVG 素材を検索
  2. SVG コードを AI に渡し、参考にして再描画させる
  3. 結果は大幅に改善されるが、毎回手動で素材を探すのは面倒

自動化の改善 — ラッパーサイト(初期の Agent 原型)

ChatGPT をラップするサイトを構築し、API 経由で呼び出し、バックエンドに関数を追加:

  1. ユーザーがリクエスト送信 → サイトが AI に伝える:「これがユーザープロンプトです。必要に応じて呼び出せるロゴ検索関数もあります」
  2. AI が分析 → Apple ロゴ素材が必要と判断し、「素材検索ツールを呼び出せ、パラメータ:Apple ロゴ」と返答
  3. サイトが実行 → バックエンドで検索関数を実行し SVG 素材を発見
  4. 最終生成 → サイトが素材 + ユーザープロンプトを AI に送り、アニメーションを完成


二、Agent の二つの中核動作モード

1. ReAct(Reasoning + Acting)— 一歩ずつ進む

3ステップループ:

  • 思考(Think):AI がリクエストを分析し、何が必要か、どのツールを呼ぶべきか判断
  • 行動(Act):AI がバックエンドにツール呼び出しを指示(例:素材検索)
  • 観察(Observe):バックエンドが結果を返し、AI が結果を確認して次のループへ

「思考→行動→観察」のサイクルをタスク完了まで繰り返します。

これは Claude Code、Codex、Open Cloud を含む、ほぼすべての AI Agent の最も基本的で本質的な動作パターンです。

2. Plan & Execute — 計画してから実行

  • 計画を先に:タスクを受け取ったら、作業リスト/ステップ一覧を生成
  • 実行:リストに従って一つずつ実行
モード 類似 特徴
ReAct 行き当たりばったり 柔軟、その場で調整
Plan & Execute 事前に下調べしてから出発 構造化、複雑なタスクに適切

実際の Agent は両方を組み合わせて使用します。例えば千問の「タスクアシスタント」モード:まず要件を分析してステップを計画し(Plan)、その後能動的に情報検索、コード作成、調整を行います(Act)。


三、Agent の高度な機能

ツール呼び出し(Tool Calling / Function Calling)

Agent がユーザープロンプトに基づいて呼び出すツールを判断し、バックエンドが実行して結果を返します。

コンテキスト管理と圧縮

  • 大規模モデル自体に記憶はなく、毎回新しい会話として始まる
  • Agent は会話履歴全体を毎回 AI に送る必要があり、進むほどに長くなる
  • コンテキストウィンドウ = AI の作業台、サイズに制限あり
  • コンテキスト圧縮:会話がウィンドウを超えた場合、古い内容を要約して置き換え
    • トレードオフ:圧縮で情報が失われ、以前の指示を AI が忘れる可能性がある

マルチエージェント連携

1つの AI がプロジェクトマネージャー(要件理解、タスク分割、作業割り当て)を担当し、他の AI がサブタスクを実行。

  • 各サブ AI は独立したコンテキストウィンドウを持ち、互いに干渉しない
  • プロジェクトマネージャーは最終結果のみを受け取り、中間プロセスは関知しない
  • 効率を向上させると同時に、コンテキスト爆発の問題を緩和


四、Harness — AI を確実に動作させる保護網

Agent が実際に稼働すると様々な問題に直面するため、Harness(馬具/保護網)が必要です。

Harness に含まれる工学的チェックポイント

チェックポイント 問題 解決策
フォーマット整形 JSON 返却時に「はい」やマークダウンコードブロック、余分な改行を追加 無駄な部分、ラッパー記号、余分な改行を除去;それでもダメならエラーを返して再生成
パラメータ検証 ツール呼び出しのパラメータが不正(city に都市名以外など) 呼び出し前にフォーマット/範囲を検証、不合格なら差し戻し
入力フィルタリング プロンプトインジェクション攻撃(「前の指示をすべて無視して」)/ 悪意あるコードを含む SVG のアップロード ユーザー入力がシステムに入る前に不審な指示と素材の安全性をチェック
出力フィルタリング AI 生成コンテンツに悪意あるコードが含まれる可能性 出力内容を検査
ハードコード検証 AI が同じミスを繰り返す(常に白背景を使うなど) コードで直接制御:SVG 背景色を自動検出し、白を暗色に置換

Harness 工学の核心原則

コードで強制できることは、決してプロンプトだけで頼ってはいけない。


五、全体アーキテクチャまとめ

一言で格上げ

Agent は馬であり、Harness は馬具です。 馬が馬具なしでは問題が発生し、馬具だけでは何もできません。両者が組み合わさることで、AI は口だけのチャットボットから、現実世界で働ける労働者へと変貌します。

comments powered by Disqus
Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。