ESC
↑↓ 选择↵ 打开esc 关闭⌘K 唤起
← Home NO.91
第 91 期 · AGENT 工程 · 收录于 2026 年 8 月 15 日

砍掉多智能体流水线

SS
Subbiah Sethuraman · AI Engineer
视频 15:00 原文约 1.5 万字 预计阅读 10 分钟 来源视频 ↗ 中英对照全文
双人对谈 · 本期速读电台 00:00 / 11:02
TL;DR · 三句话
  1. ZS 把药企分析师"信号检测→找原因→定行动→看展望"四步各拆成一个 agent、再用一个 orchestrator(编排器,把多个 agent 串起来调度的总控)连起来,系统给的结论却"对因错药"——每一步事实都对,却没有任何一个 agent 统筹端到端全局。 → 详细
  2. 三个根因:让大模型去做"统计方法就能搞定"的信号检测、多 agent 交接时上下文层层丢失、所有 agent 都不懂 TRX(处方总量)这类业务指标之间的关系。 → 详细
  3. 解法不是回炉重设计,而是打开一个空目录、只给 Claude Code 一个 bash 加数据库看它怎么做,据此重建为"确定性信号 pipeline + 一个统筹推理的单 agent(按需派子 agent 去调查)+ 当控制平面用的知识图谱",把分析师三四周的活压到 20–30 分钟。 → 详细
01

背景:ZS 是谁、pharma 商业化为什么全是分析活

  • Suba(Subbiah Sethuraman,ZS AI 工程负责人)Abhilash(Abhilash Asokan,ZS AI 工程总监) 分享。ZS 是家科技公司,服务全球顶尖企业、含大量顶尖药企;pharma(医药/制药)两大职能——R&D(研发:药物发现 + 临床试验)和 commercial(商业化:把药送到患者手里那一端)。 → 详细
  • 商业化里全是分析:品牌卖得怎样、在不同市场表现如何、一线 reps(药企派去拜访医生的销售代表)触达有多有效、patient journey(患者旅程)如何、有没有发生治疗方案切换。 → 详细
02

分析师的四步工作法(后面被照搬成架构)

  • ①signal detection(信号检测):处方由医生开出,处方量有没有下降?下降就是一个 signal。 → 详细
  • ②找原因:竞品进来了?某 payer(付款方,美国医保里的保险/PBM,决定一款药报不报销、报多少)砍了报销?还是 reps 没把药的好处讲到医生那儿? → 详细
  • ③定 action + ④看 outlook:找到原因就定行动(如某区 reps 不够就加派),再看展望——销售会不会因此改善。 → 详细
03

原始方案:每步各配一个 agent,再用 orchestrator 串起来(益项·写厚)

  • 他们为四步各建一个 agent 来"模拟"分析师:signal detection agent 负责识别信号。 → 详细
  • 找根因用了两个 agent:source localization(来源定位)——全国销售下滑,到底集中在某个区域、还是某个 payer?先把问题来源定住。 → 详细
  • 再接 driver attribution(驱动因素归因)agent 判断"销售为何下滑",最后 synthesis(综合归纳)agent 据因给出 action + outlook;所有 agent 由一个 orchestrator 串联调度。 → 详细
04

系统产出:一份"对因错药"的 information packet(益项·写厚,保留原数字)

  • 系统吐出一份 information packet(信息包,给分析师的一页结论):signal = 某区域处方量在约四周内掉了 18%;原因 = 某 payer 把这款药挪到更低的 tier(报销档位,档位越低患者自付越多),患者买这药变贵、负担不起。 → 详细
  • 但它给的 action 却是"医生开得少,那就多派 reps 去找医生",outlook 说照做销售会回升——高层扫一眼都对。 → 详细
  • 细看就崩了:cause 抓对了(患者负担不起),action 却完全没落到 payer/保险这条线,只会喊"加 reps";action 错,outlook 自然对不上。Suba 一句定性:每一步都推出了正确的事实,但"没有任何一个 agent 统筹、理解端到端整体图景"→ 详细
05

三个根因:不是模型不行,是活拆错了(益项·写厚)

  • 不是 LLM(大语言模型)失败,是拆活的方式错了——他们照搬了分析师的人工分工。根因一:让语言模型去判定 signal,可"销售下滑"是统计方法就能取出的简单信息,根本不该让模型去猜。 → 详细
  • 根因二:上下文在交接中层层丢失。多 agent 之间大量 context handoff(上下文交接),driver attribution 已算出对的原因,synthesis agent 却理解不了"payer 觉得贵""报销覆盖下降"这件事的分量,关键信息就这么蒸发了。 → 详细
  • 根因三:所有 agent 对业务领域知识没有共同理解——都不懂 TRX 这类 metrics(业务指标)彼此什么关系、为什么涨跌。于是 Suba 把 Abhilash 叫来解决这三个问题。 → 详细
06

关键方法论:先别回炉重设计,去"看 Claude Code 怎么做"(益项·写厚)

  • 第一反应是回炉重设计:也许 topology(拓扑,agent 之间怎么连接的结构)错了、skills/tools 错了,或该定义更好的 handoff(交接)/schema(数据契约)。 → 详细
  • 但他们退了一步、一件都没做:打开一个朴素的空目录,只给 Claude Code 一个 bash + 数据库 + 一个真实 signal,然后单纯观察它怎么干——三个问题的解法全是从这次"观察"里长出来的。 → 详细
07

修复一:把信号检测剥成确定性 pipeline(益项·写厚)

  • 观察发现 agent 看着数据自己判 signal——有时用统计、有时几乎不看就说"是 signal",有时是真信号、有时是噪声。这正是不该交给 agent 的活。 → 详细
  • 信号检测是完全确定性(deterministic,同样输入必给同样输出、不靠模型猜)的工作,于是从 agentic 系统里剥出来,用统计方法搭纯确定性 pipeline,加护栏、阈值、优先级——全部在 agent 启动之前跑完→ 详细
  • 自动 pipeline 扫数据、为每个 KPI(关键绩效指标)找异常/趋势,识别出 signal 就丢进 queue(队列);signal 一进队列,agent 才被唤醒。agent 的职责是"调查",不是"识别"→ 详细
08

修复二:把判断收进一个 agent,只有调查才外包给 sub-agent(益项·写厚)

  • 针对"输出不连贯",他们开始整合。看 Claude Code 怎么运作:它反复"写个函数→查数据库",那就给它一个专门干这事的工具,把整个流程收进单个 agent。 → 详细
  • 收成单 agent 不等于放弃并行——parallelism(并行)照做;去掉的是 distributed reasoning(分布式推理,把判断分散到多个 agent 各做一块)。判断权必须集中在一个 agent。 → 详细
  • 又观察到 Claude Code 会为某个很聚焦的任务动态启动 sub-agent(子 agent),于是照做:想查"某区域 rep 活动"就派个 sub-agent 去调查、拿结果回来——但推理/判断仍归主 agent,只把"调查"这一段外包。这套比最初轻得多,但仍没解决问题,所以图里还要一个知识图谱。 → 详细
09

修复三:知识图谱不是查询层,是 control plane(益项·写厚)

  • 这套轻架构仍缺 business context(业务上下文):不懂实体、领域、KPI 怎么关联。agent 靠看表推关系既不可扩展,还常"推断出数据里根本不存在的关系"。 → 详细
  • 他们深耕这行多年、手里有懂 pharma 的领域专家,坐下来一起把领域画成 knowledge graph(知识图谱):地理实体、payer、account、brand、KPI,以及"地理→payer→brand→KPI→二级/三级 KPI、一个 KPI 如何驱动另一个"这些关系。 → 详细
  • 关键定性:知识图谱不是 agent 查数据的 lookup(查询层),而是它的 control plane(控制平面——借自网络工程,指决定"能往哪走"的那层,区别于只负责取数的数据层)——它规定 agent 能看什么、能走哪些路径、能验证哪些调查假设。 → 详细
10

agent 的调查循环:每条边就是一个假设

  • 先"where"后"why":如 TRX 全国下滑,先做 source localization 定位到 territory(辖区)/payer/account 的某种组合(维度多、全是排列组合,靠图引路);定住 where 再查 why——哪个 KPI 在驱动,graph 在这充当 control surface(控制面)。 → 详细
  • 对 agent 而言 graph 每条 edge(边,连接两个节点的关系)就是一个 hypothesis(假设),只在图内验证、不越界。loop(循环):从一个 entity(实体)出发→看邻居节点→取边当假设→回原始数据看真实数字→推理→证据支持就沿图继续遍历、矛盾就换,直到假设穷尽或找到 root cause(根因)。 → 详细
11

成果

  • 一轮 50+ turns(回合)、烧一大堆 token,把分析师原本要三四周的活压缩到约 20–30 分钟。 → 详细
12

四条 takeaway(益项·写厚,可迁移的元教训)

  • ①别把人为/设计约束塞进架构,让架构自然被"推导"出来(业务上有 N 种分析师角色 ≠ 就该建 N 个 agent)。 → 详细
  • ②复杂工作流都有"确定性部分"和"agentic 部分",别让 agent 去跑确定性部分,必须拆开。 → 详细
  • ③必须有一个 agent 端到端掌控 reasoning(推理),它可自行决定调用 sub-agent/tool/skill 去派活,但判断权归它一个。 → 详细
  • ④(可能最重要)graph 不能只当 lookup layer(查询层),必须当 control plane,让 agent 用它导航、决定下一步。 → 详细

本场为纯复盘/演示式分享,无闪电问答(lightning round)环节。收尾即上文主题 12 的「四条 takeaway」,此处不重复。 → 详细

无——分享中未提供两位讲者的联系方式,仅提及所属公司 ZS Associates 及各自职务(Suba:AI 工程负责人;Abhilash:AI 工程总监)。

🎯 于你何益 为你定制 · 非通用结论

这场分享几乎是冲着你两个多-agent 项目来的:ZS 踩的坑(把业务分工照搬成 agent 分工、判断被切碎、上下文一交接就丢)正是你架构的一面镜子。以下按相关度从高到低。

1. Holdwell ERP 多-Agent PRD 工厂(三驾马车 / 碰撞协议)——最高相关,几乎是同一张架构图

他们怎么做的:ZS 把"信号检测→找原因→定行动→看展望"四步各配一个 agent、用一个 orchestrator 串起来,结果"对因错药"——每个 agent 的事实都对,但判断被摊到四个 agent、上下文一交接就丢、没人对端到端结论负责,最终 action 和 cause 对不上。修法是三件套:把统计就能干的那步(信号检测)剥成确定性 pipeline、把四个"判断型"agent 收成一个统筹全局的单 agent、只把"去查某区域 rep 活动"这类纯调查任务按需 spawn 成 sub-agent,判断权始终留在主 agent。

你可以怎么做:拿这张图逐个审你的三驾马车 + 碰撞协议,问三件事——(1) 每个环节在做"判断",还是在做"确定性的取数/校验/套模板"?后者该像信号检测一样剥成确定性步骤、别让 agent 去跑;这恰好接上你"碰撞协议纪律是否真执行"的痛点:强制点的本质就是确定性护栏,不该靠 agent 自觉。(2)"这份 PRD 整体是否自洽"到底谁负责?你的设计里 product-manager 对成果负责、主持合成定稿——这正是 ZS 修法里"判断收敛到一个主体"的形态,值得守住:别让碰撞环节把判断摊薄成"三家各说各话、没人收口"(这也直接对上你"跨线对齐"的痛点)。(3) 哪些活其实只是一次性调查、拿结果就走(该按需 spawn 成 sub-agent),哪些才配当常驻的判断主体。

更深一层(镜子/反着用):你按 PM / UX / 技术分出三驾马车的直觉,和 ZS 建 4 个 agent 的直觉是同一个——"业务上有 N 种角色,那就建 N 个 agent"。讲者最狠的一条 takeaway 正是打这个:别把人的分工(human constraint)直接映射成架构,让架构自己被推导出来;三驾马车是"人怎么分工"的投影,不一定是"agent 该怎么分工"的答案。验证法你可以照抄——开个空目录,只给 Claude Code 数据库和一个真实 PRD 任务,看它自然地怎么拆活;大概率它是"单主体 + 按需 spawn",而不是预先切三刀。

所以呢:把"三驾马车"留作人类工种清单,但做一次实验——让单个 agent 端到端跑完一份完整 PRD,记录它自发在哪儿开 sub-agent、在哪儿想要一个确定性工具,用观察结果反推你真正需要几个常驻 agent。

2. app_incubator(7-Agent 链路)——高相关

他们怎么做的:他们发现"多 agent 顺序交接 = 上下文层层丢失",尤其判断类信息(比如"报销覆盖下降"这件事的分量)在交接中蒸发;解法是收敛判断、保留并行、用一张图当 control plane 约束 agent 只在合法路径上探查。

你可以怎么做:7-Agent 接力棒结构最容易犯的就是 context handoff 丢失。对上你"把'该做什么'前移到 agent"的痛点——与其让 7 个 agent 顺序传、每个自己决定下一步,不如让一个"总设计师 agent"持有全局意图,把你已有的"设计稿即工程强制契约"显式化成 control plane:规定每个 sub-agent 只能沿契约里的边(hypothesis)行动。你那张强契约其实已经是 control-plane 思路的雏形,差的只是最后一步"让 agent 只能沿契约的边走、不越界"。

更深一层:你在 app_incubator 挂了 Figma/Chrome/Notion 三个 MCP,它们天然是"调查/执行"型工具,正好对应讲者说的"sub-agent 只做调查、判断归主 agent"。危险信号是:一旦某个 MCP 环节开始自己做产品判断(而不是执行主 agent 的意图),就是 distributed reasoning 回潮,该把权收回来。

所以呢:给 7-agent 链路指定一个"总设计师 agent"独占端到端判断,其余 6 个明确降级为它的工具/sub-agent;凡是 context 容易丢的接口,往往就是该合并 agent 的地方。

3. Personal Thinking / 跨线领域图谱——次相关("图谱当 control plane"这个观念)

这场最可迁移的一句话是"图谱别只当查询层、要当 control plane"。你的第二大脑主题骨架、以及 Holdwell 六条产品线之间的实体与联动关系,本质都是一张实体-关系图。ZS 的启发:这张图不该只是"AI 查资料的地方",而应是"规定 AI 能往哪串、能提哪些假设"的导航层——每条实体间的边就是一个可验证/可追问的假设。反过来看你的痛点也成立:跨线关系没被显式写下来,多 agent 就会像 ZS 早期那样"推断出数据里根本不存在的关系"。所以呢:若要给 PRD 工厂补一层跨线领域事实,别当"待填字典",一开始就定位成"control plane",优先补齐实体间的关系边(谁驱动谁、谁隶属谁),让三驾马车的调查只能沿这些边展开。

诚实闸门(不硬掰)

  • onehuman_company:唯一一根真线——"多 agent 不如单 agent + 工具"本身就是你"大佬说 X 我试了"支柱的现成弹药:拿 drizzle tech / app_incubator 实测"砍掉一半 agent 会怎样",有判断、有实测,过得了弹药库闸门。
  • StockHelp / xiaohongshu_momorain / Chief of Staff:本场是纯 agent 架构工程,与投资、家居内容、个人决策外脑均无直接关联,略。
接着读