Agent 之间的上下文传递是信息消亡的地方。搜索 agent 找到一个精确数字,带来源、日期和方法论。等它到达综合 agent 时,变成了”报告了显著增长”。每个结构化事实变成纯文本叙述,就是一次归因的丧失,一次验证变得不可能。
核心原则:结构化的 claim-source 映射
每个在 agent 间传递的发现都应该是结构化对象:
{
"claim": "AI adoption in healthcare grew 40% year-over-year",
"source_url": "https://...",
"document_name": "Healthcare AI Trends 2025",
"relevant_excerpt": "Our analysis shows a 40% increase...",
"publication_date": "2025-08-15",
"content_type": "financial_data",
"certainty": "well_established"
}
下游 agent 必须保留并增强这些映射,不是把它们摘要掉。
四种失败的格式
纯文本摘要:“Several studies show AI adoption is growing rapidly”——丢了哪些研究、什么数字、什么时候发表的。某系统:92% 的综合报告声明缺少可验证的归因,因为上下文传递把结构化数据压平成了叙述文本。
原始 HTML:导航元素、广告、脚本在无关内容上消耗上下文。相关数据可能只占 HTML 的 5%。
重新获取指令:“这些是 URL,自己去读。“浪费 API 调用,增加延迟,来源可能已经变了。
Markdown 格式报告:## auth.py\n- Line 42: SQL injection 看着人类可读,但下游 agent 尝试编程式地提取文件名和行号时有 15% 的解析错误率。Agent 间通信用结构化 JSON,人类调试用单独的日志。
叙述式输出 → 下游错误
一个探索 agent 用叙述文本段落返回发现。文档 agent 产出的文档有 35% 错误的文件路径和 25% 不存在的函数名——因为它得解读叙述式描述,而不是收到显式的结构化字段。
修复:把输出格式从叙述式改成结构化数据({"file": "auth.py", "function": "validate", "line": 42, "issue": "sql_injection"})。下游 agent 收到精确、可解析的事实,而不是需要解读的叙述文本。
位置元数据:无声的丢失
提取 agent 输出 {"value": "$1.2M", "field": "revenue", "page": 12, "section": "Financial Summary"}。验证 agent 只收到 {"revenue": "$1.2M"}。页面和章节元数据在传递时被剥离了。结果:68% 验证失败率——验证器找不到源值因为不知道去哪找。
修复:传递包含位置字段的完整结构化输出。Agent 间传递时不要剥离元数据。
矛盾数据:两个都保留,不要取平均
两个搜索 agent 找到了不同的 EV 市场份额:Agent A 返回 14%(IEA 2023),Agent B 返回 22%(BloombergNEF 2024)。综合 agent 收到两个但取了平均 18%——一个两个来源都没有的编造数字。
修复:带来源元数据的结构化上下文 + 综合指令在数据冲突时保留两个值并带归因。“IEA 在 2023 年报告了 14%;BloombergNEF 在 2024 年预测了 22%“——两个在各自的时间/方法论下都是正确的。
时间元数据防止虚假矛盾
失业率:来源 A 说 8%,来源 B 说 4%。综合 agent 标记了矛盾。调查后:来源 A 是 2020 年的(疫情),来源 B 是 2024 年的(恢复)。两个在各自时期都是准确的。25% 被标记的矛盾是时间差异,不是真正的冲突。
修复:要求所有子代理在结构化输出中包含发布/数据采集日期。综合 agent 就能区分趋势变化和矛盾。
来自并行 agent 的关联记录
三个并行 agent 返回:订单历史(8 个字段)、付款记录(12 个字段)、通信日志(完整对话)。解决 agent 需要关联:把一笔付款匹配到一个订单再匹配到一次投诉。
修复:用共享键(customer_id、order_id)标记输出。把聚合上下文结构化为关联记录——订单关联到它们的付款、关联到它们的通信,每部分只保留与解决相关的字段。
上游推理 ≠ 下游需要
上游 agent 产出 8,000 token 的输出,带完整推理链。三个 agent = 30,000 token 综合预算中的 24,000 token,只剩 6,000 给综合推理(需要 12,000)。
洞察:上游推理链对上游 agent 有价值,但对下游 agent 没有。综合 agent 需要的是结论(关键事实)、来源(引用)和重要性(相关度分数)——不是产出每个结论的 5,000 token 推理过程。
修复:把上游输出从冗长改为结构化的关键发现。8,000 → 3,000 token/agent。合计:9,000,剩 21,000 给综合。
内容类型和确定性元数据
用 content_type(financial_data、news、technical_assessment)和 certainty_level(well_established、contested、preliminary)标记输出。综合 agent 据此:
- 金融数据渲染为表格(便于比较)
- 新闻渲染为叙述文本(叙事流)
- 技术发现渲染为结构化列表(保留细节)
- 已确立的和有争议的发现放在报告的不同章节
某系统的审阅者投诉:60% 关于金融数据埋在段落里,25% 关于确定性水平不清楚,15% 关于技术结构丢失。内容类型元数据解决了全部三个。
一句话总结: Agent 间传递结构化的 claim-source 映射,带来源、时间、内容类型和确定性元数据——纯文本杀死归因(92% 丢失),叙述式导致错误(35% 路径错误),矛盾数据必须保留两个来源,不能取平均。