8 月初 arXiv 上那篇智能体工作流优化的(2608.02353,Koh 那拨人),讲了个叫 GRAFT 的方法。我第一眼看到标题,心里就犯嘀咕:又一个“全自动搜工作流”的马甲吧。点进去读,发现它反着来——它研究的是不重搜、不重优化整个工作流的时候,你还能干什么。
这一下就有意思了。因为它戳了一个大家默认的假设:工作流不行了?重搜、重优化、整个推倒。好像不从头来一遍就不叫优化。
第一版我画错了
坦白。第一版我把它画成这样:
整个工作流 ──► 逐格替换成更优版本 ──► 新工作流
一条线,每格都换新的,看起来挺合理。动手读细了才发现不对——GRAFT 压根不是逐格替换,它是移植:拿一块“区域级”的替代方案,在推理时现场评估两件事:这块 graft 上去之后,局部执行质量有没有变好;整个工作流还连不连得顺。两条都过,才接受这次替换。有一条不过,原样退回。
重来,画对的那版:
原工作流: A ──► B ──► C ──► D
│
▼ 换个候选 B'
评估两件事: ① B' 这块自己干得好不好(局部质量)
② A→B'→C 还转不转得动(全局一致性)
│
都过 ──► 接受;否则 ──► 退回 B
盯着这张图看,有个细节别漏:那个“执行质量信号”是无标签的。不需要你拿着标准答案打分,跑一遍、看执行得好不好就行。这条我觉得比“提了多少”重要——有标签评估是工作流优化里最贵的一环,砍掉它,意味着没人给你标答案的场景也能用。我盯着这行看了半天,越想越觉得这一条才是全文的腰。
打个比方:嫁接
果农想换一个品种,不会把整棵树拔了重种。他们在枝条上切口,接上新芽,活了就留着,死了锯掉。GRAFT 干的就是这个:主干不动,局部换枝,看长不长。
但这个比喻漏风,得标出来。果树嫁接是“活了就好”,一个维度;GRAFT 那个“全局一致性”检查在嫁接里没有对应物——新枝跟主干的输导组织得接得上,接不上,局部再好也白搭。还有,果树嫁接是一次性的,GRAFT 是推理时每次都可以试。所以这比方抓“别推倒重来”的大方向够用,抠细节就得回到那个两步接受条件上。
数字,和一条更扎眼的副发现
对照实验里,匹配优化器和执行器的前提下,对上最强基线 MaAS,平均提 3.85 个百分点。数学推理、代码生成、多跳问答、知识密集型问答都能用,而且全程无参数训练。
但说实话,全文最让我愣的不是这个,是另一条:只把执行器换成更强的模型,全局工作流压根不动,性能也能再往上走。
等等等等,先别急——乍一听像废话,“模型强结果当然好”嘛。可你细品:主流叙事一直是“工作流是为某个模型量身搜的,换模型就得重搜”。这条发现等于说,至少在他们测的这些任务上,工作流没那么强的模型绑定性,你升级执行器能白吃一部分红利。每次出新模型就焦虑要不要重搭 pipeline 的人,这是个挺实在的安慰。
冷水也得泼给自己:这是他们实验设置下的观察,我没独立验证过。你拿去当“换模型永远不用重优化”的定论,那是你的问题。
为什么我喜欢这篇的路数
无参数训练、无标签信号、推理时局部 graft——三条放一起,指向一种审美:优化不一定是件大事。不必重训、不必重搜、不必全量评估,在工作流跑的当口上动手术,动完看两条硬指标决定留不留。
之前画 agent 那个圈的时候我说过,转得好不好全看每一步的设计——这篇算是把其中“每一步”的可替换性做成了一个很轻的机制。轻到什么程度?轻到你今天的工作流明天就能试。这玩意儿真的太酷了。
照例留个自检:让你给同事讲“为什么 GRAFT 不需要重搜整个工作流”,那个两步接受条件你能不卡壳地画出来吗?卡在哪儿说一声,多半那地方我也还没画透。
下期候选:KV cache、执行质量信号到底怎么算的、还有“为什么多跳问答的工作流特别容易被换坏”。你挑。