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.md、AGENTS.md、rules、Skill、system prompt,到了现在可能反而都是累赘,所以我们应该在每次模型升级之后,根据不同模型重新评估下整个 Prompt 的可靠性。

相关推荐
打工仔折腾 AI8 小时前
用 Dashlet 把极空间 NAS 服务入口整理成统一导航首页的实践
java·开发语言·人工智能·后端·python·rpc·ai agent 实战
野生码农AI实战8 小时前
【无标题】
大数据·人工智能
桃西西呀9 小时前
搜「怎么做接口限流」,向量库却把「怎么做缓存」的段落递了上来
人工智能·llm·ai编程
像风一样自由20209 小时前
56.实战PostgreSQL-pgvector-FastAPI构建轻量级RAG
数据库·人工智能·postgresql·大模型·fastapi·智能体
2401_832298109 小时前
人工智能时代,我们如何与机器同行
人工智能
田里的水稻9 小时前
PyTorch_TensorBoard展示
人工智能·pytorch·python·深度学习·神经网络
环境栈笔记9 小时前
指纹浏览器 WebRTC 怎么设置?从 ICE 候选、代理出口到功能验证
前端·人工智能·后端·自动化
枯木◊靠推文躺平版9 小时前
Work Agent深度解读:AI长程任务的执行机制与落地边界
人工智能
安睿杰翻译(上海)有限公司9 小时前
涉外商务合同翻译项目复盘:高风险条款、质控链路与交付校验清单
人工智能
Rosanci9 小时前
多个 AI 会话同时改一个项目,怎样避免任务互相踩?
人工智能·agent·ai 编程