AGENTS.md:9行文本如何改写AI的编程答案

在项目中放一个九行的AGENTS.md文件,即可让AI每次对话都遵守项目约定,而非反复犯同样的错误。
AI编程助手没有跨会话记忆,每次对话都从零开始,导致相同的错误反复出现。文章通过Maya的案例展示了一个简单解法:在项目根目录维护一个名为`AGENTS.md`的约定文件,用自然语言写下项目规则、数据规范和不可触碰的边界。支持该功能的工具(Codex、Copilot、Cursor等)会在每次会话开始时自动将其注入AI的上下文,Claude Code则使用`CLAUDE.md`且同样兼容`AGENTS.md`。核心思路是:与其依赖不存在的模型记忆,不如把隐性约定显性化为可反复读取的外部文件。九行文本,就能把一个「通用、想当然」的助手变成真正懂项目规矩的协作者。
同一个AI,为什么答案天差地别
想象这样一个场景:你对AI助手说「加一个排行榜」。两次请求用的是同一个模型、同一句话,结果却截然不同——一次直接搞崩了整个测验网站,另一次却规规矩矩地遵守了所有规则。差别在哪?仅仅是九行文本。
问题的根源不在AI的能力,而在于它能看到什么。从AI的视角看,它或许「读过一整座图书馆」,但在此刻的对话里,它眼前只有一条消息:「加一个排行榜。」排行榜记录什么数据?用什么格式展示?它无从得知,于是只能写出最普通、最想当然的版本。

没有上下文,AI只能「想当然」
这个想当然的排行榜,一口气犯了三个错误:规模太大、超出需求;为一个只显示昵称的俱乐部打印出了完整的真实姓名;而且没人检查过加完排行榜后测验页面还能不能正常打开。

使用者Maya不得不逐一解释这些约束,AI照着修好了。但对话一关闭,AI的「记忆」就被清空。第二天重新开始,它又会犯下一模一样的错误。这正是当前AI编程助手的核心痛点:每一次会话都是从零开始,昨天教过的规则今天荡然无存。隐性的项目惯例——命名方式、数据展示规范、不能破坏的功能——都藏在使用者脑子里,AI看不见。
把规则写下来一次,就够了
Maya的解法很简单:把这些规则在项目里的一个小文件中写下来,一次就好。这个文件最终只有九行。

机制也不复杂。当她在支持该功能的命令行工具里启动一个编程会话时,工具会自动把这个文件和她的请求一起放到AI面前。AI并没有「记住」任何东西——它从来没有记忆——只是这个文件在每次对话开始时被重新读取了一遍。

这个转变的关键在于:与其依赖AI不存在的记忆,不如把上下文变成可以反复读取的外部文件。规则一旦落在文件里,就不会随对话关闭而消失。这也是「上下文工程」思路的一个最朴素体现——与其每次手动喂背景,不如让工具自动注入。
这里提到的「上下文工程」(Context Engineering)是近期AI应用领域兴起的一个实践方向,与「提示词工程」(Prompt Engineering)有所区别。提示词工程关注单次对话中如何措辞以获得更好输出;上下文工程则关注如何系统性地管理AI在整个任务周期内能看到的信息——包括项目文档、历史记录、工具说明和约束规则。AGENTS.md 是上下文工程最轻量的实现形式之一:无需额外基础设施,一个纯文本文件即可将项目级知识持久化,并在每次会话中以零成本注入。随着AI在软件开发中承担更复杂的任务,上下文的质量正在逐渐取代模型参数规模,成为决定输出质量的关键变量。
AGENTS.md 与各家工具的支持
在 Codex、Copilot、Cursor 这类工具里,这个文件被称为 AGENTS.md。它放在项目根目录,用自然语言写下项目的约定、风格偏好和不可触碰的边界。
Claude Code(原文中的「Clawed code」)则有自己的约定文件 CLAUDE.md,而且它也能够读取 AGENTS.md。这意味着一份精心编写的约定文件,可以在多个AI编程工具间复用,不必为每个工具重写一遍。
对开发者来说,这是一个成本极低、回报很高的实践。九行文本看似微不足道,却能把一个「通用、想当然、反复犯错」的助手,变成一个「懂你项目规矩」的协作者。你不需要更强的模型,只需要给它正确的上下文。
AGENTS.md 的命名来源于「AI Agent」概念——即在一定上下文中自主执行任务的AI程序。这类文件本质上是「系统提示」(System Prompt)的项目化落地:传统系统提示由平台或开发者在后台注入,而 AGENTS.md 则把这份控制权交还给项目维护者,以版本可追踪的纯文本文件形式存在于代码仓库中。这意味着团队成员可以像审查代码一样审查AI的行为边界,新成员克隆仓库时也能自动获得同一套约定。CLAUDE.md 与 AGENTS.md 并存的设计,体现了各家工具在争取生态兼容性上的取向——约定文件一旦成为事实标准,跨工具复用就能大幅降低团队迁移成本。
一个值得思考的问题
原视频结尾抛出了一个耐人寻味的问题:如果你的AI在每次对话开始时都会读到一条关于你的笔记,那第一行会写什么?
这个问题的价值在于,它逼你把那些平时只存在脑海里的隐性约定显性化。无论是代码规范、数据隐私底线,还是「测验必须始终能打开」这样的硬性要求——想清楚第一行该写什么,往往就是让AI真正为你所用的起点。
相关推荐

fal.ai API密钥配置与n8n集成完整教程
手把手教你创建 fal.ai API 密钥并连接到 n8n:涵盖官方集成节点配置、凭证保存、HTTP 请求替代方案以及密钥安全注意事项,快速跑通首次 AI 媒体生成工作流。

系统设计面试笔记开源项目:2.4万星的学习利器
开源项目 liquidslr/system-design-notes 整理了经典书籍《System Design Interview》的学习笔记,GitHub 收获 2.4 万 Star。本文解析其内容价值、适用人群及系统设计面试复习建议。

ArtCraft:面向创作者的意图驱动型AI创作引擎
ArtCraft 是一款面向艺术家、设计师和电影制作人的开源「意图驱动型」AI创作引擎,使用 Rust 开发,GitHub Star 数迅速突破 5900。本文解析其产品定位、技术选型与开源策略。