4. 智能体执行器
4. 智能体执行器
在 A2A 中,智能体如何处理请求并生成响应/事件,核心都落在 智能体执行器(Agent Executor) 上。
在 A2A Python SDK 里,你通常需要实现 AgentExecutor 接口,主要包含两类能力:
execute(...):处理请求(单次响应与流式响应),从请求上下文读取用户输入,并通过事件队列输出结果/事件。cancel(...):处理任务取消请求(如果你的智能体支持取消)。
执行器的角色
执行器本质上是一个“桥梁”,连接:
- 协议层基础设施(请求处理器、HTTP 服务、TaskStore),以及
- 你的业务逻辑(推理、工具调用、产出内容)。
参考实现
如果你跟随官方示例,最简单的执行器可以在 a2a-samples 仓库的 HelloWorld 例子中找到:
- 执行器:
samples/python/agents/helloworld/agent_executor.py - 服务端入口:
samples/python/agents/helloworld/__main__.py - 客户端:
samples/python/agents/helloworld/test_client.py
阅读执行器时,重点关注:
- 它如何从 context 里拿到用户消息/parts
- 它如何构造智能体响应消息
- 它如何把响应写入事件队列(同时兼容非流式与流式)
下一章我们会把执行器接入 HTTP 服务并启动服务端。