Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?
本文评估了仓库级上下文文件(如 AGENTS.md)对编程智能体的有效性,并发现与普遍做法相反,这些文件通常无法提高任务成功率,同时使推理成本增加了 20% 以上。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在雇佣一名非常聪明但略显生涩的助手,来解决你那间庞大且杂乱的工作坊里的一个特定问题。这个助手是一个 AI 编程智能体(AI coding agent)。
为了帮助你的助手,你决定在工作台上留下一份“速查表”或“用户手册”(称为 AGENTS.md 文件)。这份手册旨在告诉助手:
- “这就是我们工作坊的组织方式。”
- “这就是我们建造物品时遵循的具体规则。”
- “这是使用我们特殊工具的最佳方式。”
核心问题是:留下这份速查表究竟是能让助手更快、更好地完成工作,还是只会让他们感到困惑并浪费时间?
研究人员为此设计了一个大型实验来寻找答案。以下是他们的发现,通过简单的语言进行了解释:
1. “速查表”悖论
团队测试了两种类型的速查表:
- 人类编写的: 由实际的工作坊所有者(开发者)编写。
- AI 生成的: 由另一个 AI 编写,仅仅是因为智能体框架要求它这样做。
结果: 出人意料的是,无论哪种类型的速查表,都没有让助手的成功完成率提高。 事实上,无论是否有这份速查表,成功率几乎保持完全一致。
2. “过度准备”的助手
虽然速查表并没有让助手更频繁地得到“正确答案”,但它们确实改变了助手的“工作方式”。
- 没有速查表时: 助手环顾四周,尝试了几种方法,然后解决了问题。
- 有了速查表后: 助手阅读了速查表,非常认真地对待它,然后进行了一次“研究之旅”。他们检查了更多文件,运行了更多测试,并反复检查自己的工作。
代价: 这种额外的“彻底性”是有成本的。因为助手花费了更多时间去阅读和测试,AI 的时间账单上涨了 20% 以上。这就像雇佣了一名侦探,在解决一个简单的丢袜子案件之前,先去读完了整部百科全书。他们非常细心,但既不一定更快,也更贵。
3. “地图” vs. “指令”
研究人员发现速查表的作用存在分歧:
- “地图”(概览): 大多数速查表都包含对整个工作坊的大型描述(“这里是工具房,那里是油漆室……”)。助手阅读了这些内容,但这并没有帮助他们找到正确的工具。这就像是在一个人只需要知道在哪条街角转弯时,给了他一张详细的城市地图。
- “指令”(规则): 速查表中也包含了具体规则(“始终使用红色扳手”、“在打磨前不要涂漆”)。助手完美地遵守了这些规则。他们使用了提到的特定工具,并遵循了特定的步骤。
4. 结论:少即是多(目前而言)
论文得出结论,目前自动生成这些速查表是在浪费钱。
- 如果你使用 AI 来编写速查表,它只会增加废话(冗长的概览),从而让智能体感到困惑并消耗你的预算。
- 如果由人类编写,它比 AI 版本稍微有用一点,但仍然不会显著提高成功率。
底线是:
如果你是一名 AI 智能体开发者,不要只是把一份厚厚的、AI 生成的手册丢给你的智能体。这会让它们工作得更辛苦、成本更高,却不会让它们变得更聪明。
如果你必须有一份速查表,请保持简短。只包含那些具体的、古怪的规则,即那些在代码中并不明显的规则(比如“始终使用红色扳手”)。不要包含关于工作坊的冗长历史;智能体完全可以自己搞清楚这些。
简而言之: 速查表让智能体变成了一个学习更刻苦的“听话学生”,但它并不能让其成为一个成绩更好的“优秀学生”。而刻苦学习是要支付更高的学费的。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。