OpenAI 在 GPT-5.6 官方指南中提出:删掉重复指令、低价值示例和无关工具,可能同时提高质量与 Token 效率。但 Prompt 更短只是输入变化,生产目标应该是用更少上下文保持或提高任务成功率。本文给出一套可复跑、可归因、可回滚的删减实验协议。
阅读时间:约 8 分钟 · 全文约 3000 字
TL;DR
- 从已经有效的 Prompt 出发,先冻结模型、推理等级、工具和 Eval 数据集。
- 每轮只删除一组指令,然后原样复跑同一套 Eval。
- 优先处理重复规则、过期脚手架、没有行为增益的示例和无关工具。
- 保留交付结果、成功标准、权限边界、证据规则、输出 Schema 和验证要求。
- 最终优化指标是每个成功任务的总成本,而非单次调用的 Prompt Token。
精简追求高信噪比
GPT-5.6 更擅长从明确目标推导执行路径,因此很多过程脚手架可以精简。它仍然需要真实约束。
GPT-5.6 官方模型指南建议每条规则只表达一次,只暴露任务相关工具;当示例承载产品要求或修复了已测量缺口时,继续保留。配套 Prompt 指南给出了清楚的删减边界:
| 优先挑战 | 优先保留 |
|---|---|
| 同一规则的多种重复表述 | 用户可见的交付结果 |
| 模型已稳定完成的过程指令 | 成功标准与停止条件 |
| 无法改变测量结果的示例 | 安全、业务、证据和权限约束 |
| 与当前任务无关的工具 | 依赖上下文的工具路由规则 |
| 没有可观察效果的泛化风格提醒 | 输出结构与验证要求 |
判断标准是信息密度。300 Token 的 Prompt 可能有一半内容在重复同一条规则;2000 Token 的 Prompt 也可能每个章节都在改变关键决策。前者臃肿,后者仍可称为精简。
OpenAI 披露了一组内部 Coding Agent Eval 的方向性结果:更精简的 System Prompt 让评测分数提高约 10% 至 15%,总 Token 减少 41% 至 66%,成本减少 33% 至 67%。官方同时强调,这些数字取决于具体工作负载,需要在自己的代表性任务上验证。它们构成实验动机,不构成效果承诺。
改 Prompt 前先冻结实验
同时修改模型、推理等级、工具、测试样例和 Prompt,实验会失去归因能力。结果变好时无法判断原因,结果变差时也无法定位失败。
先保存一份基线清单:
model: gpt-5.6-sol
reasoning_effort: medium
prompt_version: support-agent-v17
tool_schema_version: 9c41a2
eval_dataset: support-golden-v6
runs_per_case: 3
temperature: 0
metrics:
- task_success
- policy_compliance
- evidence_completeness
- schema_validity
- tool_success
- latency
- total_tokens
- cost_per_success
冻结这些变量后,每轮 Prompt Diff 才是受控比较,基线也自然成为回滚点。
Eval 数据集应接近真实流量分布。Anthropic 的评估指南建议按真实任务设计测试,并主动加入边界案例。它还强调多维成功标准,因为任务忠实度、一致性、上下文利用、延迟、价格和安全可能朝不同方向变化。
第一版数据集可以分成四类:
- 覆盖主要流量的常规成功请求。
- 回归代价较高的高价值请求。
- 从生产 Trace 中收集的已知失败。
- 涉及权限、证据缺失、工具报错和意图模糊的边界案例。
实验开始前冻结案例。看到候选失败后再改测试,容易让 Eval 变成对候选行为的解释,而非对产品要求的检验。
建立删减阶梯
一次删掉整份 Prompt 属于重写。删减阶梯由一系列小假设构成。
第一层:删除精确重复和语义重复
先寻找多次出现的同义规则:
修改文件前先询问。
编辑前等待批准。
未经确认不要修改任何内容。
如果产品真正需要的是分级授权,可以把三条合并成一条决策规则:
审查或诊断请求只检查并报告,不编辑。
用户明确要求修复时,完成范围内的本地修改并验证。
破坏性操作、外部写入、付费行为或明显扩展范围时需要确认。
新版本更短,也更精确。它消除了意外形成的全局禁止,同时保留真实审批边界。
第二层:删除过期脚手架
Prompt 会积累旧模型补丁、退役工具说明和已经修复的失败处理。给每个区块打一个标签:
- 硬约束:真实的产品、安全或业务要求。
- 测量修复:因为某条 Eval 或生产 Trace 失败而加入。
- 历史遗留:当前没有失败、负责人或测试能解释其存在原因。
历史遗留是下一轮删除候选。版本历史继续保留,生产模型无需在每次调用中为组织记忆付费。
第三层:挑战示例
示例能够固定 Schema、消除歧义或纠正已测量行为时,价值很高。它只是重复解释指令时,价值较低。
删除一组示例后重点比较:
- Schema 合法率是否下降?
- 对陌生表述的泛化是否改善?
- 某个低频但重要的行为是否消失?
- Token 与缓存成本的变化是否足够大?
示例应该凭可观察的边际价值留下。
第四层:缩小工具面
每个无关工具都会增加描述 Token,也增加一个可能动作。只向模型暴露当前工作负载需要的工具,这同时属于 Prompt 优化与能力控制。
基线很少调用某个工具,并不能直接证明它可以删除。先确认它是否承担低频、高影响场景的恢复路径。
用硬门槛控制发布
单一平均质量分不足以决定生产 Prompt 是否可以替换。常规样例的微小提升,可能掩盖严重的权限回归。
把指标分成硬门槛和优化目标:
| 维度 | 示例指标 | 发布作用 |
|---|---|---|
| 任务成功 | 成功完成数 / 合格任务数 | 硬门槛 |
| 权限合规 | 未授权动作次数 | 零容忍硬门槛 |
| 证据完整 | 必需引用或工件是否存在 | 事实型任务硬门槛 |
| 输出契约 | Schema 合法率 | 机器消费场景硬门槛 |
| 工具可靠 | 调用成功率与恢复率 | 硬门槛或有限容差 |
| 内容质量 | 人工或校准 Judge Rubric | 非劣效门槛 |
| 延迟 | P50 与 P95 | 优化目标 |
| Token | 输入、输出、推理与缓存写入 | 优化目标 |
| 成本 | 总成本 / 成功任务数 | 主要效率目标 |
每个成功任务的成本比每次调用成本更接近业务现实:
每个成功任务成本 =
实验总成本
/ 通过全部必需门槛的案例数
候选每次调用便宜 30%,却带来 15% 的额外重试,实际运行成本可能更高。Prompt Token 更少,但模型需要增加工具循环来重建缺失上下文,同样属于伪优化。
非确定性任务需要重复运行并观察方差。均值略高、尾部失败明显增大的候选,不应自动获胜。
每轮只改变一个变量
每组删减都执行同一条闭环:
- 写下假设:哪段文字冗余,依据是什么。
- 生成一个 Prompt Diff。
- 用冻结的运行配置复跑冻结的 Eval。
- 先比较硬门槛,再比较效率指标。
- 保留或回滚这次 Diff。
- 记录结果,然后选择下一组。
实验日志可以很轻:
| 轮次 | 删除内容 | 任务成功率 | 权限失败 | Token | 成功任务成本 | 决策 |
|---|---|---|---|---|---|---|
| 基线 | 无 | 94.2% | 0 | 8.1M | $0.43 | 对照组 |
| R1 | 重复风格规则 | 94.4% | 0 | 7.6M | $0.40 | 保留 |
| R2 | 升级处理示例 | 92.1% | 3 | 7.1M | $0.42 | 回滚 |
| R3 | 退役工具说明 | 94.3% | 0 | 6.8M | $0.36 | 保留 |
表中数字仅用于演示。实际实验要使用任务专属指标,并根据样本规模计算合适的置信区间。
逐轮删除看起来比一次砍掉 40% Prompt 更慢。它比排查一场无法解释的生产回归更快。
把模型迁移与 Prompt 精简分开
迁移 GPT-5.6 时,先切换模型,保留当前推理等级和 Prompt,运行代表性 Eval。OpenAI 建议在此基础上测试相同推理等级和低一级配置,因为 GPT-5.6 可能用更少推理 Token 保持质量。这属于另一项独立实验。
建立模型基线后再精简 Prompt。否则四个变量会同时变化:
- 模型行为;
- 推理等级;
- System Prompt;
- 工具面。
分开实验可以得到两个有用结论:模型迁移是否成功,Prompt 删减是否成功。
用可回滚闸门上线
离线获胜只是证据,还需要经过发布闸门:
- 审查 Prompt Diff 和失败案例 Diff。
- 运行未参与删减决策的封存回归集。
- 在受限流量中 Canary。
- 监控任务成功、权限违反、工具恢复、延迟、Token 和成本。
- 保留基线 Prompt 和快速回滚开关。
Prompt、Eval 数据集、模型配置和工具 Schema 应一起版本化。外围运行时已经变化时,单独保存 Prompt 无法复现实验。
这套方法和GEPA:当评估器成为编程接口属于同一条验证链。候选可以由人工逐组删除产生,也可以由搜索引擎自动提出。发布边界保持一致:候选必须用能够代表真实目标的证据通过验收。
常见失败方式
只优化 Prompt Token
Prompt Token 是输入指标,任务成功、运行成本和风险才是结果指标。两类指标都要记录,最终由结果决定。
删除规则背后的事故
某条规则看起来冗余,可能只是对应事故很少发生。删除前先搜索事故记录和版本历史。如果风险仍重要,就把它编码进 Eval,让这条规则可以被测试。
只信一个 Judge 分数
Schema、权限、工具调用和必需证据优先使用确定性检查。需要细腻判断时再使用人工或 LLM 评分,并用标注案例校准 Rubric。
用重写冒充删减
完整重写可能产生更好的 Prompt,但它回答了另一个问题。受控删减用于识别哪些区块存在边际价值,重写应该作为单独候选运行。
反复使用被污染的测试集
持续查看并针对同一批案例调优,会把测试集逐渐变成训练集。保留封存发布集,并持续加入新的生产失败。
常见问题
GPT-5.6 的 Prompt 都应该更短吗?
没有统一长度目标。GPT-5.6 仍需要明确结果、约束、证据、权限和完成标准。只有代表性 Eval 证明某段内容不产生有效行为时,才删除。
每轮删除多少合适?
删除一个语义完整的区块,例如重复规则、一组示例、一段过期工作流或一个无关工具。这个单位需要足够小,确保结果能够归因。
质量持平、成本下降时能否保留?
全部硬门槛通过,样本足以支持非劣效判断,节省效果在计入重试、缓存写入和工具调用后仍然存在,就可以保留。
可以用 LLM 给 Eval 打分吗?
可以,用于需要语义判断的标准。先用人工标注样例校准,并尽量与确定性检查组合。Anthropic 的指南建议:适用时优先用代码评分,因为它速度快、可靠且容易扩展。
什么情况下长 Prompt 合理?
当长度承载了仍然有效的产品信息,包括领域上下文、权限、必需证据、输出契约,或用于修复已测量失败的示例。真正的问题是没有边际行为价值的长度。
参考资料
- OpenAI:Using GPT-5.6
- OpenAI:Prompting guidance for GPT-5.6 Sol
- OpenAI:API deployment checklist
- Anthropic:Define success criteria and build evaluations
现在可以选一份生产 Prompt,冻结 Eval,然后只删除第一组重复规则。这一轮受控实验提供的信息,会多于一次无法归因的完整重写。