Claude Code 实战:放手让它跑几个小时,回来还能信得过
一句话
Claude Code in Action 解决一个问题:怎样让 Claude 连续工作几个小时、没人盯着,结果依然可信。课程分 4 块:引导(计划模式、定向压缩、回退、目标与循环)、配置(精简的 CLAUDE.md、验证型 Skill、权限模式、hooks)、自动化(routines、无头模式、GitHub Actions 与代码审查)、验证与分享(按监督程度决定核查力度、用插件分享整套配置)。
这篇导读覆盖的课程
- Claude Code in Action —— 4 个单元 + 测验;2026 年改版后的内容
课程结构
- 引导工作 · Steer the Work
- 用计划模式划定范围;定向压缩;用回退菜单纠偏;手动引导与自主运行(/goal、/loop)怎么选。
- 配置 Claude · Configure Claude
- 让 Claude 真会遵守的 CLAUDE.md;验证型 Skills;权限模式;hooks。
- 自动化重复工作 · Automate Repeat Work
- routines 与无头模式;GitHub Actions 与托管代码审查。
- 验证与分享 · Verify and Share
- 核查无人值守的运行;把信得过的配置打包成插件。
- 测验
- 课程测验。
精华:这门课真正要你带走的东西
长任务的核心矛盾:你看得越少,越要提前设计好“怎么知道它做对了”。整门课围绕这一点展开。
1. 引导:开始前划清范围,过程中及时纠偏。
- 计划模式划范围。长任务开始前,先在计划模式里定下要改什么、不改什么、怎样算完成。范围不清的长任务,跑得越久偏得越远。
- 定向压缩。
/compact可以带说明,例如“保留所有失败过的方案和原因”。不加说明时,摘要可能丢掉你最在意的细节。 - 回退。连按两次 Esc 或用
/rewind回到之前的检查点,撤销对话和代码改动。走错方向时回退比“在错误基础上继续改”更省。 - 目标与循环。
/goal设定一个完成条件,Claude 持续工作直到条件满足;/loop让一个提示按间隔重复执行。适合目标明确、可以自动判断是否完成的任务。
2. 配置:建议靠 CLAUDE.md,强制靠 hooks。CLAUDE.md 越长,每条规则被遵守的概率越低,所以要精简,只写真正影响结果的规则。把反复使用的流程(例如“完成前跑全部测试并贴出结果”)写成 Skill。选对权限模式:探索用计划模式,迭代用自动接受编辑,长任务用自动模式(由分类器替你审核操作),完全隔离的容器里才考虑跳过所有权限。不能违反的规则(不许改迁移文件、提交前必须通过 lint)写成 hooks,因为 hooks 每次都会执行。
3. 自动化:把重复工作交给定时和事件。routines 把提示词、仓库和连接器存成一份配置,在 Anthropic 云端按计划、API 调用或 GitHub 事件触发运行,电脑关机也照跑。无头模式(claude -p)在你自己的脚本或 CI 里非交互地运行。GitHub Actions 让团队在 issue 或 PR 里 @claude 派活;托管代码审查在每个 PR 上自动审查并留行内评论。
4. 验证:监督越少,核查越严。你全程盯着的会话,扫一眼 diff 就够;跑了一晚上的任务,要看测试结果、读关键改动、确认没有越界修改。一个实用做法:用 Stop hook 在 Claude 结束回合前强制跑测试,测试不过就不让它宣布完成。课程最后讲把一整套信得过的配置(Skills、hooks、命令、MCP 设置)打包成插件,团队一次安装、做法一致。
关键概念
- 定向压缩(directed compaction)
- 给 /compact 附加说明,指定摘要里必须保留的信息。
- 回退(rewind)
- 回到会话中较早的检查点,可选择恢复对话、代码或两者。
- /goal 与 /loop
- 前者设定完成条件、持续工作到满足为止;后者按间隔重复执行一个提示。
- 自动模式(auto mode)
- 由一个分类器模型代替你审核操作的权限模式,适合长任务,减少确认疲劳。
- routines
- 保存在云端的 Claude Code 配置,可由定时、API 或 GitHub 事件触发,在 Anthropic 托管环境中运行。
- 无头模式(headless,claude -p)
- 非交互地运行 Claude Code,输出结果后退出,用于脚本和 CI。
- Stop hook
- Claude 准备结束回合时触发的 hook,可用来检查测试结果并阻止过早结束。
- 插件(plugin)
- 把 Skills、hooks、子代理、命令和 MCP 配置打包分发的单元。
学前准备
- 学完第 06 篇 Claude Code 101,或已经日常用 Claude Code 做单次任务。
- 有测试的项目仓库。没有测试,就无法验证无人值守的结果。
- routines 需要 claude.ai 付费账号;GitHub 相关练习需要一个你有管理权限的仓库。
动手练一遍
- 精简 CLAUDE.md:打开你的 CLAUDE.md,删到 30 行以内。每删一条问自己:Claude 不知道这条会出错吗?
- 写一个强制规则:用
/hooks加一个 PostToolUse hook,每次编辑文件后自动运行格式化命令。 - 加一道验证门:加一个 Stop hook,结束前运行测试命令,测试失败时阻止结束并把错误交给 Claude。
- 跑一个长任务:在计划模式里定好范围和完成条件,切到自动模式,交给它一个 30 分钟以上的任务(例如给一个模块补齐测试)。离开,回来后按“看测试结果 → 读关键 diff → 查有无越界改动”的顺序验收。
- 无头运行:在终端运行下面的命令,观察输出:
claude -p "列出这个仓库里所有 TODO 注释,按文件分组"
容易卡住的地方
- CLAUDE.md 越写越长。规则太多时每条都被稀释,必须执行的规则改用 hooks。
- 没有完成条件就放手。Claude 不知道何时算完,就会过早停或一直做。
- 压缩时不给说明。关键的失败记录和约束可能在摘要里丢失。
- 看到“运行成功”就当任务成功。成功只说明会话没出基础设施错误,要看记录确认结果。
- 在本机直接用跳过所有权限的模式。它只适合隔离的容器或虚拟机。
延伸阅读
- 上一篇:Claude Code 101 —— 基础工作流和 5 种定制手段
- 权限模式文档 —— 各模式能做什么、怎么切换(英文)
- routines 文档 —— 定时、API、GitHub 三种触发方式(英文)
- hooks 指南 —— 格式化、拦截命令、通知等常见 hooks 写法(英文)
- Claude Code GitHub Actions —— 在 issue 和 PR 中 @claude(英文)