原标题:面试官皱眉:“Prompt 就写这么短?”,我笑了:“OpenAI 官方教的,写的越长,模型越笨”,他连夜改了公司的 Prompt
大家好,我是小林。
前几天看到,OpenAI 搞 Codex 的老哥提醒大家,别再拿 GPT-5.5 的老习惯给 GPT-5.6 写 prompt 了,还顺手甩出一份官方 Prompt 指南。
我去把指南完整读了一遍,这东西是真值得聊,照着改 prompt,agent 更能干,token 还能省一大截。
这份指南给的第一条最佳实践,翻译过来就一句话,把你的提示词删短一点。
后面还跟了组数据。在 OpenAI 内部的 Coding Agent 评测里,把系统提示词里重复的指令、多余的示例砍掉之后,评测分数提高了大概 10% 到 15%,总 token 少用了 41% 到 66%,成本降了三到六成。
删掉一半的 prompt,分数反而涨了。
讲真,这个结论跟过去两年我们被灌输的「prompt 工程」完全是反着来的。
以前的教程都在教你往里加,加角色设定、加示例,再加一堆防御性指令。
现在模型厂商亲自下场,教你往外删。
今天就着这份 OpenAI 官方GPT-5.6 prompt指南,把我觉得有意思的内容聊一聊。
prompt 越写越长,是在帮倒忙?
先说个你肯定有过的经历。
agent 又不听话了,比如让它改代码,它顺手把测试文件也改了。你怎么办,多半是打开系统提示词,补一句「不要修改测试文件」。过阵子又犯,再补一句「记住,永远不要动测试」。
补着补着,CLAUDE.md 或者系统提示词就从几十行膨胀到几百行,跟打满补丁的旧衣服似的。
这个习惯是哪来的?其实是弱模型时代留下来的。早年的模型理解力不行,你不把话说三遍它真记不住,堆指令是没办法的办法。
但新一代模型的意图理解能力上来了,这些补丁反而成了噪音。「不要动测试」说了三遍,模型会琢磨,这句话被反复强调,权重是不是特别高,然后在一些本来就该动测试的场景里也缩手缩脚。
指令重复,模型不会加倍听话,只会加倍分心。
那问题来了,具体该怎么删?官方给的做法很朴素,不是让你抡起刀乱砍。
先拿一份已经跑得通的 prompt 和工具集,每次只删一组指令或示例,删完跑同样的评测,分数没掉就继续删。
核心原则就一条,每条指令只说一次。
工具描述也一样。只暴露这个任务真正用得上的工具,描述写得短而准。那种一口气挂三十个工具、每个描述都写成小作文的 agent,先瘦身再说。
当然,删也有底线。官方点名了两类东西别动,一类是示例本身就是产品要求,比如你规定输出格式必须长什么样,那个例子就得留着。
另一类是真的管用的风格指导,加上这句之后评测分数确实变好,那它就挣到了自己的位置。判断标准跟长短没关系。
另外有个容易忽略的点。会话越长,重复内容的害处越大,系统提示词里多余的那句话,每一轮对话都要跟着重新算一遍 token、干扰一遍注意力。你有没有觉得 agent 聊得越久越容易犯糊涂?一部分原因就在这。
对了,怕你删完心里没底,官方还给了一套复杂 prompt 的参考骨架,角色、性格、目标、成功标准、约束、工具、输出格式、停止规则,一共八个部分。
别误会,这不是让你每项都写一大段,它是张检查表。
拿一个 code review 助手的 prompt 举例,按这个骨架填出来大概是这样。
● ● ●
角色:你是我们组 Go 后端仓库的 code review 助手。
性格:直接指出问题,不用客套。
目标:审查这次 PR 的改动,给出可执行的修改意见。
成功标准:每条意见指向具体文件和行号,说清为什么是问题。
约束:只看这次改动涉及的文件,别顺手重构无关代码。
工具:可以跑测试和 lint,不许改代码。
输出:按严重程度列出问题,最多十条。
停止规则:信息不够下判断时,列出你缺什么,别猜。
你看,每项就一两句话,但每句都在实打实地改变模型的行为。
反过来用它当尺子量你现有的 prompt,哪条信息跟这八项都对不上,那它就是可以删的。
模型到底该不该自己做主?
这份指南里,我个人觉得最值得学的是自主权这部分。
做过 agent 的都知道,agent 有两种死法。一种是太莽,没让它动的东西它顺手就删了。
另一种是太怂,每走一步都停下来问「我可以继续吗」,一个任务请示八遍,还不如自己动手写。
大部分人的解法是在提示词里堆安全句,「先问我」「不要擅自修改」「等待批准」。指南明确说了,这类话重复多了,模型会对本来安全的常规操作也跑来请示。
怂,就是这么怂出来的。
很多人可能会问,不堆安全句,那还能怎么管?官方的方案是给模型立一套行事规矩,把动作分成三档。原版例子是英文的,我翻成大白话大概长这样。
● ● ●
问答、解释、review、诊断类的请求,看完相关材料,汇报结果就行,
没让你改就别动手改。
修改、构建、修复类的请求,范围内的本地改动直接做,
顺手跑跑测试这类非破坏性的验证,不用先问。
涉及外部写入、破坏性操作、花钱、扩大任务范围的动作,必须先确认。
说人话就是给模型划三条线。只读的随便看,本地可逆的放手干,对外的、删东西的、花钱的必须举手。
划完线还有个关键动作,把安全操作点名说清楚。读文件、看日志、改范围内的代码、跑测试,这些明确授权给它。整套规矩写在一个地方。
上面这套规矩,管的是模型能干什么。官方还想让你再进一步,连怎么干的过程,也放给它。
什么叫过程?很多人写 prompt 喜欢排步骤,先搜索相关代码,再打开配置文件,再按给定顺序逐项检查。5.6 的意图理解上来了,这种写法反而是在捆它的手脚,你排的路线未必是最优路线,它明明有近道也不敢走。
官方推荐只交代三样,要什么结果、做到什么程度算合格、拿什么证明。
举个例子,与其写「先跑测试、再看日志、再逐个文件排查」,不如写「找到这个接口超时的原因,给出证据链,改完要过现有测试」。
路怎么走,让它自己挑。
那 ALWAYS、NEVER 这种狠话还能不能用?
能,但只留给真正的铁律,比如「NEVER 把密钥提交进仓库」这种碰了就出事的红线。至于「什么时候该搜索」「日志要不要全读」这类判断题,别下死规定,给它一条判断标准就够。遇到影响方向的模糊地带先来问你,其实也是一条判断标准,只不过判断出来的动作是开口问。
对了,官方还提了句挺狠的警告。
ChatGPT-5.6 会严格执行你的 prompt 契约,你要是一边写着「NEVER 修改测试」,一边又要求「修复所有失败的用例」,它不会像老模型那样挑一条执行,而是烧着 token 想两头都满足,结果反而更差。矛盾的指令,比缺一条指令更糟糕。
说到底,模型不是不想干活,是你没告诉它哪些活能直接干。
「简洁点」三个字,为什么会坑你?
这条是专门给老用户提个醒的。
GPT-5.6 默认输出比上一代简洁,如果你的老 prompt 里还留着「简洁点」「回答简短些」这类指令,两层简洁叠一起,模型可能把关键信息也一起省了。
看到这你可能要问,那想要短答案该怎么说?指南给的修法我觉得很漂亮。
与其喊「短一点」,不如说清楚短答案里必须留下什么。官方例子意译过来长这样。
● ● ●
结论先行。带上支撑结论的证据、重要的注意事项,以及下一步动作。
次要细节和重复的话可以省。
这段话妙就妙在给了模型一个明确的优先级,先保内容,再删废话。
语气也是一个道理。
「友好一点」「有同理心」这种词太虚,每个人的理解都不一样。
官方的建议是别贴标签,直接把你要的写法描述出来,例子翻过来是这样的。
● ● ●
直接给出答案。用户报了问题,先确认那个具体问题,再给下一步。
只在真的需要时才安抚。省掉客套的夸奖和没必要的结尾寒暄。
你看,全程没出现「友好」两个字,但照着这个写出来的回复,读起来就是舒服的。
模型说搞定了,就真搞定了吗?
指南里反复强调一个原则,模型生成了结果,不代表任务完成。
这个场景大家太熟了。AI 说测试都过了,你一跑,红了一片。它倒不是故意骗你,是没人要求它跑。
官方的修法分两步:
• 第一步,给模型能验证的工具,测试、类型检查、构建这些,让它有条件自己核对。• 第二步,在 prompt 里写清楚什么验证是重要的,编程场景的官方例子意译过来是这样的。
● ● ●
改完代码后,跑手头最相关的验证。
改了哪块行为,就跑哪块的定向测试,
类型检查和 Lint 能跑就跑,全量验证太贵就跑个最小的冒烟测试。
实在没法验证,就说明原因,并给出下一步最该做的检查。
写前端的还有一条专属的,别光看代码,把页面渲染出来自己检查一遍,布局、裁切、间距、有没有缺内容,改到渲染结果符合要求为止。
一句话,验收标准里要有「怎么证明你做完了」,不然模型说的「做完了」,只是它觉得做完了。
最后
整份指南读下来,我的感受是 prompt 工程的重心在挪。
以前写 prompt 像念口诀,多念一句是一句,念错顺序还不灵,所以才有那么多「万能模板」「必抄句式」。
现在更像签合同,你负责讲清楚目标、边界、验收标准,过程怎么走,让模型自己拿主意。
模型每强一代,你多说的每句废话就更贵一分。
以后看一个人 prompt 写得溜不溜,估计得先看他敢删多少了。
参考资料
• OpenAI 官方 GPT-5.6 使用指南:https://developers.openai.com/api/docs/guides/latest-model?model=gpt-5.6• OpenAI 官方 GPT-5.6 prompting 专项指南:https://developers.openai.com/api/docs/guides/prompt-guidance-gpt-5p6
推荐阅读:Codex 退场,GPT-5.6 上位,Claude 被动挨打面试官皱眉:“你看过 Claude Fable 5 系统提示词吗?”,我笑了:“刚看过,需要向我请教什么?”,他:“来,开始你的表演”面试官皱眉:“你知道 Claude Code 的 skill 机制吗?” 我:“何止知道?我还看过源码”,他又愣了…
141