[控场AI]
· 4 分钟阅读· 2,117 字

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

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的视角看,它或许「读过一整座图书馆」,但在此刻的对话里,它眼前只有一条消息:「加一个排行榜。」排行榜记录什么数据?用什么格式展示?它无从得知,于是只能写出最普通、最想当然的版本。

Add a leaderboard.

没有上下文,AI只能「想当然」

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

nobody checked that the quiz still opens

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

把规则写下来一次,就够了

Maya的解法很简单:把这些规则在项目里的一个小文件中写下来,一次就好。这个文件最终只有九行。

It comes to nine lines

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

The file was simply read again

这个转变的关键在于:与其依赖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真正为你所用的起点。

分享:

相关推荐