用 Claude Code 写代码有一个很烦的事每一轮对话结束它就停下来等你回复。改一个 bug 要来回五六轮你得一直盯着终端看它改完了没然后敲回车让它继续。本质上你变成了一个人肉继续按钮。v2.1.139 加了两个命令直接解决了这个问题。/goal让 Claude 自己干到满足条件为止不用你催claude agents打开一个多会话管理面板让你同时派发好几个任务哪个卡住了一眼就能看到。这篇文章是我实际用了两天之后的完整记录。/goal设一个完成条件它自己干到底最直观的理解以前的工作流是这样的你帮我把 test/auth 下的测试全部修好 Claude改了第一个文件停下来等你 你继续 Claude改了第二个文件又停下来 你继续 ...重复 N 次现在用/goal/goal test/auth 下所有测试通过lint 检查无报错敲完回车Claude 开始干活。每一轮结束后一个独立的评估模型默认用 Haiku会检查你设的条件是否满足。没满足就自动开下一轮满足了就停下来通知你。你不用管去喝杯咖啡回来看结果就行。它和 /loop 有什么区别这是我一开始搞混的地方。Claude Code 有三种自动继续的机制方式下一轮触发条件什么时候停/goal上一轮结束后立刻独立模型确认条件满足/loop设定的时间间隔到了你手动停止或 Claude 判断做完了Stop hook上一轮结束后立刻你自定义的脚本或 prompt 判断简单说/goal是干到条件满足/loop是每隔 N 秒干一次Stop hook 是用你自己的逻辑判断要不要停。大多数开发场景用/goal最自然——你知道终点是什么测试通过、构建成功、文件改完让它自己跑到终点就行。怎么写好一个 goal 条件这里有个关键细节评估模型只看对话记录里 Claude 产出的内容来判断条件是否满足它不会自己去跑命令或读文件。所以条件必须写成 Claude 的输出能证明的形式。好的条件/goal npm test 退出码为 0且 tsc --noEmit 无报错这能行因为 Claude 会自己跑npm test测试结果会出现在对话记录里评估模型看得到。不太好的条件/goal 代码质量提升这太模糊了评估模型没法判断什么时候算提升了。写条件有三个要点一个可量化的终态测试通过、构建成功、文件数量达标、队列清空明确的验证方式npm test退出码 0比测试通过更精确必要的约束如果你不想让它改其他文件写明不修改 src/core/ 下的文件条件最长支持 4000 字符足够写得很细了。还有一个实用技巧在条件里加转数限制。比如/goal 所有 lint 警告清零如果 20 轮还没搞定就停下来这样不会出现 Claude 死循环改来改去的情况。实际用下来的几个场景场景一批量迁移 API 调用我有个项目要把旧的fetch调用全换成封装好的apiClient涉及二十多个文件。以前得一个文件一个文件地让它改现在/goal 项目中不再有直接的 fetch() 调用apiClient 内部除外tsc --noEmit 通过它自己找文件、改代码、跑类型检查、发现问题再修大概跑了十几轮全程不需要我介入。场景二修复测试套件/goal pytest tests/integration/ 全部通过不跳过任何用例Claude 跑测试、看失败原因、改代码、再跑循环到全绿。比我手动一个个修快多了。场景三非交互模式/goal还能在命令行直接用claude -p /goal CHANGELOG.md 包含本周所有合并的 PR 的条目适合放在 CI 里或者写脚本调用。状态查看和中途退出跑着的时候终端会显示◎ /goal active和已经花了多少时间。想看详细状态/goal不带参数直接回车会显示当前条件、已跑轮数、token 消耗、评估模型最近一次的判断理由。想中途停/goal clearstop、off、reset、cancel这几个词也行都是停止的意思。Agent View一个屏幕管所有后台任务问题场景/goal解决了一个任务自动跑到底的问题。但做项目的时候经常是同时有好几件事要处理修个 bug、写个新接口、review 一个 PR、跑一组测试。以前只能开好几个终端窗口来回切换看每个会话的进度。Agent View 把所有会话收到一个面板里。运行claude agents打开一个全屏的管理界面每个任务是一行状态一目了然。基本用法claude agents打开后底部有一个输入框直接输入任务描述然后回车就会启动一个后台会话去干这件事。比如调查 tests/checkout.spec.ts 为什么间歇性失败回车任务出现在列表里状态是Working。再输入另一个任务给 PR #2048 加上缺失的单元测试又一个任务出现。两个并行跑着互不干扰。会话状态每一行前面有个图标表示状态状态含义旋转动画正在工作黄色等你回答问题或授权灰色空闲等你下一步指令绿色任务完成红色出错了列表按状态分组需要你介入的排在最上面。不用一个个翻哪个卡住了一眼就知道。三个核心操作Peek快速查看选中一行按空格弹出预览面板显示这个会话最新的输出或者它在问什么问题。大多数时候看一眼就够了不用进入完整会话。在预览面板里可以直接输入回复。Attach接管按回车或右箭头进入完整会话就跟正常用 Claude Code 一样所有命令和快捷键都能用。Detach放回后台在空 prompt 上按左箭头会话回到后台继续跑你回到管理面板。这三个操作形成了一个很顺畅的循环在面板里扫一眼所有任务状态 → 哪个需要关注就 peek 看看 → 需要深入就 attach 进去 → 处理完 detach 回来。文件隔离机制一个很重要的设计每个后台会话在编辑文件之前会自动创建一个独立的 git worktree。这意味着多个会话可以同时改同一个仓库的文件而不冲突。会话 A 在改src/auth.ts会话 B 也可以在改src/auth.ts各自在自己的 worktree 里操作互不影响。改完之后merge 或者 push 对应 worktree 的改动就行。删除会话时 worktree 也会被清理所以记得在删除之前把想保留的改动提交或推送。从命令行管理不想打开面板也行直接用命令行管理# 启动一个后台任务 claude --bg 调查 flaky 测试的根因 # 查看某个会话的最近输出 claude logs 7c5dcf5d # 接管某个会话 claude attach 7c5dcf5d # 停止某个会话 claude stop 7c5dcf5d # 重启所有停止的会话比如电脑休眠恢复后 claude respawn --all把现有会话送到后台正在跑的会话也可以送到后台。在会话里输入/bg或者带一个额外指令/bg 跑完测试套件然后修所有失败的用例会话会转入后台继续运行你回到管理面板。/goal Agent View 组合使用这两个功能组合起来才是真正的生产力飞跃。我现在的工作流变成了这样打开claude agents派发第一个任务修复 auth 模块的类型错误tsc --noEmit 通过后停派发第二个任务把 utils/format.ts 的函数全加上单元测试覆盖率到 90% 后停派发第三个任务review PR #315 的改动列出所有潜在问题去做别的事偶尔切回来瞟一眼面板每个任务各自带着 goal 条件在后台跑完成了自动变绿。如果哪个遇到问题需要我决策状态变黄我 peek 看一下问题回复一下它继续跑。一个上午能推进的工作量比以前一个个盯着跑提升非常明显。几个注意事项Rate limit后台会话消耗的配额和前台一样。同时跑 10 个会话配额消耗速度大约是 1 个的 10 倍。别贪多根据你的 plan 限额来。本地运行后台会话跑在你本机电脑休眠或关机会中断。恢复后用claude respawn --all重启。版本要求这两个功能需要 v2.1.139 或更新版本。跑claude --version检查一下不够的话claude update更新。Auto mode 搭配/goal管的是什么时候停auto mode 管的是每轮里的工具调用要不要你批准。两个一起开才是真正的全自动——不用批准工具调用也不用手动触发下一轮。说实话用了这两个命令之后以前那种一轮一轮手动推进的方式已经回不去了。AI 编码助手从你说一句它做一步变成了你设个目标它自己跑完这才是正确的交互方式。