AGENTS.md

环境里的一份文件,Harness 在 Session 开始时加载到上下文窗口——它是项目给 Agent 的长期指令。这是跨 Harness 的约定;有些 Harness 也有自己的变体(Claude Code 的是 CLAUDE.md)。

因为它会自动加载,所以可以避免跨 Session 重复交代。模型是无状态的——你在一个 Session 里给出的纠正,下个 Session 就没了;于是每次新 Session 你都得再说一遍:项目用 pnpm、测试要带某个 flag、某个目录是生成的不要动。如果你因为同一件事纠正过 Agent 两次,这条纠正就适合写进 Agent.md。

合适的内容是 Agent 无法从代码里推断出来的东西:构建和测试命令、代码库没有显性体现的规范、硬性约束(“永远不要修改生成的 client”)。要简短且是陈述式——它是指令简报,不是文档。

代价是里面的所有内容都会被一直加载。指令会不断累积,其中大部分与当前任务无关;一份过长的 Agent.md 既消耗 Token,又会稀释自己——上下文里的指令越多,模型就越不可靠地执行其中任何一条。

避免:把应该渐进式披露的内容放进 Agent.md——里面的任何内容都会在每一轮、每个 Session 中支付 Token 成本,无论该 Session 是否需要。风格指南可以放到 Skill 或上下文指针后面;Agent.md 只保留到处都适用的条目。

用法:

“为什么每个 Session 一开始就烧掉了 4k Token?”

“看看 Agent.md——有人把整个风格指南贴进去了,而没有把它放到 Skill 后面。”