单元二 和 AI 第一次合作 · 第 9 课
让 AI 动手改文件
这一课 AI 真正动手:把乱糟糟的练习包整理好。你要做的是把需求说清楚、审查它的计划、验收它的成果。
本课目标
- 用“目标、范围、规则、验收”四要素写需求。
- 让 AI 先说计划,确认后再动手。
- 用 Git 验收改动,满意就存档,不满意就恢复。
- 用
AGENTS.md给 AI 立长期规矩。
先懂概念:好需求的四要素
AI 不会读心。需求越含糊,它越要靠猜,猜错了就得返工。一个好需求包含:
| 要素 | 回答的问题 | 例子 |
|---|---|---|
| 目标 | 要达到什么效果? | 让文件一眼就能找到 |
| 范围 | 动哪些东西? | 只整理这个文件夹 |
| 规则 | 什么不能做? | 不要删除任何文件 |
| 验收 | 怎样算做完、做对? | 做完列出改了哪些文件 |
再加一个好习惯:先让它说计划,你同意后再动手。
跟着做
1. 确认有存档
cd ~/ai-course/practice-pack
git status看到 nothing to commit, working tree clean 再继续。如果不是,先回第 8 课做好存档。
2. 用默认权限启动 Codex
codex这次不加 --sandbox read-only,Codex 会使用第 6 课配置的默认权限:可以改当前文件夹里的文件,越界时先问你。
3. 发出需求
请帮我整理这个文件夹。
目标:让文件一眼就能找到。
范围:只整理当前文件夹,不要动外面的任何东西。
要求:
1. 建三个子文件夹:meetings(会议纪要)、expenses(报销)、customers(客户)。
2. 把文件移到对应的文件夹,改成“日期在前、英文小写、用连字符”的名字,例如 meetings/2026-09-15-weekly-meeting.txt。
3. 不要删除任何文件。重复的文件、空文件和 old 文件夹里的文件,统一移到 to-review 文件夹,等我决定。
4. 新建 summary.md,写上所有会议待办事项的表格(负责人、事项、截止日期;同一事项只列一次,截止日期有冲突时两个都写上并标注待确认),以及 9 月和 10 月的报销总额。
验收:做之前先告诉我你的计划,等我回复“可以”再动手;做完后列出你移动、改名和新建了哪些文件。4. 审查计划
Codex 会先列出计划。逐条看一遍:
- 每个文件打算放到哪里、改成什么名字?
- 有没有哪一步写着“删除”?
- 有没有要动当前文件夹以外的东西?
有不满意的地方就直接说,比如“todo list.txt 不属于这三类,也放进 to-review”。确认没问题后回复:
可以,按计划执行。执行过程中如果弹出审批提示,按第 7 课的规矩判断。
你应该看到
用 Git 验收
退出 Codex(/quit)或者新开一个终端,进入练习包运行:
git add -A
git statusgit add -A 把这次所有的改动交给 Git 比较。git status 会列出:
renamed: 旧名字 -> 新名字:文件被移动或改名,内容基本没变;new file: summary.md:新建的文件;deleted: ...:如果出现这一行,说明有文件被删了,要找 AI 问清楚。
想确认被移动的文件内容一点没变,运行:
git diff --cached单纯移动、改名的文件只会显示 rename from 和 rename to;如果某个文件下面出现了以 +、- 开头的行,说明它的内容也被改了,要问清楚为什么。看完按 q 退出。
再打开 summary.md,用第 7 课的标准答案核对:9 条待办,9 月 1622.40 元,10 月 1553.50 元。
满意:存档
git commit -m "整理练习包"也可以直接对 Codex 说“帮我提交一个存档,说明写‘整理练习包’”。它要运行 git commit 时可能会请你批准,这正是你想要的,选 Yes。
不满意:恢复
按第 8 课的后悔药步骤来。刚才运行过 git add -A,第一步的 git restore --staged . 不能省:
git restore --staged .
git restore .预览新冒出来的文件夹和文件:
git clean -nd确认清单里只有 AI 新建的东西(meetings、expenses、customers、to-review、summary.md 等),再删除:
git clean -fd文件夹会回到“原始文件”存档时的样子,你可以改改需求重新来一次。
给 AI 立长期规矩:AGENTS.md
每次都在需求里写“用中文回答”“不要删除文件”,很快就烦了。把这些长期规矩写进文件夹里的 AGENTS.md,Codex 每次在这个文件夹启动时都会先读它。
让 Codex 帮你创建:
请在当前文件夹创建 AGENTS.md,写入以下规则:
- 始终用中文回答。
- 不要删除任何文件;需要清理的文件移到 to-review 文件夹。
- 文件名使用“日期在前、英文小写、用连字符”的格式。
- 动手修改之前,先说明计划并等我确认。创建好以后,输入 /new 开一段新对话,问它:
这个文件夹有什么规矩?它应该能复述出你写的规则。最后别忘了把 AGENTS.md 也存进 Git:
git add -A
git commit -m "添加 AGENTS.md"常见问题
它没等我确认就动手了? 按 Esc 打断,用后悔药恢复,然后把“等我回复‘可以’再动手”写得更醒目,或者写进 AGENTS.md。
整理结果和我想的不一样? 很正常。不必从头再来,直接告诉它哪里不对,比如“客户文件不要改名,保留原名”。
一次要做的事太多,它做乱了? 把大任务拆成几个小任务,做完一个、验收一个、存档一个。
可以让它整理我真实的工作文件吗? 可以,但一定先复制一份副本,或者先用 Git 存档,并且只给它需要的那个文件夹。
自检
- 我能写出包含目标、范围、规则、验收的需求。
- 我审查过 AI 的计划后才让它动手。
- 我用
git status检查过有没有文件被删。 - 练习包已经整理好并存档,
AGENTS.md也已经存档。