Agent 越多,最后一个模型反而读得更糟
多 Agent 流水线往往给 worker 做预算却把最糟的原始输出全塞给最贵的综合模型。Reducer Engineering 想修的就是中间这道没人管的接口。worker 加到 40 个搜索覆盖面更大了。可负责收尾报告的模型反而可能读得更多、等得更久结论还更含糊。这事有点拧巴。原因并不神秘40 个 worker 带回的不是 40 条干净事实而是 40 份口径不一的小报告。它们会重复会缺字段会引用同一个源也会彼此打架。如果直接拼成一个长 prompt最强的那个模型得先干数据清洗再开始推理。你以为在扩容研究能力实际上可能只是扩容了 synthesis 节点的阅读负担。这就是原作者想用 Reducer Engineering 解的问题。我先把名词的气球扎破它不是某个机构发布的官方标准术语也不是多 Agent 的唯一范式。它更像一个很好记的教学标签在 worker 与 synthesis 模型之间加一层可测量、可回溯的归约器只让后者读高信号内容。重点不是“压短”而是“少读但随时能找回原证据”。/ / // / /原流水线哪里堵了原作者的结构很典型一个研究任务被分成 40 个查询交给 40 个 Claude Haiku worker 并行处理每个 worker 返回 claim、evidence、source 等字段再由 Claude Sonnet 统一写报告。设计初衷没问题。Haiku 负责广搜Sonnet 负责深想工种分得很清楚。问题出在两者的交接面原始输出被直接堆进 synthesis prompt。40 个 worker、归约器与综合模型的流水线作者称40 份输出里有 15 份近似重复另有 6 份格式不完整。这两个计数与他后面所说的“剩下 34 条独特发现”之间并没有被完整解释所以我不会帮它补齐这笔账。但这个故障类型是真实存在的数据量变大不等于有效证据变多。更麻烦的是重复内容可能共用同一篇网页。40 个 worker 都写了相似的句子不代表有 40 个独立来源。把“worker 票数”当成“事实置信度”比单纯浪费 token 更危险。重复不是确认同源转述更不是交叉验证。/ / /长窗口能装下不等于每个位置都同样好用有人会问现在模型窗口已经很长按这位作者自报的 41,200 token 又不一定超限直接塞有什么不行“能放进去”和“能稳定用好”是两件事。Liu 等人的《Lost in the Middle》在多文档问答和 key-value retrieval 等受控任务中观察到信息放在开头或结尾时表现较好放在长上下文中间时会明显变差。长上下文中的位置偏差中间信息可能更难利用先别把这张 U 型图当成物理定律。它不能证明所有模型、所有任务都会按同样的曲线掉分模型版本、任务类型和信息排序都会改变结果。它给的是一个警告不要默认关键证据被埋进文本墙后模型仍会等概率地读到它。我更愿意把上下文窗口当仓库容积把模型对其中信息的稳定利用当拣货能力。仓库大不代表货架不需要编号。有了这个区分Reducer 的工程价值就清楚了它不是给模型永久失忆而是把进入本轮推理的材料排好。/ / // / /一个合格的 Reducer至少做六件事原文把 Reducer 描述成“去重、丢弃坏项、分组”的纯代码层。方向对但生产版不能只有三个动词。我会拆成六件事[01]Validate检查 schema、必填字段、URL、时间戳、confidence 范围。丢弃不是一个无声的continue要留 drop reason。[02]Normalize统一日期、单位、大小写和可明确编码的别名。只要进入语义同义判断就不再是“写个字符串函数”那么简单。[03]Group / Dedupe合并可证明为同一事实的记录但保留所有成员 ID、来源簇和原文锚点。[04]Conflict把数值不一致、时间版本不一致、肯定与否定冲突显式传给 synthesis。别用高 confidence 直接把另一条盖掉。[05]Budget给最终 prompt 设 token 上限按任务相关性、来源质量、新颖性和冲突价值排序。冲突项未必要挤在队尾。[06]Observe记录输入、输出、版本、合并理由和 token ledger。否则今天少了 30,000 token明天你连少在哪都说不清。这里有个关键补丁provenance来源系谱。一条归约后的 finding至少应该能追回 source URL、evidence span、获取时间、worker/task ID、group ID、normalization version 和 conflict 状态。这不是数据工程的仪式感而是结论被质疑时你还能回答“哪句证据支持了它”。证据保留也不等于把全文复制三遍。最终模型可以只读一条紧凑的 canonical finding例如{ claim: ..., evidence_ref: [raw-07#p4, raw-19#p2], source_clusters: 2, conflict: open, member_ids: [w07-f3, w19-f1], merge_reason: same_entity_same_metric_same_date }原始证据放在外部 artifact 或 evidence store 里通过evidence_ref按需取回。这叫 reversible reduction可逆归约归约结果是索引不是火化场。短一点删掉 prompt 里的冗余不能删掉系统里的证据。/ / /这段示例代码离生产还差一道深坑原作者给的 Python 函数大致是这样key normalize(f.claim) grouped[key].append(f) best max(group, keylambda f: f.confidence) if len(group) 1: best.evidence f[confirmed by {len(group)-1} other worker(s)]一眼看去很干净。问题恰恰藏在最短的那行normalize()没有定义。它到底是去标点、小写化还是用 embedding 做语义相似度“2026 年收入为 10 亿”和“2025 年收入为 10 亿”文字很像但不是同一个事实。两者被错合并就是 false merge。压缩率越漂亮这类错误反而越难被看见。还有一个更直接的 bug这段展示代码并没有实现原文另处声称的冲突检测。它只挑 confidence 最高的一条然后只要同组记录多于一条就在 evidence 后标注confirmed by N other workers。假如 A 说“已发布”B 说“尚未发布”只要 normalize 把它们丢进同一组B 也会被计成对 A 的“确认”。这不是漏标冲突而是把反证误标成 confirmed。而且best.evidence ...会原地改写证据字符串其他 worker 的原文、URL 和身份一起消失。confidence 若没经过跨 worker 校准也不适合直接比大小。我喜欢这段代码提出的分层但不会把它原样复制进生产。“不用模型”也不该成为教条schema 校验、精确键去重适合确定性代码开放文本的语义合并和矛盾判断可能需要模型、规则和人工抽检混合完成。用哪一种看错判成本。/ / // / /那组很漂亮的数字只能当个案看原作者自报在他的 40 Haiku → Reducer → Sonnet 样本中-synthesis 输入从 41,200 token 降到 5,300 token-单次 synthesis 费用从 $1.38 到 $0.19他将其表述为成本 -86%-延迟从 51 秒到 11 秒他将其表述为 延迟 -78%-归约分组暴露了 23 个矛盾-50 次运行中因结论含混而升级人工的次数从 6 次变成 1 次。作者自报个案归约前后的 token、成本、延迟和人工升级对比这 5 组都是 作者自报的单一个案。没有公开日志、完整 prompt、模型版本、价格版本、数据集和可复现实验也没有统计显著性。所以 41,200→5,300、成本 -86%、延迟 -78%、23 个矛盾和人工升级 6→1都不能写成行业平均更不能当作你上线后的收益承诺。我看这组数字的方式很简单它足以说服人做一次自己的 A/B不足以替你省掉 A/B。输入 token 往往是重要杠杆但整笔账还有 cached input、output、reasoning、worker 调用、重试和队列等待。延迟也应分开看 TTFB、总时长和 p50/p95不能从一次 51→11 秒向外推。/ / /怎么验收才不会只剩一张好看的 token 图如果真要在现有流水线里加 Reducer我建议先做旁路运行shadow run。原 synthesis 继续出结果Reducer 另跑一份先不接管生产决策。验收表别只写“压缩率”。至少留下这几列-input / cached / output / retry token外加每次运行的价格与 tokenizer 版本-TTFB、总时长、p50 / p95并记录当时的并发数-evidence recall、引用可回查率、false merge 率、漏冲突率-合并、丢弃、降级和人工升级次数以及每次的 reason code-真正的任务质量比如事实准确率、引用支持率、报告验收通过率。然后专门构造几类反例同文本不同年份、同实体不同单位、同一 URL 的不同版本、肯定/否定句、数值只差一个小数点。这些样例专门打normalize和 conflict detector比随机看 10 份正常输出更有用。可观测性不是上了 dashboard 就算完。它得回答三个很笨的问题这条为什么被删那两条为什么被并最终结论到底从哪来三个问题都能从日志里答出来这层 Reducer 才算可维护。/ / // / /什么时候该用什么时候别用Reducer 适合的场景很具体多个 worker 并行搜索或抽取产出有基本 schema 的 finding再汇入一个昂贵的综合节点。深度研究、竞品监测、日志聚类、大批量文档抽取都可能吃到好处。但它不是必经之路。只有 2—3 个输出、内容本就很短时加层只会带来额外故障面。任务强依赖、后一步必须看前一步完整轨迹时并行 worker 本身就未必合适。代码修复、数学证明、法律原文中的限定语若一次合并会丢掉推导轨迹或语境就应该优先保真而不是追求高压缩。另外Reducer Engineering 不等于 LLMLingua 那类 token 级 prompt compression也不等于 RAG 摘要、KV/memory compression。它们删的对象、失真方式和验收办法都不一样。把这些全叫“Reducer”听着统一实际上会害你选错测试。我甚至觉得这个名字最有用的地方不在于发明了新架构而在于逼团队单独讨论一个平时被 prompt 盖住的问题收集层交给综合层的究竟是一堆文字还是一份有上限、有证据索引、有冲突状态的数据合同找到这条接口先别忙着换更强的模型。把 raw finding 留下把 merge 做成可逆把冲突亮出来再给收尾模型一份真正有预算的输入。这比“再加 10 个 worker”难一点。但也更像工程。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】