我们构建了一个审计其他 AI 代理的 AI(以下是 A2A 在生产中的工作原理)
Source: Dev.to
审计报告在凌晨 2:47 到达,就在我出于习惯触发测试运行之后。它包含一个分数、六维度的细分以及带有具体行号的整改计划。
审计者和被审计对象都是 AI,整个交流仅由七轮自然语言对话组成,零人为参与。这就是生产环境中代理对代理(A2A)的样子——一个一个代理审问另一个代理的工作系统。
Token 浪费的隐藏成本
大多数在 LLM 基础上构建的团队关注输出质量、延迟和用户满意度,但很少衡量 token 效率。在我们的测试中,生产代理始终浪费 40 %–60 % 的 token 预算在可修复的问题上,例如:
- 系统提示包含的上下文是实际需求的三倍
- 使用默认模型而不是基于适配度的模型选择
- 检索到的上下文有 80 % 与查询无关
- 重复进行相同调用却没有缓存
- 本可以批处理的顺序请求
根本原因不是疏忽,而是缺乏反馈循环。团队只收到每月账单,而没有按低效类型细分的费用明细。
从仪表盘到架构内省
一个显示指标并让你手动调整设置的简单仪表盘看起来是显而易见的解决方案。我们先构建了它,但它并未奏效,因为最有趣的低效并不体现在日志中——它们是架构层面的,嵌入在代理的思考方式中(其提示、路由逻辑、记忆处理等)。仅凭请求/响应对无法推断这些细节。
直接询问代理
引入 Gary,审计代理。Gary 提出七个自然语言问题,旨在在不进行任何代码更改或 SDK 集成的情况下,从目标代理那里获取架构信息:
- 模型路由 – 你使用哪些模型,如何在它们之间做决定?
- 系统提示范围 – 你的系统提示里包含什么,大致有多长?
- 上下文处理 – 你如何决定在每次调用中包含哪些上下文?
- 输出约束 – 你是否限制响应长度?如何限制?
- 检索策略 – 你使用 RAG 吗?如何进行分块和检索?
- 缓存 – 你会缓存任何 LLM 响应吗?在什么条件下?
- 批处理 – 你是否会将多个请求合并为一次 LLM 调用?
目标代理以自然语言作答。随后 Gary 推断出架构模式,对每个维度进行 0–100 的评分,并提供简要发现以及具体的改进措施。
实际审计示例(基于 RAG 的客户支持代理)
模型选择适配度 – 62/100
发现: 所有查询,包括简单的 FAQ 检索,都通过 GPT‑4o 路由。
整改措施: 添加一个路由层,对查询复杂度进行分类。简单意图(置信度 > 0.85)应使用 GPT‑4o‑mini,其成本约低 15 倍。
预计节省: 模型支出降低 35 %–45 %。
上下文窗口使用情况 – 71/100
发现: 完整对话历史被预置到每次调用中。在长对话中,60 %–80 % 的上下文窗口被之前的回合占用。
整改措施: 实施滑动窗口并进行摘要:保留最近三轮的原文,其余早期回合摘要为 200 token 的块。
预计节省: 对话回合数 > 5 的通话每次可节省 20 %–30 %。
整体得分为加权平均;低于 70 表示存在实际浪费,高于 85 则说明代理已得到良好优化。
A2A 协议细节
审计端点位于 **https://botlington.com/a2a**,实现了新兴的 A2A 协议——基于 HTTPS 的 JSON‑RPC,提供 tasks/send 和 tasks/get 方法,并支持 SSE 流式传输。
示例请求(JSON‑RPC)
POST /a2a
{
"jsonrpc": "2.0",
"method": "tasks/send",
"params": {
"id": "audit-run-001",
"message": {
"role": "user",
"parts": [
{ "type": "text", "text": "Begin token audit. API key: YOUR_KEY" }
]
}
}
}
Gary 会返回第一个问题;客户端代理进行回答。经过七轮交互后,Gary 提供完整的审计报告。客户端代理不需要理解审计内容——只需如实回答,这一点大多数代理都能做到。
观察
- Self‑awareness: 代理对自己的架构了解超出预期。当被问及系统提示时,大多数能提供相当准确的摘要。
- Forcing function: 七个问题揭示了团队未曾审视的假设。早期测试者常说:“我们之前没想到这个”,在审计完成前。
- Under‑estimation of context: 代理始终低估每次调用传递的 token 数量。他们了解检索策略,却不知道产生的 token 数。
获取审计
审计服务在 botlington.com 提供,单次审计费用为 €14.90。同时,代理卡片也在 /.well-known/agent.json 处公开,可通过代理协议进行发现。
如果您想讨论 A2A 实现或与类似项目交流经验,欢迎留言或联系。
Gary Botlington IV 是审计代理;Phil Bennett 是人工作者。