八月十二号在上海讲了四十分钟,题目是《多模态内容流水线的工程化》。散场之后被围在台边追问了大概二十分钟,有几个问题问得非常好,我在台上没答完整。这篇把讲稿的主干、加上台下那几个问题的完整回答,一并整理出来。
先放结论——这条线我重写过三次,每一次都是因为我发现自己抱着一个错觉。
错觉一:模型越强,系统越好
第一版我做的事情,本质上是「把最强的模型接进来」。哪个榜单第一我用哪个,接口调通,产出,收工。
跑了两个月,产出质量的方差大得离谱。同样的输入,今天很好,明天很差。我花了很久去调提示词,以为是自己写得不够好。
后来才想明白:单点最强,不等于链路最优。
一条内容流水线有七八个环节,每个环节的输出是下一个环节的输入。如果环节 A 的输出有 15% 的概率不符合环节 B 的输入约定,那不管 A 单独看有多强,整条链路都会在这个接缝处漏水。而链路上有六个接缝的时候,端到端成功率就是 0.85 的六次方——不到四成。
第二版我做的第一件事,不是换更强的模型,而是给每个接缝定义了严格的契约:输出必须满足什么结构、什么范围、什么格式,不满足就地拦下重来,不许流到下游。
端到端成功率从三成多涨到八成以上。模型一个都没换。
台下有人问:契约校验失败了就重跑,会不会很贵?
会,但比让废品流到下游便宜得多。一个不合格的中间产物流过六个环节,你要付六个环节的算力,最后还是废的。在最早的地方失败,是最省钱的失败。
错觉二:流程能自动化,判断也能自动化
第二版我上了一套自动质检:让模型给产出打分,低于阈值就重做。
一开始效果很好。直到有一次我随手抽查,发现一批打了 9.7 分的产出里,有几条存在很明显的缺陷——明显到任何一个人看一眼都能发现。
我去查为什么,发现了两件事:
第一,整体打分会漏掉局部问题。你把整张图、整条片子丢给模型说「打个分」,它给你的是一个整体印象分。那些面积小、位置暗、但一眼致命的缺陷,在整体印象里被平均掉了。
解法是切开来看:把产物按区域切成有重叠的几块,分别送审,让模型在每一块里自己找问题,而不是让它在整体里找。注意重叠——如果切得刚好把缺陷切在边界上,两边都不会认领。
第二,也是更重要的:不能指望模型「自觉」地降分。我在提示词里写了「如果发现结构性缺陷请大幅扣分」,它并不会真的照做,因为它同时还看到了画面里其他部分做得不错。
解法是把否决权写进代码,而不是写进提示词:让模型只输出分项的分数,总分由我自己算,并且加一条硬规则——某个关键分项低于 5 分,总分直接封顶,不管其他项多高。
这条经验后来救了我很多次,我把它总结成一句话:
凡是「希望模型自觉遵守」的规则,都应该改写成「代码强制执行」的规则。
提示词负责让它产出信息,代码负责根据信息做决策。把决策权交给提示词,等于把系统的下限交给运气。
错觉三:批量是效率的答案
第三版之前,我一直在追求「一次跑得更多」。攒够一批,一次性推上去,看着进度条走完很有成就感。
直到有一次,我花了整整一天,为一个功能预生成了五百多份内容资产。三天后需求变了,那五百份里真正被用上的,不到三十份。
更糟的是,后来我发现那批资产里有个系统性的小毛病,要修就得全量重跑一遍。批量的规模有多大,返工的代价就有多大。
第三版我把它整个反过来:只为「接下来真正会被用到的那个小窗口」生产。需要的时候生成,用完的沉淀下来复用,不预先囤货。
代价是单次响应慢一点,收益是:需求变了不心疼,发现问题时要修的只有已经用掉的那一小部分,而且我永远不会为「可能用得上」付账。
这一条其实不只适用于内容生产。任何「先囤后用」的地方,都值得问一句:囤的这批东西,有多大比例会在过期前被真正用掉?
台下被追问的三个问题
Q:契约校验用什么写?是不是又要上一层模型?
不要。绝大多数契约校验是纯代码能做的——字段在不在、范围对不对、格式合不合法、长度够不够。这一层用代码,快、便宜、确定。只有涉及「内容好不好」的判断才需要模型,而那是质检,不是契约校验。把这两层混在一起,是我见过最常见的过度设计。
Q:切开来送审,成本不是翻几倍吗?
会涨,但没有想象中多,因为切开之后每一块的分辨率可以降。而且这笔钱要和「漏检一个缺陷、下游做完全部工序才发现」的代价比。我算过一次账:切三块送审的成本,大约是一次漏检返工成本的十五分之一。
Q:如果没有那么大的量,这套东西是不是过度了?
是的,很可能过度了。我的判断线是:当你开始需要手动介入超过一天一次的时候,才值得上自动化。在那之前,人肉盯着是最经济的方案。工程化不是目的,它只是当规模超过人力承受范围时的必然产物。
讲稿之外
有一页我做了但没讲,因为时间不够,放在这儿。
那页上写的是:这条流水线到今天为止,仍然有三个环节我不敢让它全自动。
不是技术上做不到,是我判断这三个环节一旦出错,代价大到不值得赌。所以它们至今保留人工确认——一个按钮,我点了才往下走。
我在台上讲了四十分钟的自动化,但我想说的其实是:知道哪里不该自动化,比知道哪里可以自动化更难,也更重要。
散场后有位从深圳飞过来的朋友,说他们团队正卡在我说的第二个错觉上。我们在会场走廊站着聊了快一个小时,把他们的链路画在了一张餐巾纸上。那张纸他拍了照,我也拍了。
这大概是我每次跑这么远去讲一场的真正理由。




SERVICES.waline即生效。想说话可以先去 留言板,那边我每条都回。