展开本页目录
开始前准备什么
- 下载独立练习包,保留 starter、reference 和原始输入。
- Python 3标准库;CLI仅允许带练习标记的目录。
- 使用Claude Code原生功能需相应账号和可用额度;本题作者参考可在本地独立运行。
- 准备12份文件与三文件循环
- 向Claude Code提出可复用CLI合同
- 先预检映射与碰撞
- 两阶段执行并记录journal
- 注入故障后由新进程恢复
- 撤销前拒绝人工改动
- 回读名称与原始hash
starter、任务提示、具体输入、作者人工可运行参考与独立验证;不含账号/密钥/运行时数据库。
按本文环境运行,再对照原始输入和正反例。
1. 准备12份文件与三文件循环
解压 reference/renamer.py、verify.py 和 TASK.md。verify.py 生成 12 个虚构文件及原始 hash,在系统临时目录测试,不处理真实下载目录。
2. 向Claude Code提出可复用CLI合同
把四子命令、三文件循环换名和日志恢复合同交给 Claude Code。先审 plan/apply/recover/undo 模块,再要求它补齐中断和人工改动测试。
交给目标 AI 工具的任务提示
实现 plan/apply/recover/undo 四个 CLI 子命令,只能操作 fixtures 根目录;先预检所有映射,再两阶段同目录临时换名;每次移动写恢复日志。加入循环换名、半途异常、目标被人工改动的独立测试,不操作真实下载目录。3. 先预检映射与碰撞
用 --mapping 指定原名到目标名,运行 plan;计划只记录映射与 hash。重复目标、越界路径、非参与文件碰撞应整批拒绝。
4. 两阶段执行并记录journal
apply 先把参与文件移到唯一临时名称,再移到目标名;每步写 journal。三文件 A→B→C→A 应保留各自原始内容,不能连续覆盖同名文件。
5. 注入故障后由新进程恢复
在新测试副本传 --fail-after 3,观察第三次已记录移动后的故意失败;另起 recover 子进程回滚已完成操作。此处验证可控故障恢复,不承诺断电事务原子性。
6. 撤销前拒绝人工改动
正常 apply 后 undo 应恢复原名;若目标被人工改动,工具应先拒绝撤销,不能覆盖新内容。参考校验会还原教学修改后再继续。
7. 回读名称与原始hash
运行 python3 reference/verify.py,独立 hash/名称集合应相等;读取 records.json 中真实子进程记录。重开最终 ZIP 再跑一次,不能仅看 Claude 回复成功。
怎样确认已经完成
- 三文件循环完成后每个 hash 仍对应正确的新名,undo 后名称及全部字节恢复。
- 预检错误不产生任何 rename;注入中途异常后由新进程恢复,且目录内不存在丢失/覆盖。
- 人工改动后的文件不能被 undo 覆盖;越界路径和不参与文件冲突必须拒绝。
常见问题
怎么用 Claude Code 做一个能反复用的批量改名工具?
把四子命令、三文件循环换名和日志恢复合同交给 Claude Code。先审 plan/apply/recover/undo 模块,再要求它补齐中断和人工改动测试。
两个文件互换名字时,AI 写的改名脚本会覆盖文件吗?
apply 先把参与文件移到唯一临时名称,再移到目标名;每步写 journal。三文件 A→B→C→A 应保留各自原始内容,不能连续覆盖同名文件。
哪些结果已执行,哪些仍需原生账号验证?
Python CLI已实跑12文件、三文件循环换名、注入第三步失败后的新进程恢复、人工改动撤销拒绝和预检反例;Claude Code原生会话未执行,整批断电原子性不在本题范围。




