AI 实践指南 10:让 AI 遵循你的工作习惯
第 8 篇「一次任务背后,AI 是怎么干活的」出第二期简报的时候,我贴了一大段要求:去哪些地方找、时间窗口怎么算、时区怎么换、哪些不要、交回来什么样。每出一期都贴一遍,太麻烦了,而且哪天漏贴一句,它就可能做歪。
这篇就把这些要求写进一份说明文件,让它每次自己照着做。
说明文件就是一份写给 AI 看的说明,也就是「规则」,放在项目文件夹里,Agent 每次开始干活之前都会先读一遍。有点像新同事入职时拿到的那份手册:这个项目做什么,有哪些约定,哪些事不能做。
这个文件一般叫 AGENTS.md,Codex 和 Claude Code 都认,当然 Claude Code 会优先看自己的 CLAUDE.md。放在项目文件夹的最外层。
这类文件各家的叫法不太一样:Claude Code 的文档里叫说明(instructions),Codex 叫自定义说明,Cursor 叫 Rules,很多人也习惯叫它规则文件,说的都是这类写给 AI 看的说明。只有一点要注意:Codex 里也有一个叫 Rules 的东西,管的是哪些命令可以直接运行、哪些要先问你,是权限设置,不是这篇说的说明文件。
让它自己写说明文件
说明文件不用自己一条条写。Claude Code 里有个现成的命令 /init,在项目里输入它,它会把整个项目看一遍,自动生成一份 CLAUDE.md 的初稿,已经有的话,会在原来的基础上提修改建议。Codex 的命令行版也有 /init,生成的是 AGENTS.md。
不过 /init 主要是从项目里已有的文件里找信息,像项目结构、常用命令这些。简报的时间窗口、时区怎么算这些规矩,只在我上次的提示词里,它从文件里看不出来。所以这次我是新开一个会话,直接把上次那一长段要求交给它,让它整理成说明文件:
每次出简报,我都要贴一大段要求:信息源、时间窗口、时区换算、只要官方来源、数据格式、交付方式。帮我把这些整理成这个项目的规则,写进 AGENTS.md。
要求:
- 参考 README、raw 和 data 里已有的两期,以及下面我上次给的要求
- 只写每次出简报都要遵守的东西,具体哪一天,每次再告诉你
- 写清楚、简短,一条一条的,不要长篇大论
- 写完先别提交,给我看看
上次的要求:
(这里贴上第 8 篇的那段提示词)一分钟左右,它写好了,七十多行,分成信息源、时间窗口、收什么不收什么、打不开的页面怎么记、原文和数据的格式、怎么交付几块。比如时间窗口这一块:
- 窗口是北京时间当天 00:00 到次日 00:00,窗口外的一律不收。
- 开始前先把窗口换算成 UTC 和美国太平洋时间,写在原文开头。注意夏令时:PDT 是 UTC−7,PST 是 UTC−8。
- 官方日期多数是美国时间,不能直接当北京日期用。
- 发布说明只标日期时,先找同一条的其他官方时间依据(推文、博客、RSS);找到就按精确时间判断。
- 找不到精确时间、官方日期又是当天的,收录并标“时间未公开”;官方日期不是当天的不收。它还标出了几条不是我原话、而是从前两期的实际做法里总结出来的,比如只有日期的条目怎么判,普通抓取被拒了可以换浏览器打开,客户案例、社区展示不算产品变化。这几条都是前两期真碰到过的情况,我都留下了。说明文件里的条目,本来就该从这些踩过的坑里来。
不过它最后说错了一句:Claude Code 默认只读 CLAUDE.md,不会读 AGENTS.md,建议我再加一个文件。但现在的 Claude Code 其实会读它,官方文档写的是:项目里有 CLAUDE.md 就读 CLAUDE.md,没有的话就读 AGENTS.md。当然我也测试了一下,新开了一个会话,不让它读任何文件,只问它现在加载了哪些说明文件,它答出了 AGENTS.md 的第一个标题。第 5 篇「AI 交回来的东西,怎么检查和纠正」讲的那套检查,对说明文件本身一样适用。
模型对自家工具的了解也会过时。模型的知识停在训练的那一刻,它训练的时候,Claude Code 还不支持 AGENTS.md,它记住的就是只能读 CLAUDE.md。这次的问题在于,它没去查,凭记忆就下了结论。
要解决这类问题,靠的不是等下一个模型,而是让它在干活的时候去拿最新的资料:联网查官方文档,读项目里的说明文件。后面要讲的 Skill 和 MCP 等,也是这个思路:把模型训练时没有的知识、用不上的工具,在需要的时候接给它,不用重新训练模型,知识也能随时补。所以碰到和工具版本有关的问题,最好让它先查官方文档再回答。
一句话出第三期
说明文件看过没问题,提交上去。然后新开一个会话,这次只说了一句:
出一期 10 月 30 日的简报。第 8 篇那一长段,这次一个字都没给。它用了 8 分半,说明文件里写的都照做了:开头先把窗口换算成 UTC 和太平洋时间,还提醒了夏令时 11 月 1 日才结束;只查规定的来源,每条都写清楚发布时间是怎么确认的;只有日期的那条标了“时间未公开”;卡在窗口边上、最后没收的 12 条也列了出来;没加载全的页面如实写了;本地预览真的打开看了,没有提交,最后按说明文件里的三件事汇报。
我抽查了两条的发布时间,和 GitHub 上的记录对得上。现在打开 https://brief.ikookblog.com 就能看到三期。
说明文件是一点点补出来的
这次它还提了一个问题。说明文件里有一条,网页用的数据只能来自原文,可上一期我把几条“要不要调整用法”从“不需要”改成了“可以关注”,只改了数据,没改原文。这次它严格照着说明文件走,原文写“不需要”,数据就写“不需要”,然后把两边对不上的地方报给了我。
上次那几条,是政策、安全、研究计划这类消息,不算产品功能变化,但用 AI 工具的人值得知道。我当时是凭感觉改的,没有写下来,它自然不知道。所以这次把这个口径补成了一条:
- “是否调整用法”:不是产品功能变化、但和 AI 工具使用相关的官方消息(政策、安全、研究计划这类),写“可以关注”,不写“不需要”。再让它按这条把三期都统一了一遍。以后每一期都按这个口径,不用我再一期期地改。
Anthropic 的官方文档里有个说法很实用:同样的纠正,说了第二遍,就该写进说明文件。说明文件也不是越长越好,官方建议一个文件控制在 200 行以内,写得越具体、越简洁,AI 越能稳定地照做。还有一点要知道,说明文件只是写给它看的说明,不是强制的开关,它大多数时候会照做,但交回来的东西还是要看一眼。
说明文件有好几层
说明文件不只一个,按管的范围分好几层。以 Claude Code 为例:
| 文件 | 放在哪 | 管哪些 | 谁能用 |
|---|---|---|---|
| 全局说明 | ~/.claude/CLAUDE.md |
你所有的项目 | 只有你 |
| 项目说明 | 项目里的 CLAUDE.md(也可以放在 .claude/CLAUDE.md),或者 AGENTS.md |
这一个项目 | 跟着项目走,放进 GitHub,别人拿到项目也能用 |
| 个人项目说明 | 项目里的 CLAUDE.local.md |
这一个项目 | 只有你,不要提交 |
| 公司统一说明 | 系统目录,由管理员放 | 公司里每个人的所有项目 | 全公司 |
全局说明写你自己的习惯,换哪个项目都一样:怎么称呼你、用什么语言、回答先说结论还是先说过程。第 9 篇「上手 Agent,装好、打开、做完第一件事」截图里它叫我 Steve,就是因为我在全局说明里写了一句“叫我 Steve”。
项目说明写这个项目的事:简报的信息源、时间窗口、数据格式。它跟项目放在一起,简报项目推到 GitHub 之后,别人下载下来用 Agent 打开,也是按这套说明出简报。
CLAUDE.local.md 是只给自己用的项目说明,适合放不想公开、或者只跟你这台电脑有关的东西,比如自己的测试账号、本机的文件路径。官方建议把它加进 .gitignore,也就是告诉 Git 不要把它提交上去。
公司统一的那一层是给企业管理员用的,个人一般碰不到。
这几层不是谁覆盖谁,而是全部读进去,从大到小排:先全局,再项目,最后是你自己的本地说明,离你越近的越后读。所以几层之间别写互相矛盾的话,官方文档说得很直白,两条矛盾,它可能随便挑一条。
项目里的说明多了,还可以拆开:在项目的 .claude/rules/ 文件夹里按主题放几个文件,Claude Code 管这些叫 rules,比如一份写格式、一份写信息源,还可以指定某些只在处理某类文件时才读。子文件夹里也能放 CLAUDE.md,进到那个文件夹干活时才会读。
Codex 的结构差不多,只是文件都叫 AGENTS.md:全局的在 ~/.codex/AGENTS.md;项目里每一层文件夹都可以放一个,越往里的越后读;想临时换一套说明又不想删原文件,可以放一个 AGENTS.override.md,它会优先用这个。
所以不想被某个工具绑住的话,项目里只写一份 AGENTS.md 就够了:Claude Code 现在也支持它,Codex、Cursor、Gemini CLI 这些也都认,换工具不用重写。简报项目就是这样,只放了 AGENTS.md。
如果你主要用 Claude Code,项目里已经有一份 CLAUDE.md,又想让它同时读到 AGENTS.md,就在 CLAUDE.md 里加一行 @AGENTS.md,它读到这一行,就会把 AGENTS.md 一起读进来。不加的话,有 CLAUDE.md 就只读 CLAUDE.md。
还有一样容易和说明文件搞混的,是目前大多数 AI 都有的自动记忆:你纠正过它的地方、你的偏好,它会自己记成笔记,下次自动带上。说明文件是你写给它的,记忆是它自己记的,记忆这块第 13 篇再细说。
不写代码,也一样用得上
说明文件不只是给研发人员用的。只要一件事你经常交给 AI、每次都要重复交代,就可以写一份。比如写周报,可以建一个周报文件夹,里面放一份这样的 AGENTS.md(这是我随手写的示例):
# 周报说明
- 读者是部门负责人,用中文,控制在一屏以内
- 按“本周完成、遇到的问题、下周计划”三部分写
- 每条写结果,不写过程;有数据的写数据
- 素材在 notes 文件夹里,只用里面写到的内容,不要补充
- 有不确定的地方先列出来问我,不要猜你也可以试试:找一件经常让 AI 做、每次都要重复交代的事,比如上面的周报,或者回邮件、整理会议记录,把每次都要说的那几句,写成三五条,放进那件事文件夹里的 AGENTS.md。下次只说一句“写本周的周报”,看看它是不是照着来了。
说明文件写好了,出简报只要一句话。不过“出一期简报”这件事本身,查哪些页面、按什么顺序、怎么核对,还是一套完整的步骤,下一篇就把它做成一个 Skill,让它下次直接照着这套方法做。
相关阅读:
AI 实践指南 01:让所有人把 AI 真正用起来
AI 实践指南 02:模型、聊天工具和 Agent,我们到底在用什么
AI 实践指南 03:ChatGPT、Claude 开通指南,一步步来
AI 实践指南 04:怎样把一件事交给 AI
AI 实践指南 05:AI 交回来的东西,怎么检查和纠正
AI 实践指南 06:从需求到交付,做出第一期简报
AI 实践指南 07:让 AI 围绕一个项目持续工作
AI 实践指南 08:一次任务背后,AI 是怎么干活的
AI 实践指南 09:上手 Agent,装好、打开、做完第一件事
题图标题:《风筝》
创作者:ikook
AI 算法提供:
- OpenAI GPT Image 2(题图)
本文图文版权所有,未经授权请勿转载或使用。