1、多个 AI 工具上下文管理老大难
现在 AI 编程工具是越来越多,掰着手指头数一下,claude code
、cursor
、kiro
、Qwen code、Gemini cli
、trae
、code buddy
等等真的太多了。有的时候在开发过程中需要几个工具切换着来回使用,但是这就带来了一个问题,怎么样去管理上下文?
这些 AI 编程工具都有自己的规则文件,Claude 要 CLAUDE.md
,Cursor 要 .cursor
下面这张图很清晰的展现了各种 AI 工具之间上下文管理的分裂情况
明明一套规则就能搞定,但是只要你换开发工具,就必须维护多份内容高度相似但格式各异的配置文件。当项目规范有变动,就需要在所有这些文件中同步更新,简直是开发者的噩梦。
此后,每出现一个新的 AI 编码工具,开发者就需要在项目中新增一套对应的配置文件。【gzh:和平本记】
2、OpenAI 推出新标准
终于 AI 界的秦始皇来了,OpenAI 最近提出了一个新标准——AGENTS.md,一句话概括:
它是一个专门给 AI 编码代理(Coding Agents)看的 README 文件,让所有工具共用一份配置。
现在已经有一些知名的 AI 编程工具在逐步接受这套标准了,比如 Cursor 和 Gemini CLI
目前 OpenAI 正在推动这套标准,希望 agents.md 能够成为各个 AI 编程工具的默认上下文文件,但是目前 Claude Code 还没有表态,作为目前最好用的 AI 编程工具,如果 Claude Code 也开始遵循这个标准,那估计很快就能在业内推广开来。
3、如何使用 AGENTS.md ?
开发者只需在项目根目录创建一个名为 AGENTS.md
的文件。在这个文件中,你可以清晰地定义:
项目概述:项目目标、核心功能等。
开发环境与指令:如何安装依赖、启动服务、运行测试。
代码风格指南:例如,使用 TypeScript 严格模式、单引号等。
提交流程:Commit 信息的格式、Pull Request 的规范等。
案例:
# AGENTS.md## 项目简介这是一个基于 Next.js + TypeScript 的 Web 应用。## 开发规范- 代码风格:Prettier + ESLint- 命名规范:驼峰命名- 提交信息:遵循 Conventional Commits## 常用命令- 启动开发环境:npm run dev- 运行测试:npm test- 构建:npm run build## 注意事项- 不要直接修改 dist 文件夹- 新功能开发请写单元测试
定义好以后,任何支持 AGENTS.md
标准的 AI 编程工具在开始工作时,都会自动读取并理解这个文件的内容。
这意味着,你只需要维护这一份通用说明书,就能指导所有兼容的 AI 工具高效、一致地在你的项目上工作。【gzh:和平本记】
4、Cursor 和 Gemini CLI 中怎么使用?
上面我们已经说了 Cursor 和 Gemini CLI 已经率先支持了这套标准,但是现在我们还不能简单地把 AGENTS.md
文件丢进项目里就期望所有工具都能自动识别它。
虽然这个标准的目标是自动化,但目前大多数工具仍然需要一个一次性的简单配置,才能被识别。
1、Cursor 中配置
1)在你的项目根目录中找到或创建一个 .cursor
文件夹
这个文件夹通常是隐藏的,你可能需要在文件管理器中开启「显示隐藏文件」的选项才能看到它。如果不存在,手动创建一个即可。
2)在 .cursor
文件夹内,找到或创建一个名为 settings.json
的文件
- 这个 JSON 文件就是用来存放 Cursor 在该项目中的特定配置的。
3)在 settings.json
文件中,添加 userContext
配置,并指向 AGENTS.md
文件。
{ "userContext": { "retrievers": [ { "id": "file", "path": "AGENTS.md" } ] }}
如果你的 settings.json
文件是空的,可以直接将上面整个代码块粘贴进去。
如果你的 settings.json
文件已有其他配置,请确保将 "userContext": { ... }
作为一个新的顶级键值对添加进去,注意不要破坏了原有的 JSON 格式(确保逗号使用正确)。
例如,如果你的文件原本是这样:
{ "autoSave": "onFocusChange"}
添加后应该变成这样:
{ "autoSave": "onFocusChange", "userContext": { "retrievers": [ { "id": "file", "path": "AGENTS.md" } ] }}
4)测试结果
为了方便我就写一个简单规则
Cursor 已经应用了规则
2、Gemini CLI 中配置
1)在你的项目根目录中,找到或创建一个 .gemini
文件夹。
2)在该文件夹内,找到或创建一个名为 settings.json
的文件。
3)打开 settings.json
文件,将下面的代码片段复制进去。
{ "contextFileName": "AGENTS.md"}
4)测试结果
Gemini CLI 已经应用了规则
5、常见问题
1、AGENTS.md 是否有必填字段?
没有。AGENTS.md 只是标准的 Markdown 格式。你可以添加任何你需要的规则【gzh:和平本记】
2、项目中如果存在多个 AGENTS.md 加载顺序是怎么样的?
原则:离你正在编辑的文件最近的那个 AGENTS.md
文件说了算。
最近如何定义?
「最近」指的是在文件目录结构上的物理距离。当 AI 代理需要为一个文件(比如 component.jsx
)工作时,它是这么去做的:
1)先在当前文件所在的文件夹里找有没有 AGENTS.md
。
2)如果没找到,就去上一级父文件夹里找。
3)再没找到,就继续往上找,直到项目的根目录。
4)它会使用它最先找到的那个 AGENTS.md
文件。
3、可以随时更改 AGENTS.md 文件吗?
当然可以,你可以把AGENTS.md
当成一个动态文档。
6、最后
AGENTS.md 不只是一个新文件,它可能成为未来 AI 开发的统一标准。意味着以后你换工具,不需要再花时间写一堆重复配置。越来越多的 AI 工具会兼容它,就像当年的 README.md 一样成为标配。【gzh:和平本记】