我看到一条推文,复制了里面的提示词,让 Codex 真正跑了一遍。结果,我的全局 AGENTS.md 从 11,988 个字符缩到了 1,189 个,减少了 90.1%。
标题就是那条推文里的原句,大意是:AGENTS.md 是最常见的 Token 低效来源。这句话把我吸引过去了。不过,我这次量的是文件字符数,没有测 Token、账单,也没有做新会话的行为对照,不能据此给「最常见」排个名。
我直接复制了这段提示词
原帖把它叫作 Prompt of the day,完整内容是:
Prompt of the day:
/writing-for-agents my AGENTS.md is a hot mess, propose a series of restructurings that:
- Remove no-ops
- Use progressive disclosure
- Move instructions to CODING_STANDARDS.md
Apply your work over three subagents, each more radical than the last. Create a single PR.
AGENTS.md is the most common source of token inefficiency. This prompt kills it dead.
提示词是别人写的,我做的是把它用到自己的规则上。它让三个子代理逐步提出更大胆的重组方案,最后收成一个 PR。这里的 `/writing-for-agents` 是调用技能的写法,照抄前得先确认自己的环境里有这个技能。
先弄清楚,哪些规则还在管事
我原来的全局文件攒了不少内容。每次遇到问题就补一条,旧流程退场后,相关规则却还留着。
这次核对了 51 个原始条目,40 个保留或合并,另外 11 个属于旧总控架构,我明确同意废弃后才移除。长并不等于没用,涉及生产操作、付款、秘密信息和真实路径验证的要求,仍然要有地方可查、需要时必须读到。项目明确要求的技能,也不能顺手删掉。
还有个很容易混淆的地方:删掉旧架构的说明,不等于停用相关服务、Hook 或自动化。文档收拾干净了,不能就当运行中的东西也处理完了。
经常用的留下,细则按需读
我觉得这段提示词最有用的部分,是 progressive disclosure,也就是按需展开。
全局 AGENTS.md 会跟着许多任务一起进入上下文,所以这里适合留通用约束,以及「什么时候去哪里读」的入口。终端输出、浏览器操作、开发和验收等细则,移到 CODING_STANDARDS.md,碰到对应任务再加载。
但只写「详细规则见另一个文件」还不够。什么时候算需要读?读哪一节?这些都要说清楚。通用写法可以很短:
执行终端命令前,读取 CODING_STANDARDS.md 的「终端输出」节。
修改代码前,读取 CODING_STANDARDS.md 的「开发」节。
这只是示例,实际路径和触发条件要按自己的项目写。入口负责把代理带到正确位置,细则负责把事情讲完整。
文件拆开了,还得检查读没读全
检查文档时,还发现了一处标题层级的隐患:如果按某一节读取,遇到同级标题就结束,后面相关的规则就可能漏掉。这是审阅时发现的风险,还没有实测到读取失败。
人看文档,会顺着往下看;代理拿到一段截取结果,却可能就此开始执行。写了规则和实际读到规则,中间还隔着读取方法。
所以我会检查入口指向哪里、相关内容跨不跨标题,以及读取结果是不是完整。需要一起加载的内容,要么放进同一节,要么在入口把需要读的几节都点明。把大文件拆成小文件,只完成了一部分。
再看项目规则,就不能一刀切了
全局整理后,我又让三个子代理检查了 15 个已登记项目。其中 6 个有自己的规则,共 12 个文件,去重后是 8 份独立内容。
差异很大。有个业务项目的根规则长达 19,566 个字符,里面有 v2、v3 旧架构冲突、已经失效的前台历史分支要求,还有找不到的目录引用。整理后,它的根入口是 789 个字符,细则放到了单独的文件里。
另一些文件很简单:阅读项目只有 5 条规则,另有简短的 Next.js 提示。这些不需要为了追求缩减比例再拆一遍。历史项目也只读检查。
核对方案后,我同意直接落地。这一轮已经在本机更新了 7 个入口、14 个文件,安装记录也逐份核对过。改动范围是规则文档,没有因此改动运行中的服务。
我现在会先查这几件事
全局和项目规则都已更新到本机,两轮改动分别提交了 PR,目前都还没合并。接下来要补的是新会话里的实际检查:触发条件能否让 Codex 读到该读的细则,原有约束是否仍然生效。
如果也想试这段提示词,我建议先看自己的 AGENTS.md:哪些要求现在仍然有效,哪些只在特定任务里用到,哪些已经找不到对应的流程。重复内容可以合并,细则可以搬家;不确定还管不管用的规则,先查清楚。
90.1% 很显眼,但我不会把它当成下一份文件的目标。有些规则确实只需要五条,有些约束必须详细写。整理完以后,我更想确认的是:下次做事时,Codex 能不能在正确的时候把它们读全。
