核心论文
arXiv:2602.11988 — Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents? (2026-02-12)
- LLM 生成的 context files 降低成功率 3%
- 人写的 context files 仅提升 4%
- 推理成本增加 >20%(agent 做更多探索)
- 跨 Sonnet 4.5、GPT-5.2、Qwen 3 等模型一致复现
Theo 的核心观点(基于视频转录)
1. 模型已经很擅长自己找信息
- 模型会自己
rg搜索、读package.json、遍历目录结构 /init生成的内容基本是模型本来就能找到的东西- 实测:在 Lawn 项目上,
/init读了 21 个文件、搜索了 6 个 pattern,花了 1 分钟就写出了 CLAUDE.md —— 说明这些信息本来就很容易获取
2. 多余 context = 干扰(Pink Elephant 效应)
- “Don’t think about pink elephants” — 你告诉模型某个东西存在,它就会倾向于使用
- T3 Chat 的 AGENTS.md 提到了 tRPC,导致模型在不该用 tRPC 的地方也去用(实际上大部分功能已迁移到 Convex)
- 如果信息在代码库里能找到,就不需要放在 AGENTS.md
3. Context Files 会过时
- 代码库变了但 MD 没更新 → 模型被误导
- 例:项目结构变了但 AGENTS.md 里的文件路径没更新 → 模型持续把文件放错位置
- 即使是刚
/init生成的也可能很快过时
4. 实测验证
- Lawn 项目:“video pipeline 有什么优化?”
- 无 CLAUDE.md:1 分 11 秒完成
- 有 CLAUDE.md(freshly init):1 分 29 秒(慢 25%)
- 与论文的 20% 成本增加数据吻合
- Agent 有 CLAUDE.md 时更快定位文件名,但整体反而更慢(因为被引导去特定路径,减少了自主探索)
5. Context 管理的层级体系
Theo 详细解释了 LLM 的 context 层级:
- Provider Instructions(最高优先级)— 如 “不帮人造核武”
- System Prompt — 模型供应商写的
- Developer Message — AGENTS.md / CLAUDE.md / Cursor Rules 所在的层
- User Prompt — 用户的实际提问
- 你放在 AGENTS.md 里的东西会被模型在每一次 token 生成时都考虑到
困惑陷阱 (Confusion Trap)
最有价值的实践方法:
在 AGENTS.md 里写:
“如果你遇到令人惊讶的事情,请修改这个文件记录下来”
Theo 的原话大意:
“我给的指令不是我真正想让它做的。我不想让 agent 一直改 CLAUDE.md。我想让它在卡住时尝试去改——这样我就能看到它觉得什么是令人困惑的,然后我去修代码结构。”
具体做法:
- 4/5 的情况:根据 agent 暴露的困惑点,改代码结构消除困惑
- 1/5 的情况:确实需要写进 AGENTS.md
- 本质:最小惊讶原则的反面应用——只记录那些会让 agent 惊讶的地方。
可落地建议
- 不要用
/init自动生成 — 纯浪费 context,模型本来就能找到这些信息 - 只在模型反复犯同样错误时才加规则 — 如一直不跑 type check
- 优先改代码结构而非加 MD — 更好的测试/类型/结构 >> AGENTS.md 补丁
- 如果模型找不到东西 → 东西放的位置不对,移动它
- 如果模型用错工具 → 可能不是合适的工具
- 如果模型改了一处导致其他地方崩 → 需要更好的反馈系统(测试、类型检查)
- 故意”骗” agent 来引导行为:
- “这个项目没有用户,随便改 schema” — 避免不必要的迁移工作
- 让 agent 做 step 3 来间接解决 step 2 的卡顿
- 每次新模型发布时重新评估 — 看哪些规则还需要,Theo 发现每次新模型发布都能删掉更多规则
- 减少 context 来源以便诊断 — 如果你有巨大的 CLAUDE.md + 一堆 skills + MCP servers + cursor rules,出问题时根本无法定位原因
关于 Skills 的态度
Theo 提到对 skills 也持怀疑态度,计划单独做一期视频讨论。暗示 skills 可能也有类似的 context 污染问题。
一句话
AGENTS.md 应该是最小化的「纠错文件」,不是「代码库百科全书」。模型自己能找到的信息,不要塞给它。
Takeaway
- AGENTS.md 是 band-aid solution,优先改代码结构
- 困惑陷阱方法论:让 agent 暴露它的困惑点,然后改代码而非改 MD
- 少即是多:减少 context 来源,让模型自主探索