Task 生命周期管理
Task 是 A2A 中异步工作的句柄:客户端提交后获得 taskId,通过轮询或流式事件跟踪直至终态。
1. 状态(语义)
| 状态 | 含义 |
|---|---|
| submitted | 已接收 |
| working | 执行中 |
| input-required | 需用户补充输入 |
| auth-required | 需完成授权 |
| completed | 成功结束 |
| failed | 失败 |
| canceled | 已取消 |
| rejected | 拒绝处理 |
终态不可再转 working(除非规范定义新 task)。
2. 典型流程
mermaid
stateDiagram-v2
[*] --> submitted
submitted --> working
working --> completed
working --> failed
working --> input_required
input_required --> working
working --> canceled3. contextId
同一会话上下文可关联多个 Task(多轮协作);客户端携带 contextId 续聊。
4. Artifact
任务产出(文件、结构化结果)通过 artifact 事件/字段交付,与对话 message 分离。
5. 人机协同
input-required:代理通过协议请求表单/确认,无需暴露内部 chain。
6. 总结
集成时 以 Task 为监控单位,UI 映射状态到进度条与输入框。