status フィールドが含まれ、現在の状態と次に取るべき行動を示します。これはすべての AdCP 処理の基盤です。
ステータス値
AdCP は A2A プロトコルの TaskState enum と同じステータス値を使用します:| Status | Meaning | Your Action |
|---|---|---|
submitted | Task queued for execution | Show “queued” indicator, wait for updates |
working | Agent actively processing | Show progress, poll frequently for updates |
input-required | Needs information from you | Read message field, prompt user, send follow-up |
completed | Successfully finished | Process data, show success message |
canceled | User/system canceled task | Show cancellation notice, clean up |
failed | Error occurred | Show error from message, handle gracefully |
rejected | Agent rejected the request | Show rejection reason, don’t retry |
auth-required | Authentication needed | Prompt for auth, retry with credentials |
unknown | Indeterminate state | Log for debugging, may need manual intervention |
レスポンス構造
AdCP レスポンスはタスク固有フィールドがトップレベルにある フラット構造 です:ステータス処理
基本パターン
確認フロー
ステータスがinput-required のとき、必要な情報が message で示されます:
承認フロー
人による承認はinput-required の特殊ケースです:
長時間オペレーション
非同期オペレーションはworking または submitted で開始し、進捗を返します:
- MCP: context_id を使ってポーリング
- A2A: SSE ストリームでリアルタイム更新を購読
ステータスの流れ
Tasks progress through predictable states:submitted: 実行待ち。Webhook を設定するかポーリングworking: 処理中。高頻度でポーリングinput-required: ユーザー入力が必要。会話を継続completed: 成功。結果を処理failed: エラー。適切に処理
ポーリングパターン
ステータス別ポーリング間隔
ステータスによってポーリング頻度を変えます:タイムアウト処理
オペレーション種別に応じて妥当なタイムアウトを設定します:タスク再同期
tasks/list で失われた状態を復元します:
ベストプラクティス
- まず status を確認 - 成功前提にしない
- すべてのステータスを処理 - 未知の状態も default でカバー
- context_id を保持 - 会話継続に必須
- task_id で追跡 - 特に長時間オペレーションで重要
- タイムアウトを実装 - 無限に待たない
- ステータス遷移をログ - デバッグと監査に有用
次のステップ
- Async Operations: 異なるオペレーション種別の扱いは Async Operations
- Webhooks: プッシュ通知パターンは Webhooks
- Error Handling: エラー分類と復旧は Error Handling