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 服务并启动服务端。