Administrator
Published on 2026-07-26 / 0 Visits
0
0

"GPT-5.6 精简 Prompt:用 Eval 安全删指令"

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 的评估指南建议按真实任务设计测试,并主动加入边界案例。它还强调多维成功标准,因为任务忠实度、一致性、上下文利用、延迟、价格和安全可能朝不同方向变化。

第一版数据集可以分成四类:

  1. 覆盖主要流量的常规成功请求。
  2. 回归代价较高的高价值请求。
  3. 从生产 Trace 中收集的已知失败。
  4. 涉及权限、证据缺失、工具报错和意图模糊的边界案例。

实验开始前冻结案例。看到候选失败后再改测试,容易让 Eval 变成对候选行为的解释,而非对产品要求的检验。

建立删减阶梯

一次删掉整份 Prompt 属于重写。删减阶梯由一系列小假设构成。

第一层:删除精确重复和语义重复

先寻找多次出现的同义规则:

修改文件前先询问。
编辑前等待批准。
未经确认不要修改任何内容。

如果产品真正需要的是分级授权,可以把三条合并成一条决策规则:

审查或诊断请求只检查并报告,不编辑。
用户明确要求修复时,完成范围内的本地修改并验证。
破坏性操作、外部写入、付费行为或明显扩展范围时需要确认。

新版本更短,也更精确。它消除了意外形成的全局禁止,同时保留真实审批边界。

第二层:删除过期脚手架

Prompt 会积累旧模型补丁、退役工具说明和已经修复的失败处理。给每个区块打一个标签:

  • 硬约束:真实的产品、安全或业务要求。
  • 测量修复:因为某条 Eval 或生产 Trace 失败而加入。
  • 历史遗留:当前没有失败、负责人或测试能解释其存在原因。

历史遗留是下一轮删除候选。版本历史继续保留,生产模型无需在每次调用中为组织记忆付费。

第三层:挑战示例

示例能够固定 Schema、消除歧义或纠正已测量行为时,价值很高。它只是重复解释指令时,价值较低。

删除一组示例后重点比较:

  • Schema 合法率是否下降?
  • 对陌生表述的泛化是否改善?
  • 某个低频但重要的行为是否消失?
  • Token 与缓存成本的变化是否足够大?

示例应该凭可观察的边际价值留下。

第四层:缩小工具面

每个无关工具都会增加描述 Token,也增加一个可能动作。只向模型暴露当前工作负载需要的工具,这同时属于 Prompt 优化与能力控制。

基线很少调用某个工具,并不能直接证明它可以删除。先确认它是否承担低频、高影响场景的恢复路径。

用硬门槛控制发布

单一平均质量分不足以决定生产 Prompt 是否可以替换。常规样例的微小提升,可能掩盖严重的权限回归。

把指标分成硬门槛和优化目标:

维度 示例指标 发布作用
任务成功 成功完成数 / 合格任务数 硬门槛
权限合规 未授权动作次数 零容忍硬门槛
证据完整 必需引用或工件是否存在 事实型任务硬门槛
输出契约 Schema 合法率 机器消费场景硬门槛
工具可靠 调用成功率与恢复率 硬门槛或有限容差
内容质量 人工或校准 Judge Rubric 非劣效门槛
延迟 P50 与 P95 优化目标
Token 输入、输出、推理与缓存写入 优化目标
成本 总成本 / 成功任务数 主要效率目标

每个成功任务的成本比每次调用成本更接近业务现实:

每个成功任务成本 =
    实验总成本
    / 通过全部必需门槛的案例数

候选每次调用便宜 30%,却带来 15% 的额外重试,实际运行成本可能更高。Prompt Token 更少,但模型需要增加工具循环来重建缺失上下文,同样属于伪优化。

非确定性任务需要重复运行并观察方差。均值略高、尾部失败明显增大的候选,不应自动获胜。

每轮只改变一个变量

每组删减都执行同一条闭环:

  1. 写下假设:哪段文字冗余,依据是什么。
  2. 生成一个 Prompt Diff。
  3. 用冻结的运行配置复跑冻结的 Eval。
  4. 先比较硬门槛,再比较效率指标。
  5. 保留或回滚这次 Diff。
  6. 记录结果,然后选择下一组。

实验日志可以很轻:

轮次 删除内容 任务成功率 权限失败 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 删减是否成功。

用可回滚闸门上线

离线获胜只是证据,还需要经过发布闸门:

  1. 审查 Prompt Diff 和失败案例 Diff。
  2. 运行未参与删减决策的封存回归集。
  3. 在受限流量中 Canary。
  4. 监控任务成功、权限违反、工具恢复、延迟、Token 和成本。
  5. 保留基线 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 合理?

当长度承载了仍然有效的产品信息,包括领域上下文、权限、必需证据、输出契约,或用于修复已测量失败的示例。真正的问题是没有边际行为价值的长度。

参考资料

现在可以选一份生产 Prompt,冻结 Eval,然后只删除第一组重复规则。这一轮受控实验提供的信息,会多于一次无法归因的完整重写。


Comment