大模型系统指令从2686词砍到514词,性能不降反升。记忆功能、渐进披露、工具延迟加载,这些术语背后藏着一个反直觉的真相:管得越少,模型越强。
系统提示词精简七成后,Claude 5 系列在代码任务中表现不降反升。
这场上下文工程革命的核心,是把控制权交还给模型自己的判断力。旧版提示词里塞满了规则和约束,像给资深工程师戴上手铐脚镣。新版提示词只给方向,不给拐杖,让模型自己找路。结果就是,更少的指令,换来了更精准的代码和更少的废话。
把提示词当判决书写的时代结束了
旧版系统提示词活像一份十页厚的法官判决书。每条规则都用黑体字标出来,语气强硬,不留余地。代码缩进必须用空格,变量命名一律小驼峰,错误处理必须包含日志记录。整份文档读下来,压迫感扑面而来。模型接收到的不只是指令,还有一种居高临下的审判态度。
这种写法源自一个朴素的误解:指令越详细,结果越可控。给模型列出所有可能的错误场景,它就不会犯错。把每个技术细节都规定死,它就不会跑偏。这种思维方式在传统编程里行得通。但大语言模型不是按部就班的执行器,它是靠概率分布生成内容的东西。过量的规则反而会压缩它的推理空间。
新旧提示词的第一个显性差异在总量。字数从2686骤降到514,削减幅度触及八成红线。这不仅仅是删减,是一场外科手术式的改造。每一条规则都被重新审查,那些重复的、冗余的、自相矛盾的条款全被拿掉。留下的514个单词,句句打在要害上。
对比实验数据出来了。关闭记忆功能的情况下,Opus 5在编码评估中的表现反而比提示词臃肿时更稳。这个结果让很多人大跌眼镜。更少的规则,更多的自由度,模型用更少的认知负担完成了同样的工作。说明那些被砍掉的内容里,相当一部分不仅没用,还在帮倒忙。
记忆机制让模型长了记性
自动记忆是这次升级里最被低估的功能。旧版提示词里有一长串关于记忆的指令,告诉模型什么时候该记,什么时候该忘,怎么记才不会出错。但真正执行起来,模型对这些规则的理解总是打折扣。经常在应该记住关键信息的时候忘了存,或者在不需要记忆的地方随手写下一堆废话。
新版系统提示词撤掉了绝大多数关于记忆的硬性规定。取而代之的是一个简洁的机制设计。模型在对话中自动识别什么值得记,什么不需要存。判断标准变得灵活,不再是一套死的规则。关键错误、用户偏好、项目特定约定,这些会被悄悄归档。无关的闲聊、临时的试探性提问,则会被过滤掉。
这个变化背后的逻辑是信任。设计者相信模型自己有能力区分重要与不重要。不再用条条框框去教模型怎么记忆,而是给它一个清晰的记忆目标,让它自己找方法。实操反馈表明,自动记忆的准确率和相关性都明显优于手动指令时代。模型不再机械地执行记和忘的命令,而是真正理解了记忆的价值。
旧版提示词里的记忆模块占了相当篇幅。各种if-then逻辑堆砌在一起,像一本迷你操作手册。模型得先读完这些规则,才能开始真正的工作。现在记忆功能被精简到几句原则性描述,剩下的全交给模型内部机制去完成。这种简化不仅是字数上的,更是认知层面的一次解放。
工具调用的决策权交还给模型
工具定义也是这场精简的关键战场。旧版提示词把每个工具的参数类型、返回值格式、调用时机都规定得死死的。模型要调用一个搜索工具,得先检查参数类型是否匹配,再确认返回值是否落在预期范围内,最后还得验证调用动作本身的合法性。层层检查,环环相扣。
这种设计的初衷是防止模型滥用工具。实际操作中却变成了另一种形式的束缚。模型明明知道该用哪个工具,却因为规则要求的格式不匹配而卡住。或者明明不需要工具就能完成推理,却因为提示词里有调用指令而强行启动工具。结果是效率下降,废话增多,错误率反而上去了。
新版提示词撤掉了大部分工具使用细则。只告诉模型工具是什么,能干什么,剩下的决策权还给模型自己。它可以在需要的时候调工具,也可以在不必要的时候跳过。这种自由度让模型的行为更接近人类工程师的工作习惯。看情况,灵活决定。
最值得注意的变化是渐进式披露策略。部分工具的定义不是一次性全部加载,而是让模型在需要时自己去搜索调用。这意味着初始上下文里只放最核心的工具描述,边缘工具藏在后台。模型真要用的时候再调出来。这种做法把上下文窗口释放出来,让更多空间留给真正重要的信息。
示例的危害被彻底承认了
一个反直觉的发现被摆上了台面。给模型提供示例代码,有时候反而会降低输出质量。模型会过度拟合示例中的模式,即使那个模式并不适合当前任务。它会把示例里的缩进风格、命名习惯、甚至注释写法全部照搬过来,却忽略了任务本身的特殊需求。
旧版提示词里经常塞着一堆示例。每种场景配一个示范,期望模型通过这些例子学会正确做法。但实际效果堪忧。模型学了示例的表面模式,却没有真正理解背后的设计决策。就像一个只会照猫画虎的学生,离开了画册就不知道怎么落笔。
新版提示词大幅削减了示例数量。那种每个技术点都配个参考实现的做法被放弃了。设计者发现,不给示例,只给原则描述,模型反而能给出更贴合上下文的结果。它被迫自己去推理,自己去设计,而不是从记忆库里找一个最接近的例子修改一下。
这个教训和早期的机器学习实践如出一辙。过度标注的数据集会让模型学会标注者的偏见,而不是数据本身的规律。类似的道理,过度提供的示例会让模型学会示例作者的风格,而不是任务本身的最优解。撤掉拐杖之后,模型自己的腿脚反而更利索了。
上下文工程的新旧对决
旧思维把上下文当成指令容器,能塞多少塞多少。越大越详细,以为越好。这种思路催生了动辄几千词的超级提示词,里面堆满了规则、约束、示例、警告。模型的输入窗口被这些内容填满,留给真实任务的空间所剩无几。
新思维把上下文当成工作台面,只放当前任务真正需要的东西。多余的工具收进工具箱,不急的细节留到后面再说。这种设计让模型的认知负载大幅下降,注意力更集中在解决问题本身,而不是消化规则上。
代码任务的表现是这场变革的试金石。精简后的提示词在各类编码评估中都不输旧版,很多时候还略胜一筹。模型写的代码更简洁,注释更精炼,逻辑更清晰。那些因为过度约束而产生的风格不一致、逻辑断裂问题明显减少。说明精简提示词释放的不只是上下文空间,还有模型本身的推理能力。
这个发现的意义远远超出了单一模型。它引发了对整个大语言模型交互设计的重新审视。如果更少的指令能换来更好的结果,那么之前那些复杂的提示词工程技巧到底有多大价值。精简提示词这个思路正在从边缘尝试变成主流实践。
不同模型需要不同的缰绳
Opus 5、Sonnet 5、Fable 5三个模型在同一套精简提示词下表现各不相同。每个模型有自己的脾性,同一套规则要因人而异。这个观察让提示词设计从一刀切走向了模型特化。
Opus 5在精简提示词下表现得最为出色。它似乎天生就对简洁的指令更敏感,规则越少,发挥越稳定。这可能和它的训练数据分布有关。更少的约束让它有更多空间展现自己的能力,而不是被束缚在规则织成的笼子里。
Sonnet 5则稍微需要多一点结构化的引导,完全放任自流反而容易跑偏。
Fable 5处在中间位置,既能适应精简指令,又不像Opus那样对规则高度敏感。
这种差异提示了一个更深层的设计原则。提示词不是越短越好,而是要找到和模型能力匹配的最佳点。对Opus 5来说,514词可能恰到好处。对别的模型,可能需要再微调一下长度和内容。不是一刀切地砍到最低,而是精准地砍掉不必要的,保留必要的。
实操建议很直白。如果你在用Opus 5,大胆精简你的提示词。少写那些条件分支,少塞那些边界案例。如果你在用Sonnet 5,保持一定的结构化约束,但别像旧版那样事无巨细。Fable 5用户则可以在两者之间找个平衡点。每个模型有自己舒服的提示词密度,找到那个点,输出质量就会上去。
Sonnet 5、Opus 5、Fable 5,三个模型用同一套精简指令,却走出三条不同的路。Opus 5擅长硬核推理和复杂代码重构,Fable 5在创意写作和多步规划上更灵活,Sonnet 5则在速度和日常任务间找到了平衡点。
废话税终于被废除了
旧版提示词里充斥着大量格式化指令。指定Markdown语法细节,规定标题层级,强制列表样式。这些内容占篇幅不少,对核心任务却几乎没有帮助。模型花大量时间去处理这些格式规范,真正用在问题解决上的精力反而被挤占。
新版提示词把格式要求压缩到最低限度。只保留必要的结构标记,其余全部删除。模型不再需要在每次输出前检查一遍自己的格式是否符合规定。它可以把全部认知资源投入在内容生成上。结果是输出质量提升的同时,格式反而更自然了。
反讽效果拉满了。那些被精心设计、反复打磨的格式规则,居然成了效率杀手。看起来越专业的提示词,带来的实际收益可能越低。整个行业花了那么多精力在提示词优化上,结果优化的方向可能一直是反的。精简提示词实验给出了一个反直觉的结论:减少控制,反而能获得更好的控制。
现在反思旧版提示词里的那些条款,很多都透着一种过度设计的气息。每条规则的诞生都有一段故事,每次修订都解决了一个具体问题。但当这些规则累积起来之后,它们彼此之间的关系变得复杂甚至矛盾。模型面对这样一套庞杂的规则体系,行为反而变得不可预测。精简到最后,发现真正核心的规则就那么几条。
新杠杆
上下文工程已经变天。以前我们拼命往系统提示词里塞规则、塞约束、塞示例,觉得填得越满模型越听话。现在Claude 5家族的实战告诉我们,留白才是真正的杠杆。
用更少的词,撬动更多的智能。这不是偷懒,是对模型能力的重新认识。抽象的约束性名词被压缩,具体的可操作对象被放大。句式节奏变了:短促的指令留给模型长而深的思考空间。
讽刺的是,八十年前维特根斯坦就说过,语言的边界就是世界的边界,我们终于意识到,给语言瘦身,实际是给自己减负,AI世界反而更宽阔。
精简不是结束,是开始。下一次打开Claude Code,试着删掉一半的规则,看看那台机器会给你怎样的意外。
八十行指令换八千行好代码,这笔账,算得过来。