Claude Code -3.8 的 /loop 让定时任务回归人话

4 阅读4分钟

Claude Code 的 /loop 让定时任务回归人话

Cron 表达式*/5 * * * * 时代该翻篇了。

一个痛点

你一定写过这种东西:

*/5 * * * * npm run build 2>&1 | tee build.log && echo "OK" || echo "FAIL" | mail -s "Build Failed" you@example.com

为了实现"每 5 分钟跑一次构建,失败了发通知",你得:

  1. 写 Cron 表达式(五个星号你真的记得哪个是月份哪个是星期几吗?)
  2. 手动解析退出码
  3. 自己配日志和邮件通知
  4. 每次改任务还得 crontab -e

Cron 只负责执行,不负责理解结果。 它不知道构建失败是因为类型错误还是依赖缺失,它只会甩给你一个退出码。


/loop 是什么

Claude Code 的内置定时任务计划。

你给一段自然语言描述 + 一个时间间隔,Claude 自动转成后台调度,每隔指定时间执行一次,并把结果汇报给你。

就这么简单:

/loop 2m 跑构建,告诉我有没有报错

Claude 会回复:

✅ Scheduled loop job created
Job ID: 0d7f7026
Cron: */2 * * * *
Every: 2 minutes
Task: Run npm run build and report pass/fail
Expires: 3 days from now

你不需要写 Cron 表达式,不需要手动解析结果,不需要配通知。说人话就行。


和传统 Cron 的本质区别

传统 CronClaude Code /loop
*/2 * * * * npm run build/loop 2m 跑构建,告诉我有没有报错
手动解析退出码Claude 自动解读结果
手动写日志Claude 自动汇报
手动配邮件/通知Claude 主动告警
改任务要 crontab -e直接说话,改就行
需要会 Cron 语法你只需要会说话
你需要盯着日志Claude 主动告诉你发生了什么

一句话总结:Cron 只负责执行,Claude 负责理解结果并告诉你发生了什么。


内部运行机制

你的 Claude Code 会话
│
├── 前台:你正常对话
│
└── 后台调度器(每秒检查一次)
    │
    ├── 任务未到时间 → 继续等待
    │
    └── 任务到时间了
        ├── Claude 正在响应中?→ 等当前轮次结束
        └── Claude 空闲?→ 立即执行任务,汇报结果

/loop 是会话级的,不是系统级的。它跑在你的 Claude Code 会话里,不需要额外的守护进程。


典型使用场景

监控构建状态

/loop 2m 跑 npm run build,失败了告诉我报错内容

开发过程中,你改了代码继续写别的,Claude 每隔 2 分钟帮你跑一次构建,有问题立刻汇报。

监控 API 健康状态

/loop 5m 检查 https://api.example.com/health,看返回状态码和响应时间

部署进度轮询

/loop 1m 检查 kubectl get pods 的状态,看部署有没有完成

代码质量守卫

/loop 10m 跑 eslint,有新报错就告诉我

Git 状态监控

/loop 3m 检查当前分支有没有新的未提交改动

什么时候不该用 /loop

适合用不适合用
构建/测试状态监控需要跨会话持续运行的任务
部署进度轮询持续时间超过 3 天的监控
PR 检查自动化需要精确到秒级的任务触发
开发期间的定时提醒需要机器重启后继续跑的任务
多任务并行监控需要持久化的生产级调度

/loop开发期间的临时调度器,不是替代 Kubernetes CronJob 的生产工具。它的生命周期绑定在会话上,会话关了任务就没了。超过 3 天的监控、需要机器重启后继续跑的任务,还是老老实实用 Cron 或任务调度平台。


核心收获

/loop 解决的问题很简单:

开发过程中大量「等待 → 检查 → 等待」的重复操作,不应该消耗你的注意力。

以前你做的事:切到终端 → 跑命令 → 看结果 → 没好 → 继续等 → 再跑 → 再看……

现在你做的事:说一句话,然后专注写代码。Claude 帮你盯着,有情况它会主动说。

这不是一个小功能,这是开发体验的升级——从"你来检查"变成"它来汇报"。


本内容由 Coze AI 生成,请遵循相关法律法规及《人工智能生成合成内容标识办法》使用与传播。