Skip to main content

エージェント実行(ストリーミング)

Server-Sent Events (SSE) を使ってエージェントを実行し、応答をリアルタイムにストリーミングで受け取ります。エージェントがテキストを生成するたびに delta イベントが送信されます。
長時間の調査タスクや、リアルタイムで応答を表示したい UI アプリケーションに最適です。完了まで待つだけなら エージェント実行(非ストリーミング) も使えます。

新規実行

ヘッダー

リクエストボディ

パラメータ

Mention オブジェクト

レジューム(既存実行の再開)

HITL(Human-in-the-Loop)によるプラン確認やレポート確認の後に、実行を再開する場合に使用します。

リクエストボディ

パラメータ

SSE イベント形式

各イベントは data: {JSON}\n\n 形式で送信されます。

config イベント

ストリーム開始時に1回送信されます。

delta イベント

エージェントがテキストを生成するたびに送信されます。

step イベント

各実行ステップの完了時に送信されます。

browse イベント

browse ツールが選ばれた場合は、ブラウザ操作の進行状況が送信されます。
browse-ask-human を受け取ったら、browse-start.payload.websocketInfo.session_idsessionId として /browser/answer-question に回答します。plan/report/matrix と違い、回答後に /agent/run/stream/{runId} を呼ぶ必要はありません。

complete イベント

エージェント実行が完了した時に送信されます。ストリームの最後のイベントです。

error イベント

エラーが発生した時に送信されます。

追加の内部イベント

SSE ストリームはエージェントの内部処理をすべて 逐次配信します。上記の基本イベント (config / delta / step / browse-* / complete / error)に加えて、以下も流れます:
ストリームが切断された場合の回収: SSE で途中まで受信したイベント列は agentRun.process として DB に永続化されます。後から GET /turn/list を叩くと、turns[].agentRun.process から同じイベント列を取得できます。参照したソースは turns[].agentRun.publicSourceAgentRuns / privateSourceAgentRuns に入っています。

使用例

レジュームの使用例

エラーレスポンス

ストリーム開始前にエラーが発生した場合は、SSE ではなく通常の JSON レスポンスが返ります。