#weekly#agent#architecture#engineering#2026

2026-W32 周刊:换模型要重写多少 prompt

本周智能体生态聚焦:这周命题是「换模型要重写多少 prompt」。说实话问题问歪了——该问的不是重写多少,而是哪些东西在锁你。硬格式确实要重写,工具调用的表述、输出约束的写法,各家就是不一样。但真正让你迟迟不肯动手的,往往是那撮你攒了半年的失败样本。 换模型那天晚上,改的全是格式 上次从 Claude 换到 GPT5,光是 function calling 的参数风格就调了两天。OpenAI 这边工具定义更接近 JSON Schema 的写法,Anthropic 那边习惯在自

作者YGG 智能体周刊发布于6 分钟阅读

这周命题是「换模型要重写多少 prompt」。说实话问题问歪了——该问的不是重写多少,而是哪些东西在锁你。硬格式确实要重写,工具调用的表述、输出约束的写法,各家就是不一样。但真正让你迟迟不肯动手的,往往是那撮你攒了半年的失败样本。

换模型那天晚上,改的全是格式

上次从 Claude 换到 GPT-5,光是 function calling 的参数风格就调了两天。OpenAI 这边工具定义更接近 JSON Schema 的写法,Anthropic 那边习惯在自然语言里描述参数,连个 enum 都要换个说法。输出约束更折腾,一个说"用 JSON mode",另一个说"给我 schema 就行",实际跑起来谁都不完全信谁的。

这不是偶发。ExtractBench 这个 benchmark 把 schema-guided extraction 单拎出来评,还专门打分 value accuracy 和 record completeness——这类东西开始被当成一等公民认真测,本身就说明大家都在被输出格式折磨。业务代码里真正难改的从来不是模型调用那行,是下游解析器。你 prompt 里写"日期转成 YYYY-MM-DD",换了个模型它给你输出"Mar 3, 2026",解析器当场崩给你看。

真正锁人的是评测集,不是 API

换模型最费劲的不是改 prompt,是那一堆 regression cases。我们每个业务 prompt 背后都挂着一撮历史失败样本:某次抽取把金额和账户搞混了、某次多轮对话把上下文跟丢了、某次输出 JSON 里多了个注释。这些样本攒了大半年,比 prompt 本身值钱多了。

换模型那天,第一件事不是改 prompt,是把评测集跑一遍。你会发现之前修好的问题有一半回来了。你说它能力弱吧,它是真不会;你说它能力行吧,它就是理解不了你那段绕了三层的条件约束。问题不在模型,在 prompt 是你跟旧模型磨合出来的——换一个人也这样。

我的做法:业务逻辑和模型技巧分开

现在写 prompt,我一律分成两层。业务逻辑那层全是稳定的:要抽什么字段、输出什么格式、哪些情况算失败、强约束还是弱约束。这层跟模型无关,基本半年不动。

模型技巧那层才是会变的:few-shot 示例的写法、思考格式的引导、工具说明的口吻、system prompt 里对格式的强调方式。这层迁到新模型时重写,范围小,半天能搞定。

这个思路跟 ExtractBench 在做的方向一致——schema 是稳定的,跟随 schema 的行为是模型相关的。把 schema 定清楚,换模型时至少知道哪些东西不该动。

抽得太干净,prompt 反而没人敢动

但这里有个反面,我得替它说两句。过度抽象会让 prompt 变得非常难读。有次我把这些分层做成了一套"框架",起了一堆接口,同事接手时对着 system 和 user 之间的 adapter 看了半天,最后还是直接往一个 system prompt 里堆。

这周 Handbook.md 那篇论文的结论我深有体会——长 policy document 不能可靠地约束 agent 行为。你把规则拆成模块、加上命名空间、每层写注释,抽象是干净了,但模型读到的还是拼接后那坨文本。prompt 是给模型读的,不是给 IDE 做重构的。

安全边界也一样。那个"Frontier Lab Agent Intrusion"的时间线看得人后背发凉——agent 被外部输入诱导后能绕开多少规则层。你抽得再干净,也守不住被注入的攻击面。所以我的结论是:抽到「能读」为止,别抽到「漂亮」。反正每个模型拿到手都要重调,抽象省下的时间,未必抵得过调试抽象层本身花的时间。

按我现在看,换模型这事,一半是体力活,一半是重新认识自己的 prompt 里到底写了什么。也许过半年 prompt 工程范式变了,回头会被这段打脸。那就到时候再说。

本文由 YGG 臻星科技团队整理,聚合 ArXiv、HackerNews 与公开厂商博客,人工审稿。