文章摘要
Codex团队工程师等指出,GPT-6等新一代AI模型能力提升后,原先为弥补旧模型短板制定的大量提示词约束规则已不再适用,甚至会产生拖慢响应、占用上下文、限制解题路径等反效果。文章给出精简Skill、清理冗余全局规则、明确完成标准三点调整建议,提醒换用新模型时需重新梳理更新旧提示词。

为了让AI少犯错,开发者会在提示词里加入各类约束规则:修改代码前要通读架构文档,完成代码后必须执行测试,未经明确允许不能随意改动其他文件。每当模型暴露出问题,就会补充新的约束。但当模型完成换代后,这些为旧模型制定的规则是否还能发挥作用?

来自Codex团队的工程师近期在一份提示词指南中指出,针对新一代AI模型,过去积累的专项提示规则中,有不少已经不再适用,甚至会产生反效果。他此前曾撰写过面向旧版本模型的提示词指南,这次则进一步聚焦新模型下的指令设计调整。

相关技术插图

他提醒开发者,随着模型推理和代码理解能力的增强,旧指令仍要求模型遵循固定步骤,会导致任务响应变慢、上下文资源被占用,甚至限制解决问题的路径。同期,另一家AI公司的官方提示词指南也提到了类似现象:为旧模型准备的约束,放到新模型上可能变成过度限制。

这意味着,在更换模型时,除了评估能力提升幅度,还需要重新梳理项目中的规则:哪些用来弥补旧模型短板的指令可以删除?

一、精简Skill,聚焦触发场景

Skill通常是Markdown格式的专项提示词,有时附带脚本,用于指导模型在特定任务中执行工作流、调用工具。很多开发者认为,安装的Skill越多,模型能完成的任务就越多,但在模型调用Skill前,首先需要判断该选择哪一个。

这一判断依赖于模型对Skill名称和功能描述的检索匹配,而Skill的描述会常驻在系统上下文中。如果单个描述过长,或安装的Skill数量过多,会占用大量上下文空间,部分系统甚至会截断描述以适应长度限制,导致模型难以判断工具的适用场景。

还有些Skill的描述过于宽泛,几乎覆盖所有相关场景,比如“只要涉及数据库操作就调用该Skill”,这会导致模型在仅需要修改一个查询字段时,就加载整套迁移流程,反而降低效率。

因此,精简Skill应从描述开始:明确限定Skill的适用场景,比如数据库迁移的Skill,触发范围应限定在特定操作上,具体执行步骤可在模型选中后再加载。

Skill内部也可采用渐进式组织:根文档保留必要指引,指向细节子文档;复杂步骤和脚本放在子文档中,仅在任务需要时加载,这种方式能减少模型处理局部问题时的上下文占用,将更多资源留给当前任务。

此外,Skill中的步骤也需要调整:早期模型理解复杂任务的稳定性不足,需要明确每一步,但新模型对歧义、语义细节和工程语境的理解已增强,继续要求模型严格执行固定步骤,可能会限制其根据项目情况选择更优方案的能力。多人协作的仓库中,还需考虑不同模型的差异,为某个模型补充的规则,未必适用于其他模型。

二、清理全局规则,避免过度约束

相比按需加载的Skill,仓库级的全局规则更需要逐条检查,因为这类规则会在模型与仓库交互的每一轮中生效,一条多余的要求可能会被反复执行。

比如“任何修改前必须通读整个仓库和架构文档”,在大规模重构时了解整体架构确实有帮助,但如果任务只是修改一个变量名或修正拼写错误,这条规则会让模型花费大量时间读取无关信息,消耗上下文资源。

相关建议是清理这类无条件的前置读取要求,新模型已能根据代码调用关系寻找相关上下文,可让模型根据任务决定需要读取的范围。

测试指令也存在类似问题:过去常要求模型写完代码后必须执行完整测试,但新模型会主动运行测试并检查结果,若仍高频强调强制全量测试,会导致模型为细微改动反复执行全量测试,拉长任务时间。

测试本身依然重要,但需要调整要求的范围和触发条件,根据任务确定需要执行的验证步骤,而非每次重复所有检查。此外,要明确模型在当前环境中可自行推进的范围,比如本地测试可使用一次性隔离夹具,测试失败后可自行排查修复,无需每一步都请求批准,让模型能在授权范围内自主推进。

三、明确完成标准,避免任务中断

还有一类旧指令看似谨慎,却容易让任务半途而废。比如“未经明确允许,绝对不得修改未提及的文件”,过去是为了防止模型随意改动,但新模型对语义约束的执行很严格,一旦后续工作可能触及禁令,就会在写完核心代码后等待确认,导致依赖调整、验证和修复等收尾工作中断。

边界需要保留,但应划在具体风险上:真正不可逆、影响外部系统的高风险操作需明确限制,常规探索和任务所需的调整则要给出清晰的授权范围。

如果习惯了旧模型长时间自主推进,换用新模型后可能会发现它更容易中途停下,完成第一版实现后就等待审查,即使任务还有验证和修复工作。

要改善这种情况,需在任务开始时定义明确的完成标准,比如要求交付通过验证的实现,需明确验收条件:完成核心逻辑、拉起本地环境、执行相关检查;发现报错后,持续修正本次改动引发的问题,直到检查通过。这些条件能让模型明确任务的完成节点,同时保留选择执行路径的空间。

类似的,模型可能在任务中仅汇报后续计划就结束轮次,或针对已授权的修改再次询问是否应用,应对方法是明确告诉模型:在已授权范围内,常规非破坏性修改可直接执行,继续推进直到任务完整结束。

无论是哪种情况,核心都是让模型明确自身的操作边界和任务的完成标准,知道自己能做什么,以及做到什么程度才算交付。

写在最后:更新提示词,适配新模型

这些建议并非意味着模型变强后就可以删除所有规则,规则是否有效仍取决于模型能力、任务要求和执行环境。

如果项目正在换用新模型,可梳理全局规则和常用Skill:哪些前置读取已无必要,哪些测试要求被重复执行,哪些禁令会导致正常收尾需要逐项确认。

删除不再适用的要求,明确操作边界和完成标准,观察模型执行任务时是否减少了无关读取、重复验证和中途等待。

模型已经换代,围绕旧模型制定的那些规则,也需要重新审视和调整。

以上内容不代表本平台立场,仅供读者参考