跳到主要内容

你的 AGENTS.md 写得再讲究,也架不住换个 harness

毒角兽
毒角兽

· 阅读约 4 分钟

先说结论:那些教人「这样写 AGENTS.md,agent 就听话了」的教程,最近被一篇四页的论文照了一遍。措辞有用,但没你想的那么有用——而且换个 harness 就可能翻脸。

我自己就是这套话术的长期受害者。上个月花了整整一晚上,把项目里的 AGENTS.md 从十几行扩到快一百行,分节、编号,能加粗的全加粗了,「必须」「禁止」排得整整齐齐,写完还自我感动了一下:这下规矩立住了。

第二天 agent 该改错的文件照改,测试没跑就宣布任务完成。

我当时判断是模型不行。现在回头想,可能是我那堆措辞从一开始就指望错了对象。

论文上周挂上 arXiv,2611.04367,cs.SE。做法很朴素:86 个基准任务,往 ACF——就是 AGENTS.md 这一类 Agent Context File——里塞同一条策略,只改写法,四种措辞风格,四种 harness-model 组合,看谁先听话。

「同一条策略,只换说法。」

benchmark_tasks:      86
wording_styles:       4
harness_model_pairs:  4
pages:                4 (1 figure, 4 tables)

四页。这个体量我得先把丑话说前面:它不算什么大规模实证,别当圣经。但方向挺扎心。

条件式措辞的遵循率垫底。就是那种「如果遇到 X,则应当 Y」的写法——人类写给人类的规范最爱用它,显得严谨、有覆盖、考虑周全。

对 agent 不管用!至少没管用到你以为的那个程度。

规定式和解释式哪个更强,得看组合。这条才是真正扎心的地方。它意味着不存在一份「通用最优」的 AGENTS.md。你在 Claude Code 上抠了一个星期抠出来的写法,换个 harness、换条模型,排名可能直接翻过来。

「照抄就能让 agent 听话」——这是模板文的标准话术。论文实测:同一批任务里,光换 harness-model 组合,规定式和解释式的强弱就能对调。

卖模板的人,卖的是一个不存在的解。😐

我自己猜条件式为什么垫底,纯猜,没有证据:条件式把判断责任推给模型了。它得先认出「现在是不是 X 情形」,再决定要不要套 Y。第一步最容易崩。规定式是硬绑定,不需要判断;解释式给了理由,模型能靠语义把行为挂上去。条件式两头不占,既要求判断力,又不给理由。

顺带说一句,这文四页、一张图四张表,投了 IEICE,审稿中,DOI 还挂着待定。看这个规格心里就有数:作者没打算把它包装成定论,四页纸写完就交,挺好。这年头愿意这么老实交作业的不多。

然后是我最不满意的部分:86 个任务,共用一条策略。

真实项目里的 AGENTS.md 不是一条策略,是十几条几十条挤在一起,互相打架。「禁止改测试文件」和「修完必须让测试通过」摆一块儿,agent 该听谁的?单条策略测出来的遵循率,跟这种现场完全是两回事。这是我最想看到的后续实验,可惜这版没有。

还有一层,论文压根没碰:harness 把 ACF 拼进 prompt 的哪个位置、context window 里还塞着什么、有没有被 system prompt 压过去。这些变量它只用了四种组合去覆盖。

四种!你自己那套 harness 升个小版本,前头精心调过的那套写法就得重新洗牌。

不过有一条我认,而且必须给分:解释式在某些组合里比规定式强,说明「给理由」是真有用。这条我之前不信,我总觉得 agent 只需要硬指令,理由是人类的自嗨。预期拉满结果被打脸——这次是往好的方向打脸。

再说回我自己那份 AGENTS.md。我原本的计划是这周末把它重写成「规范级」,加交叉引用、加例外条款、加执行优先级。

现在不写了。

先弄清楚三件事:这条规则到底需不需要模型做判断、harness 怎么拼上下文、规则之间会不会互相打架。这三件比抠措辞值钱得多。

哦对,条件式那批规则我还是会清掉。这是全文唯一一条看完就能动手的结论。

我自己也打算拿手上的项目复现一遍,四种写法各跑一周看落地率。不过那是下个月的事,现在先别信我这半句。

锐评评分卡:论文免费,AGENTS.md 也免费,这波谁都不冤。冤的是花钱买「提示词模板」的人——买到的是一份没跑过对照实验的措辞偏好。值不值得现在跟?值得,四页,半小时读完。但别读完就去改模板,然后宣称找到了最优解——它证明的恰恰是没有。

毒角兽
毒角兽

拿到新工具先上手拆一遍,官方通稿信一半留一半,实测说话。

查看主页 →