EMON TECH MEDIA · PAPERS — DNA·52CD39

Why Does CLAUDE.md Keep Growing? Catastrophic Remembering in Agentic Coding

这篇论文揭示了一个反直觉的现象:AI 编程助手(如 Claude Code)的指令文件 CLAUDE.md 会像“记忆雪球”一样无限膨胀,作者称之为“灾难性记住”(catastrophic remembering)——它是灾难性遗忘的镜像问题,并证明在提示词中写入“注释”可以显著遏制这一增长,甚至提升真实任务中的指令遵

发表日期

作者

Kushal Chakrabarti

影响力

87.8

阅读时长

约 5 分钟

标签

Agent

Why Does CLAUDE.md Keep Growing? Catastrophic Remembering in Agentic Coding

一句话概括

CLAUDE.md 这类智能体编程指令文件会无界增长,作者称之为「灾难性记住」。在提示词中写入注释可遏制增长,并提升真实任务的指令遵循能力。

速览

  • 任务与方法:追踪 1,867 个仓库中 247,694 条指令的生命周期,并用反转 IFEval 构造可验证世界。
  • 关键数字:指令文件生命周期内增长 +226%,每次提交净增 4.9 条指令;注释使多余指令减少 99.3%;WildIFEval 上指令遵循提升最多 23.1%。
  • 数据与开源:摘要未给出。
  • 结论:注释记录指令理由,可打断「越老越难删」的僵化循环。

问题背景

人类团队的 README 通常有生命周期:项目稳定后文档会收敛,甚至被精简。

但 agentic coding(智能体编程)场景下,CLAUDE.md 这类指令文件只增不减。

作者从成本结构切入。追加一条指令几乎零成本,写一行字即可。

删除一条指令的代价却是指数级的。一旦指令背后的理由(rationale)丢失,就无法确定删除它是否会在某个隐藏场景下引发正确性回退。

这种验证成本在最坏情况下是 O(2^|D|),其中 |D| 是当前指令总数。

于是形成恶性循环:指令越积越多,文件越来越长,删除决策越来越难。

作者把这一现象命名为「灾难性记住」(catastrophic remembering),它是持续学习中「灾难性遗忘」(catastrophic forgetting)的镜像。

方法要点

论文的方法分三层,层层递进。

  1. 大规模实证测量:分析 1,867 个真实仓库中的 247,694 条指令生命周期,追踪每条指令从写入到删除或存活至今的完整过程。
  2. 构造可验证世界:反转 IFEval(Instruction-Following Evaluation)的思路,不用提示词测试模型,而是构造已知最优提示词的任务环境,从而客观验证每条指令的正确性,精确测量多余指令数量。
  3. 真实场景验证:把同样的注释方法应用到 WildIFEval,检验它能否改善真实 agentic 编程中的指令遵循表现。

核心干预手段很简单:在提示词中为每条指令添加注释,记录它存在的原因。

这样,后续删除或修改指令时,模型或人类可依据注释判断该指令是否仍然必要,不必做指数级的全组合验证。

关键结论

  • 指令文件无界增长:agentic 提示词在生命周期内平均增长超过 3 倍(+226%),每次提交净增 4.9 条指令。
  • 越老越难删:指令存活时间越长,被删除概率越低,对数风险率约为 -0.032/提交,呈现僵化效应。
  • 注释能止血:在可验证世界中,编码潜在推理的注释使多余指令减少 99.3%(从 +211.3% 降至 +1.4%)。
  • 真实场景有增益:在 WildIFEval 上,同样的注释方法使真实 agentic 指令遵循能力提升最多 23.1%。

读后思考

这篇论文把提示词工程从艺术推向工程学。提示词文件本质上是持续演化的知识库,而知识库管理的第一原则是记录元数据。

这让人联想到代码注释。我们早就知道代码是给机器看的、注释是给人看的。作者把这句话升级为:提示词是给模型看的,注释是给未来的模型和人类看的。

适用场景明确:

  • 长期维护的 agentic 项目:使用 Claude Code、Cursor 等工具且生命周期超过数月的团队,应为每条指令标注存在原因。
  • 团队协作的提示词管理:多人共同维护指令文件时,注释能减少「不知道这条指令干嘛」的认知负担。
  • 指令审计与清理:定期检查注释中的理由是否仍成立,像代码重构一样做「提示词重构」。

局限与开放问题

  • 注释的元维护:注释本身也需要更新,谁来更新?注释过时会不会误导删除决策?摘要未给出。
  • O(2^|D|) 的严格性:这是最坏情况下的理论界,实际中模型可能靠语义理解近似判断,作者可能高估了删除代价。
  • 样本偏差:1,867 个仓库可能偏向活跃开源项目,小型或个人项目是否同样严重?摘要未给出。
  • 注释的可读性:模型能否可靠理解注释中的理由并据此正确删除?23.1% 的提升是否意味着注释有时也引入噪声?摘要未给出。
  • 最根本的开放问题:如果英语是新的代码,提示词注释是否应成为 agentic 编程的标准实践?是否需要类似 lint 的工具自动标记没有理由的指令?

本页为科普精读;细节以 arXiv 原文为准。就本篇提问请点左下角「论文研读助手」。