エージェント実行フロー
エージェントはユーザーの入力を分析し、自動的にツールを選択して実行します。一部のツール(plan / report / matrix)は、実行前に人間の確認が必要な Human-in-the-Loop(HITL)ポイントを含んでいます。 このページでは、すべての実行パターンのイベントフローと、APIユーザーが各状態でどう操作すべきかを説明します。共通フロー
すべての実行は以下の形式で開始されます。ツール分岐一覧
エージェントはchat-routing で入力を分析し、以下のツールから自動的に選択します。
パターン1: 直接回答
ツールを使わず、エージェントが直接テキストで回答します。パターン2: search(Web検索)
パターン3: browse(ブラウザ操作)
maxBrowsingSteps パラメータで最大ステップ数を制御できます。
browse 中に人間の入力が必要な場合
browse は通常は全自動ですが、ログイン画面・Cookie確認・判断が必要な画面などで人間に質問することがあります。この場合は plan/report/matrix の HITL とは扱いが違います。/agent/run/{runId}/plan/answer などは使いません。browse-start イベントで受け取った websocketInfo.session_id を使って、ブラウザ操作APIに回答します。
/browser/answer-question-with-files を使います。
/browser/spontaneous-input を使います。例: 「次は価格ページを開いて」「そのフォームには入力しないで」。
GET /agent/run/{runId}/status の browseState.askHumanQuestion でも質問待ちかどうかは確認できます。ただし回答には sessionId が必要です。APIクライアントは browse-start.payload.websocketInfo.session_id を受け取った時点で保存しておいてください。パターン4: skill(サンドボックス実行)
パターン5: plan(調査計画) — HITLあり
ステップ1: 状態確認
ステップ2: 確認操作(いずれか1つ)
質問に回答してドラフトを修正:regenerated_plan イベントが返り、再度確認待ちになります。
プランを確定:
plan_confirmed が返ります。
質問をスキップして確定:
ステップ3: レジューム
パターン6: report(レポート生成) — HITLあり
ステップ1: 状態確認
ステップ2: 確認操作
質問に回答:ステップ3: レジューム → セクション自動生成
パターン7: matrix(マトリクス生成) — HITLあり
ステップ1: 状態確認
ステップ2: 確認操作
質問に回答:ステップ3: レジューム → データ自動抽出
複合パターン: plan → report
1つの実行で複数の HITL が発生する場合があります。pendingReportDraft: true を検出 → confirm → 再レジューム、という流れを繰り返します。
状態判定早見表
skill の secret 登録待ち
skill が外部APIキーなどを必要とする場合、SSE にskill-ask-secret が流れ、GET /agent/run/{runId}/status の skillState.pendingSecretKeys に不足キーが表示されます。
/secret へ登録します。
/agent/run/stream/{runId} を呼び直す必要はありません。クライアントは同じSSEを読み続けるか、GET /agent/run/{runId}/status で pendingSecretKeys が空になることを確認します。
plan / report / matrix の回答API
pendingPlanDraft、pendingReportDraft、pendingMatrixDraft は、どれも「ドラフトに対する確認待ち」です。修正したい場合は /answer に回答を送り、返ってきた再生成ドラフトを確認します。問題なければ /confirm で確定し、最後に /agent/run/stream/{runId} で実行を再開します。
/answer のリクエストボディ
Plan / Report / Matrix の /answer は共通の形です。
例:
/confirm と /skip のリクエストボディ
確定系APIは runId だけを送ります。
plan/skip は「追加回答なしでプランを確定する」操作です。Report と Matrix には skip はありません。
APIユーザーの基本ループ
plan / report / matrix は「エージェント実行全体が一度止まる」ため、確認後に /agent/run/stream/{runId} でレジュームします。browse の質問は「ブラウザセッションへの入力待ち」なので、/browser/answer-question に回答し、同じ実行をそのまま続けます。