OpenAI :GPT-6 开始你需要给 Skill 和 AGENTS.md 做一次大扫除了

这个问题 GPT 5.6 sol 的时候大家就都在说,Anthropic 在 Fable 5 的时候我记得应该也说过,比如 Superpower 在现在的强模型下就变成负优化,除了浪费 Token 毫无用处。

所以不得不感慨那句名言:只要你学得够慢,你就不用学了。

这个说法其实和 OpenAI 给 GPT-6 Astra 的官方 prompting guidance 也基本一致,在 OpenAI 的 API 说明里也提到过, GPT-6 Astra 的 instruction following 比前代更强,所以也更容易受到 Skill、 * AGENTS.md * 等上下文指令影响,模糊、互相冲突、范围过宽的规则,会让它提前暂停、询问用户,甚至直接阻塞任务:

比如官方提供的这两个例子:

Use when working with databases, queries, models, or persistence. 」,这些词的覆盖范围太大,比如你可能只是改一个 ORM model,或者修一条 query 这些普通逻辑的时候,模型都可能判断 migration Skill 和当前任务相关,这时候的结果就是 Skill 被过度触发,后面的 migration 规则、检查步骤、参考资料也跟着进入上下文:

然后官方推荐的版本把触发条件收紧成:「adding or changing a migration, or reviewing its rollout」,这样它描述的就是具体任务,不会被多次多余执行混入上下文。

另外一个也是,因为很多人的 AGENTS.md 现在就是这类 BAD 版本:

Before every edit, read architecture.md, database.md, and deployment.md.

这种规则其实过去很常见,因为早期 Agent 经常不知道主动找项目文档,所以大家直接强制它"每次都读",但是现在来到 Astra 之类的模型, AI 真的会认真反复执行这个约束。

你就算只改了一个字符串,它也会完整把你几个 md 都读一遍,改第二次,它又会完全读一遍,整个过程除了浪费 token ,让进度变慢,实际上毫无意义,而且上下文会快速膨胀,导致幻觉更重

而在推荐的版本里:

Use architecture.md for service boundaries, database.md for schema changes, and deployment.md when preparing a deployment.

实际上是在建立一个简单的 context routing table

当前任务 加载的上下文
修改 service boundary architecture.md
修改 schema database.md
准备部署 deployment.md
普通 UI bug 都不用
修一个 typo 都不用

也就是 OpenAI 一直提到的 Harness 工程的方式,给一套精准的上下文索引和项目约束

实际上这确实是目前 AI flow 工程的常见问题,因为模型在变,但是你的 AGENT.md 和 Skill 还有 Rule 一直没变的话,实际上会跟不上模型的能力。

现在很多 Coding Agent 配置,本质上记录的是上一代模型的缺陷,然后现在模型逐步优化完善后,如果还有大量强制行为或者规则在,那就可能反而导致执行混乱。

所以从目前的情况来看,我们其实应该把 prompt maintenance 当成模型迁移的一部分,每次换模型都需要考虑需不需要适配。

特别是 Skills,多加载和多执行 Skills 会带来是很大的上下文问题,可能很多人对 Skill 的理解是:

项目里放几十个 SKILL.md 没什么关系,需要的时候模型自然会加载。

但是 Codex 目前用的是 progressive disclosure,也就是启动时不会把所有 Skill 正文全部塞进上下文,但它必须先知道有哪些 Skill,还有什么时候应该选择它们。

也就是说,启动时模型会先拿到每个 Skill 的 name 和 description,Codex 还会带上文件路径,如果模型判断某个 Skill 和当前任务匹配以后,就会再读取完整 SKILL.md这里隐式触发本身就依赖 description

也就是 description 实际就承担了 Skill router 的职责,如果像前面的例子一样,一个 PostgreSQL migration Skill,它的描述被写成:

创建和检查 PostgreSQL migration。处理数据库、query、model 或 persistence 时使用。

这时候会带来什么问题其实前面我们就提到过了,所以类似过去的 Superpowers 规则,在 Astra 这里的问题会特别明显,因为它什么流程都介入,还把很多流程从"建议"写成了"强制门禁"

特别 Superpowers 的核心 using-superpowers Skill 写得很激进:只要有哪怕 1% 的可能某个 Skill 适用,就必须调用;任何回复、澄清问题、浏览代码、检查文件之前,都先做 Skill 判断。

虽然 Superpowers 后来作者调整过流程,但是实际上这种「约束哲学」在现在的模型已经没什么必要,就它那种严格流程纪律,在模型激活喜好和轨迹上都很不友好。

比如可能会把模型从"高概率自然轨迹"硬推到一条规定轨迹上,还有干扰什么时候做判断

所以,在现在的强模型时代,特别 Codex 里用的 Progressive Disclosure ,重点就是必须让 Skills 能做到按需加载,不能有太过于宽放的规则,Skill 必须是一套按任务加载的操作手册 ,类似

这个道理同样在 AGENTS.md也一样,因为 AGENTS.md 的覆盖范围更广,根据 OpenAI 的建议,现在把这类规则最好成有条件的文档目录,比如前面说的:

所以比如常见的 AGENTS.md 写:

erlang 复制代码
Always run tests after every change.
Always verify your implementation.
Never finish until all tests pass.

目前 Astra 本身已经更倾向于执行验证,如果你还写这些规则,那你的 GPT 就会疯狂些测试用例,这个 GPT 5.6 sol 应该有人体验过了

所以,模型越会遵守指令,一些历史遗留规则的副作用越容易完整执行出来。

还有一类似需要注意的 Coding Agent 的约束行为,比如我们以前可能会把"需要确认"的范围写得很宽,比如:

erlang 复制代码
Ask before modifying additional files.
Ask before making architectural decisions.
Ask before running commands that change the repository.

这些规则在老模型上可能会有用,但是在Astra 可能就反而成为干扰它决策时的判断方向,会找不到安全的边界。

按照目前的 AI 情况,可能我们一年前建立起来的 CLAUDE.mdAGENTS.md、rules、Skill、system prompt,到了现在可能反而都是累赘,所以我们应该在每次模型升级之后,根据不同模型重新评估下整个 Prompt 的可靠性。

相关推荐
BOBY_KEJI1 小时前
多场景AI迎宾服务机器人的应用现状与行业价值分析
人工智能
IT_陈寒1 小时前
Redis莫名连接失败,查了三天居然是配置的锅
前端·人工智能·后端
晴天161 小时前
Esbuild:前端构建工具的“速度革命”
前端
财复视界1 小时前
稀散金属晶体生长平台:光智科技真正的技术护城河
人工智能·科技
新知图书1 小时前
第13章 数据分析智能体(垂类智能体实现案例)
人工智能·智能体
雪芽蓝域zzs1 小时前
第三十五节:Axios 统一错误拦截、401 Token 过期处理
前端·javascript·vue.js
XIE3921 小时前
TipKit:开源富文本编辑器套件,一套逻辑,任意风格!
前端·笔记·开源
QCodingDev1 小时前
Spring AI 2.0企业级RAG实战:引用校验、无依据拒答与知识治理怎么做?
java·人工智能·spring·ai
新知图书1 小时前
第13章 从一句话需求到上线“续费管家”小程序
人工智能·小程序·智能体