Claude Code 新增 /loop:用自然语言定义“定时任务”,打造你的私人自动化代理

工具3天前发布 小马良
59 0

“别再手动轮询构建状态了,让 Claude 在后台替你盯着。”

Anthropic 为 Claude Code 引入了强大的新功能:重复性任务调度(Recurring Tasks。通过简单的 /loop 命令或自然语言指令,用户现在可以让 Claude 在会话期间自动、周期性地执行特定任务,最长可持续 3 天

  • 地址:https://code.claude.com/docs/en/scheduled-tasks

这标志着 Claude Code 从一个“被动响应”的聊天机器人,进化为一个能主动监控、轮询和管理的半自主代理(Semi-Autonomous Agent)。无论是自动修复 CI 构建错误、监控 PR 评论,还是每日晨间收集热门资讯,Claude 都能在你的终端后台默默运行。

Claude Code 新增 /loop:用自然语言定义“定时任务”,打造你的私人自动化代理

核心功能:如何设置重复性任务?

1. 快速启动:/loop 命令

这是最快捷的方式。只需输入 /loop,加上可选的时间间隔和任务描述,Claude 就会立即在后台创建定时任务

语法示例:

# 每 5 分钟检查一次部署状态
/loop 5m check if the deployment finished and tell me what happened

# 每 2 小时检查一次构建(后置语法)
/loop check the build every 2 hours

# 使用默认间隔(10 分钟)
/loop check for new comments on my PRs

支持的时间单位:

  • s (秒), m (分钟), h (小时), d (天)
  • 注意:由于底层 Cron 最小粒度为分钟,秒会被向上取整;非整数间隔(如 90m)会自动四舍五入。

2. 循环执行现有技能

你可以让定时任务直接调用已封装好的技能或命令,实现工作流自动化:

# 每 20 分钟自动审查一次 PR #1234
/loop 20m /review-pr 1234

3. 一次性提醒

不需要循环?直接用自然语言设定单次提醒即可:

# 下午 3 点提醒我发布分支
remind me at 3pm to push the release branch

# 45 分钟后检查集成测试是否通过
in 45 minutes, check whether the integration tests passed

任务执行完毕后会自动删除,无需手动清理。

任务管理:全自然语言控制

你不需要记忆复杂的命令 ID,直接用英语(或支持的语言)与 Claude 对话即可管理任务:

  • 查看任务what scheduled tasks do I have?
  • 取消任务cancel the deploy check job 或 delete task [ID]
  • 底层工具:Claude 内部使用 CronCreateCronListCronDelete 工具进行管理,每个任务拥有唯一的 8 字符 ID。
  • 容量限制:单个会话最多支持 50 个 并发定时任务。

运行机制:智能、本地化且防拥堵

本地时区感知

所有时间均基于你运行 Claude Code 的本地时区

  • 0 9 * * * 意味着你所在地的上午 9 点,而非 UTC 时间。

抖动机制 (Jitter)

为了防止大量用户在同一秒触发 API 请求导致拥堵,调度器引入了确定性偏移

  • 周期性任务:触发时间会随机延迟最多 10% 的周期时间(上限 15 分钟)。例如,每小时任务可能在 :00 到 :06 之间任意时刻触发。
  • 一次性任务:整点/半点任务可能提前最多 90 秒
  • 提示:若需精确时间,请避开整点/半点(如使用 3 9 * * *)。

优先级与排队

  • 低优先级:定时任务仅在 Claude 空闲(两次对话间隙)时触发。
  • 不阻塞:如果任务到期时 Claude 正在回答你的问题,它会等待当前回合结束再执行,绝不会打断你的思路。
  • 不补发:错过的触发不会累积补发。如果 Claude 忙了一小时,它只会执行一次当前任务,而不是把过去一小时的都补上。

三天自动过期

为了防止遗忘的任务无限运行,所有周期性任务在创建 3 天后 会自动执行最后一次并自我删除。如需更长周期的自动化,建议使用 GitHub Actions 或 桌面版定时任务

重要局限性:会话级 vs. 持久化

请务必注意,/loop 创建的任务是**会话范围(Session-Scoped)**的:

特性说明
存活条件任务仅在当前 Claude Code 进程运行且终端未关闭时有效。
重启即失关闭终端或重启 Claude Code,所有定时任务立即清除
无人值守不支持完全无人值守运行。如果需要后台常驻自动化,请使用 GitHub Actions 或 桌面定时任务
适用场景适合开发过程中的短期监控、临时轮询、会议期间的自动检查等。

应用场景举例

  1. CI/CD 守护者

    /loop 5m check if the build failed, and if so, try to fix it using the workspace agent.
    (每 5 分钟检查构建,失败则自动尝试修复。)

  2. PR 监控助手

    /loop 10m scan my open PRs for new comments and summarize them.
    (每 10 分钟扫描我的 PR 评论并生成摘要。)

  3. 早报生成器

    /loop 24h gather the top 5 trending posts from HackerNews and Reddit.
    (每天收集一次 HN 和 Reddit 的热门帖子。)

  4. 长时间任务提醒

    Remind me in 2 hours to check the long-running data migration script.
    (2 小时后提醒我检查数据迁移脚本。)

/loop 功能的加入,让 Claude Code 真正具备了**“时间维度”的感知能力。它不再只是一个即时问答工具,而成为了一个可以托付短期重复性工作的数字实习生**。

虽然它受限于会话生命周期,但对于开发者在日常编码、调试和监控流程中的碎片化需求来说,这种轻量级、自然语言驱动的自动化方案无疑是革命性的。

现在,打开你的终端,输入 /loop,让 Claude 开始为你打工吧!

© 版权声明

相关文章

暂无评论

none
暂无评论...