从 Chatbot 到 Agentic 系统:AI Agent Bake-off 的经验教训
Source: Dev.to
引言:挑战
在最近的 Google Cloud AI Agent Bake‑off 第 2 集 中,开发者面对一个在遗留系统现代化中极为常见的情景:将 Cymbal Bank 的基础事务聊天机器人转变为可信赖、主动的金融规划师。
目标不仅是编写更好的提示词,而是构建一个复杂的系统,使 AI 代理能够与现有基础设施协同工作(无需大刀阔斧的替换策略),提供安全、个性化的金融指导。
本文将剖析实现这些方案的架构模式和技术——尤其是 Agent‑to‑Agent (A2A) 协议 与 Agent Development Kit (ADK)——它们是本次成功的关键。
核心问题:“简单”聊天机器人天花板
大多数银行机器人目前都碰到硬性上限。它们可以查询余额或列出交易记录,但缺乏成为真正金融伙伴的上下文。Bake‑off 的挑战是打破这一天花板,构建一个能够进行编排的 AI 代理,利用强大的后端解决诸如 “帮我在预算内规划一次巴黎之旅” 之类的复杂用户目标。
秘密武器:Agent‑to‑Agent (A2A) 协议
获胜架构的关键是 Agent‑to‑Agent (A2A) 协议。A2A 是一种标准化的通信层,允许不同的 AI 代理安全协作。
对于构建复杂系统的开发者而言,A2A 解决了三大痛点:
- 互操作性: 无论底层技术栈(LangGraph、CrewAI、Semantic Kernel)如何,都能连接代理,构建复合系统。
- 分布式问题求解: 让编排器将子任务委派给领域专家,处理单一上下文窗口难以应付的复杂工作流。
- 封装与安全: 代理以不透明服务的形式交互,共享结构化的输入/输出,同时保持内部记忆、提示词和工具的私密性。
架构:多代理层级
最成功的团队摒弃了 “单体代理” 反模式。相反,他们构建了层级化的专用代理——可以把它想象成微服务架构,只不过服务的对象是认知任务。
编排器代理 充当接口层,理解用户意图并通过 A2A 将工作委派给专用的 子代理。
A2A 如何实现此流程
- 能力发现: 通过握手过程,编排器发现已注册的代理及其暴露的工具,而无需访问其源代码。
- 标准化传输: 在委派任务时,A2A 确保请求与响应结构化且安全。这在金融科技领域尤为关键;编排器不需要看到子代理使用的原始 SQL 查询,只需获取已消毒的结果。
实际架构演示
Team Adrian 与 Ayo 构建了一个 路由代理 用于分类用户意图。若用户询问抵押贷款,则路由到 大额购买代理;若询问咖啡,则路由到 日常消费代理。
让我们追踪一次用户请求:“我想计划一次旅行。能帮我设计预算吗?”
- 摄取: 编排器收到查询。
- 路由: 识别出 “大额购买” 意图并委派给本地 大额购买代理。
- 桥接: 通过 A2A,本地代理调用远程 Cymbal Bank 代理。
- 执行: 远程代理安全运行在银行后端,访问内部工具和数据库以获取金融历史。
- 返回: 数据经 A2A 返回给大额购买代理。
- 合成: 代理计算可负担性,可能调用 可视化代理 绘制净资产预测图表。
- 响应: 编排器向用户展示最终的多模态方案。
工具链:Agent Development Kit (ADK) 与 Gemini
团队使用 Google 的 Agent Development Kit(ADK)将代理视作软件制品——赋予结构、状态管理和部署流水线。这一套工具协同了 Gemini 2.5 Pro、用于推理的 Gemini Flash,以及用于视频生成的 Veo。
超越顺序:高级模式
线性(顺序)工作流适用于简单任务,而 ADK 支持更高级的模式,以提升智能度并降低延迟。
1. 并行代理
- 模式: 同时执行多个相互独立的代理并聚合结果。
- 用例: 加载 “金融健康” 仪表盘。与其依次获取 账户余额 → 投资表现 → 奖励积分,并行流一次性触发三个代理,显著降低首字节时间(TTFB)和感知延迟。
2. 循环代理(生成‑评审)
-
模式: 迭代循环——一个代理生成输出,另一个代理批评该输出,直至满足阈值。
-
用例: 复杂预算制定。
- 生成: 策略代理建议 “将贷款付款提高 $500”。
- 评审: 可行性代理检查现金流:“被拒——这会导致食品杂货预算出现赤字”。
- 改进: 策略代理迭代:“提高 $200 并取消 Netflix”。
- 最终化: 方案通过验证并展示给用户。
使用 BigQuery ML(BQML)进行落地
为降低幻觉——金融 AI 的克星——Team Adrian 与 Ayo 集成了 BigQuery ML。
优势
- 数据重力: 无需将敏感交易日志搬迁至外部推理端点。
- 准确性: 在用户真实历史数据上训练预测模型,确保 “净资产预测” 具备数学依据,而非仅是 LLM 的猜测。
与真实世界的连接
孤立的代理是玩具,连接服务的代理才是工具。
身份感知代理(Firebase)
个性化需要身份。通过集成 Firebase Authentication,团队创建了安全的会话上下文。该 user_id 被传递至 ADK 的状态管理中,供每个子代理使用,确保在调用 “获取交易记录” 时只检索该用户的数据。
社区落地(Reddit API)
BQML 处理量化数据,团队则使用 Reddit API 获取定性洞察。当规划巴黎之旅时,代理查询 r/travel 以获取真实社区推荐。这层 “社会证明” 为建议增添了更丰富的现实依据。


