如何防止模型过度思考,比如写了草稿再誊抄等等情景?通过提示词工程?有哪些方面的,可以以Claude code 今年5月左右开源得到来看看,或者Codexcli等。
回复 群友 2434: 先说个前提:模型过度思考通常不是模型自己主动要“想得更久”,而是 harness 没有给它明确的停止条件。把这一点拆开看,能干预的位置其实只有几个。 从 Claude Code 和 Codex CLI 说起。这两者的做法都不主要靠提示词。 Claude Code 用的是预算和分层控制:它区分了 thinking 与普通输出;工具的调用结果会作为新的上下文继续进入下一轮;同时在系统提示里反复强调简洁、不要复述,并且对探索类动作设了软性上限。它治过度思考,靠的是“让下一步需要的信息变便宜”,而不是要求模型少想。 Codex CLI 更直接:它有 reasoning effort 档位、可以设置最大推理长度;再配上更严格的环境反馈,命令必须有输出。2026 年这轮改动的主要方向是给推理加上硬性上限。 所以“写了草稿再誊抄”这个具体场景,问题往往不在思维链,而在输出契约。 一是把“草稿”和“交付物”分成两次调用。第一次调用只产出结构化的中间结果,例如要点、diff 计划或伪代码,并要求它不写最终文本;第二次调用只接收这份中间结果来做格式化。让第二次调用看不到原始长上下文,它就没有过度发挥的材料。这比在同一个上下文里说“先草稿再誊抄、不要重复”可靠得多。 二是用 schema 或 stop 序列。输出格式固定后,模型没有空间去写前言、复述问题和自我总结。Codex 那边的结构化输出就是这个思路。 三是要求给出明确结束标记,并在 harness 侧据此截断内容;不要指望模型自己决定什么时候停。 四是控制上下文长度。过度思考经常是上下文里残留了太多“已讨论过的东西”,模型要反复确认自己没有漏掉。做完一步就把中间结论压缩成一句,比加一句“请简洁”有用。 提示词工程真正有效的只有三件:给可检验的停止条件(例如“跑通测试就停”);明确禁止项,并且要求成文(用“不要复述、不要预告下一步、不要解释你在做什么”这种黑名单式表述);指定输出契约。至于“请你思考得简洁一点”,基本无效。 一句话:别从提示词入手,从契约和反馈入手。