如果你经常使用 Claude Code 进行编程,可能已经习惯了“提问-回答”的模式。但你是否想过,它能做得更多?比如,自动定时检查代码状态,或者像一名不知疲倦的工程师,反复尝试直到修复一个复杂 Bug?这正是 /loop 命令的威力所在。

Claude Code 的创始人曾多次推荐 /loop,将其视为最强大的功能之一。它本质上是一个内置的调度与迭代引擎,能够显著提升开发自动化水平,尤其适合处理两类烦人的事务:
- 需要反复执行的任务:例如定时检查 PR 状态、每日运行测试套件、同步代码与文档。这类任务规则简单但容易遗忘。
- 需要反复试错的任务:例如修复涉及多模块的 Bug、进行大规模技术栈迁移、实现新功能并确保测试通过。这类任务往往无法一次成功,需要“执行-验证-修正”的循环。
/loop 命令完美承接了这两类工作,让你的 AI 编程助手从“应答者”转变为“执行者”。
调度方案选型:/loop、Desktop 与 Cloud 任务
在深入 /loop 之前,有必要了解 Claude Code 提供的三种调度机制,以便正确选型:
|
Cloud 任务 |
Desktop 任务 |
/loop |
| 运行位置 |
Anthropic 云端 |
你的本地机器 |
你的本地机器 |
| 需要开机 |
不需要 |
需要 |
需要 |
| 需要会话 |
不需要 |
不需要 |
需要 |
| 重启留存 |
是 |
是 |
否(会话级别) |
| 访问本地 |
不能(需重新克隆) |
能 |
能 |
| MCP 服务器 |
每个任务单独配置 |
配置文件和连接器 |
继承当前会话 |
| 最小间隔 |
1 小时 |
1 分钟 |
1 分钟 |
一句话选型:追求可靠、不想管理本地机器 → Cloud 任务;需要读取本地文件或服务 → Desktop 任务;临时性的轮询或快速自动化 → /loop。/loop 的优势在于配置简单、与当前开发者社区环境和会话上下文无缝集成,适合开发过程中的临时性自动化需求。
确保你的 Claude Code 版本在 v2.1.72 及以上,可通过 claude --version 查看,过低则使用 npm install -g @anthropic-ai/claude-code 升级。
/loop 的两种核心工作模式
模式一:定时调度(Cron模式)
这是最直观的用法。你只需告诉它“做什么”和“隔多久做一次”,它就会自动执行。
# 每30分钟自动执行一次代码审查
/loop 30m /review
# 每小时检查一次测试是否失败
/loop 1h “运行单元测试套件并报告失败用例”
# 每5分钟检查一次GitHub PR状态
/loop 5m “检查GitHub上所有开放PR的状态”
你也可以指定具体时间,例如在每个工作日早上9点生成日报:
/loop “每个工作日 9:00” “检查昨天的代码变更,生成项目变更摘要”
时间间隔的写法非常灵活:
| 写法 |
示例 |
效果 |
| 间隔在前 |
/loop 30m 检查构建状态 |
每30分钟执行 |
| “every”在后 |
/loop 检查构建状态 every 2 hours |
每2小时执行 |
| 不写间隔 |
/loop 检查构建状态 |
默认每10分钟执行 |
支持的时间单位包括 s (秒)、m (分)、h (时)、d (天)。注意,秒会被向上取整到分钟。/loop 也可以直接调度其他 Skill,例如每20分钟对指定PR进行审查:
/loop 20m /review-pr 1234
模式二:自主迭代(Agentic Loop)
这才是 /loop 真正强大的地方。在此模式下,它不再是一个简单的定时器,而是一个“自主智能体”。你只需要给定一个最终目标,它会自行规划步骤、执行、检查结果、修正错误,并循环这个过程,直至目标达成。
# 修复认证模块所有失败的测试
/loop “修复 auth 模块里所有失败的单元测试,直到全部通过”
# 执行大规模技术迁移
/loop “将 src/legacy 目录下所有组件迁移到 Tailwind CSS,并确保页面渲染正常”
# 实现新功能并完善测试
/loop “实现支付宝支付模块,补充完整的单元测试,确保所有测试通过”
在普通对话模式下,Claude 生成代码后如果报错,需要你手动将错误信息贴回去。而在 /loop 的自主迭代模式下,它会自动读取执行结果或错误日志,分析问题,修改代码,然后重新运行验证,整个过程无需人工干预。

五大实战应用场景
结合社区反馈与实际经验,以下场景使用 /loop 效率提升最为明显:
-
自动监控PR与合并状态
告别手动刷新。设置每5分钟检查一次开放PR,自动标记冲突并识别可安全合并的请求。
/loop 5m “使用 gh 命令检查所有开放PR的状态,标记存在冲突的和可安全合并的”
-
自动化测试看门狗
在多人协作项目中,他人提交的代码可能无意间破坏你的模块。设置定时任务运行测试,一旦发现失败即尝试修复。
/loop 2h “运行项目的完整测试套件,如果发现任何失败则尝试修复”
-
定时同步代码与文档
解决“代码更新,文档滞后”的经典问题。让 /loop 定期扫描代码变更,并自动更新对应的用户文档。
/loop 2h “检查最近的代码提交,并同步更新相关的公开文档部分”
-
执行大规模技术迁移
此类任务是自主迭代模式的绝佳用例。例如将整个项目从 CommonJS 迁移到 ESM,/loop 可以逐个文件处理,并自动解决迁移过程中出现的各种报错。
/loop “将项目中所有 CommonJS 语法(require/module.exports)转换为 ESM 语法(import/export),确保所有测试通过”
-
批量管理自动化任务
你可以创建一个包含所有定时任务的自定义命令文件(如 init-loops.md),项目启动时运行一条命令即可拉起所有自动化流程。
运行机制与注意事项
理解其内部原理,可以帮助你更好地使用和规避潜在问题。
管理任务:你无需记忆特定命令,用自然语言与 Claude 对话即可。
# 查看当前所有定时任务
我现在有哪些定时任务在运行?
# 停止特定任务
请停掉那个检查部署状态的任务。
底层上,Claude 通过 CronCreate、CronList、CronDelete 三个工具来管理任务。每个任务有一个8位ID,单个会话最多可同时运行50个任务。
核心运行细节:
- 空闲触发:调度器每秒检查到期任务,但仅在 Claude 空闲时触发。如果你正在对话,任务会排队等待。错过的任务不会补执行。
- 本地时区:所有时间解析均基于你的本地系统时区。
- 触发抖动:为防止所有用户任务在同一时刻冲击API,任务触发时间会有小范围确定性偏移。循环任务最多延迟周期的10%(上限15分钟);一次性任务若设在整点或半点,最多提前90秒触发。若需精确触发,建议避开
:00 和 :30,使用如 3 9 * * * 而非 0 9 * * *。
- Cron表达式:支持标准的5字段格式
分 时 日 月 星期。0和7均代表周日,1-6为周一到周六。不支持 L、W、? 及英文别名(如 MON)。
重要注意事项:
- Token消耗:自主迭代模式消耗的 Token 较多,因为它需要持续读取上下文、调用工具并分析结果。务必给出具体指令和明确的完成标准(如“所有测试通过”),避免AI在模糊目标上无效循环,白白消耗额度。
- 任务有效期:循环任务在创建7天后会自动过期并删除。长期运行的任务应使用 Desktop 或 Cloud 任务。
- 会话级别:
/loop 任务仅在当前 Claude Code 会话中有效。关闭终端或退出程序,所有任务都会消失。它并非 CI/CD 的替代品,而是开发辅助工具。
- 设置尝试上限:对于自主迭代任务,建议在指令中加上“最多尝试10次”之类的限制,防止目标无法达成时陷入无限循环。
- 禁用功能:可通过设置环境变量
CLAUDE_CODE_DISABLE_CRON=1 来完全禁用调度器功能。
高效工作流:与其他命令配合
一个高效的工作流可以将 /loop 与其他命令结合:
- 实现:使用
/loop 让 Claude 自主完成一个复杂功能的编码与测试。
- 优化:对生成的代码使用
/simplify 命令进行清理和优化。
- 审查:最后使用
/review 命令进行安全性和最佳实践审查。
这三步组合拳下来,可以从实现到交付产出高质量代码,极大减少人工介入。
总结:何时使用 /loop?
非常适合的场景:
- 需要反复试错的任务(如复杂Bug修复、大规模重构)。
- 明确、重复的定时任务(如状态监控、定期测试)。
- 完成标准清晰可衡量的任务(如“零错误”、“测试全绿”)。
不推荐使用的场景:
- 探索性、无明确标准的研究任务。
- 需要人类主观判断的任务(如架构决策、需求分析)。
- 对 Token 使用预算非常敏感的情况。
简而言之,如果你的日常工作本身就包含“执行 -> 检查结果 -> 调整 -> 再执行”的循环,那么这件事就非常适合交给 /loop 来处理。它不仅仅是后端与架构中的一个效率工具,更是迈向人工智能辅助的自主编程体验的一大步。如果你想深入探讨更多 AI 编程技巧,欢迎在技术社区交流心得。