代理(服务端)¶
代理是响应用户请求生成 A2UI 消息的服务端程序。
实际的组件渲染由 渲染器 完成,在消息被 传输 到客户端之后。代理仅负责生成 A2UI 消息。
代理如何工作¶
- 接收用户消息
- 处理使用 LLM(Gemini、GPT、Claude 等)
- 生成 A2UI JSON 消息作为结构化输出
- 发送至客户端通过传输层
来自客户端的用户交互可以被视为新的用户输入。
示例代理¶
A2UI 仓库包含您可以学习的示例代理:
- 餐厅查找器
- 带表单的餐桌预订
- 使用 ADK 编写
- 联系人查找
- 带结果列表的搜索
- 使用 ADK 编写
- Rizzcharts
- A2UI 自定义组件演示
- 使用 ADK 编写
您将与 A2A 一起使用的不同类型的代理¶
1. 面向用户的代理(独立)¶
面向用户的代理是用户直接与之交互的代理。
2. 面向用户的代理作为远程代理的宿主¶
这是一种模式,其中面向用户的代理充当一个或多个远程代理的宿主。面向用户的代理将调用远程代理,远程代理将生成 A2UI 消息。这是 A2A 中的常见模式,客户端代理调用服务端代理。
- 面向用户的代理可以“透传”A2UI 消息而不改变它们
- 面向用户的代理可以在将 A2UI 消息发送到客户端之前对其进行更改
3. 远程代理¶
远程代理不直接属于面向用户的 UI 的一部分。相反,它被注册为远程代理,并且可以由面向用户的代理调用。这是 A2A 中的常见模式,客户端代理调用服务端代理。