
想象一下,你不需要反复向 AI 提问“帮我看看这个 PR 通过了没”,也不需要每天手动让它“总结一下今天的 Slack 消息”。你只需在某个对话里设置一次,它就会像一个尽职的闹钟,在后台定时醒来,完成工作,然后继续沉睡。本期节目将介绍 Claude Code 最新推出的 /loop 命令及其计划任务系统。你将了解到,这个功能如何将 Claude 从一个需要你时刻在场的“手动工具”,转变为一个能在后台自动工作的“轻量级代理”。我们会拆解它的运行机制——会话限制、3天自动过期、抖动延迟,并探索它的典型应用场景:从自动“托管” PR、监控部署日志,到每天早晨为你生成 Slack 摘要。当然,我们也会坦诚它的局限性:它不是永久的后台服务,它会在你关闭终端时停止,它可能因“上下文漂移”而记忆模糊。对于希望让 AI 真正“跑起来”的开发者而言,这是一个值得放入工具箱的新成员。
/loop功能的推出,标志着 Claude Code 正在从一个“助手”进化为一个能在后台为你“值班”的伙伴。它不会替代复杂的 CI/CD 流水线,但对于那些临时、轻量、需要定时触发的自动化需求,它提供了一个只需一句话就能设置的优雅方案。学会善用这些“定时闹钟”,你的开发工作流将变得更加主动和高效。
参考:
- code.claude.com
- Claude Code Just Got ANOTHER MASSIVE Upgrade with /Loop - Automate AI Coding!
- Claude Code just shipped /loop - schedule recurring tasks for up to 3 days
/loop 实现的底层原理
总结来说,/loop 的本质是在 Claude 的 CLI 运行环境中运行了一个具备自然语言解析能力的本地 Cron 服务,通过每秒轮询和低优先级队列,在不干扰用户实时对话的前提下自动执行预设的提示词任务。
Claude Code 的 /loop 功能底层是基于一个内置的 Cron(计划任务)系统实现的,它将 Claude 从一个被动响应的工具转变为一个可以在后台运行的轻量级代理(Lightweight Agent)。
1. 任务调度核心机制
- 内置 Cron 系统:底层使用标准的 5 字段 Cron 表达式(分钟、小时、日期、月份、星期)来管理任务调度。
- 每秒轮询(Polling):调度程序会每秒检查一次是否有任务到期需要执行。
- 自然语言转换:当你输入
/loop 30m或“每 2 小时检查一次”时,Claude 会解析这些间隔逻辑并将其转换为对应的 Cron 表达式。
2. 底层工具链(Under the Hood)
Claude 通过以下三个核心内部工具来管理这些任务:
- CronCreate:负责创建新任务,接受 Cron 表达式、运行提示词(Prompt)以及定义任务是循环还是单次执行。
- CronList:列出当前会话中所有的任务 ID、计划安排和对应的提示词。
- CronDelete:通过 8 位字符的唯一任务 ID 来取消或删除特定任务。
3. 执行逻辑与优先级
- 低优先级入队:到期的任务会被放入一个低优先级的队列中。
- 空闲触发机制:任务仅在 Claude 处于空闲状态且在两次对话轮次之间触发。如果 Claude 正在响应你的其他问题,到期的任务会排队等待,直到当前响应结束。
- 无“补抓”机制:如果任务到期时 Claude 正忙,它只会在变为空闲后运行一次,而不会补回在忙碌期间错过的多次任务执行。
4. 确定性抖动(Jitter)算法
为了防止大量全球用户在同一时间(如整点)集中请求 API 造成拥堵,系统引入了抖动机制:
- 偏移量生成:根据任务 ID 派生出一个随机但固定的时间偏移。
- 延迟规则:循环任务可能会比预定时间晚启动(最多延迟周期长度的 10%,上限 15 分钟)。例如,一个每小时运行的任务可能会在 :00 到 :06 之间的任意时间启动。
5. 运行环境与生命周期限制
- 会话绑定(Session-scoped):该功能运行在当前的 CLI 进程中。一旦关闭终端、退出会话或电脑休眠,调度器就会停止工作。
- 3 天强制过期:为了防止用户忘记关闭任务导致 Token 浪费,所有循环任务在创建 3 天后会自动失效并删除。
- 无持久化:CLI 版本的
/loop任务不会在重启后保留。如果需要跨重启运行的持久任务,原理上需要使用 Claude Code Desktop 版本,其调度机制是持久化的。
以下为主要内容的图文介绍













⏰ 第一章:什么是 /loop?一个会话级的“轻量级代理”
/loop 是 Claude Code CLI 中的一个新命令,允许用户在会话中安排循环往复的任务或一次性提醒。
- 核心转变:它将 Claude 从一个被动应答的工具,转变为可以在后台自动工作的“轻量级代理”。你设置好任务,它就会在指定的时间间隔醒来,检查状态、运行任务,然后将结果反馈给你。
- 任务类型:
递归任务:例如“每10分钟检查一次这个 PR 的 CI 状态”。
一次性提醒:例如“3小时后提醒我检查这条评论的回复”。
⚙️ 第二章:运行机制——会话限制、时间语法与抖动延迟
了解它的运行机制,才能正确使用它。
- 会话限制:这是最重要的前提。任务仅在当前的 Claude Code 进程中运行。如果你关闭终端、退出会话或电脑休眠,所有任务都会停止。它不是一个可以永久运行的 Webhook 或后台服务。
- 时间间隔与语法:
支持秒(s)、分(m)、时(h)、天(d) 等单位。
若未指定间隔,默认为每10分钟运行一次。
底层使用标准的5字段 Cron 表达式进行调度,但自然语言也足够好用(如“每天上午9点”)。 - 任务管理:
上限:每个会话最多可同时运行50个任务。
查看与取消:你可以用自然语言要求 Claude 列出或取消任务,也可以通过内部工具使用8位 ID 精确删除。 - 抖动机制:为了防止大量用户的 API 请求在同一时刻瞬间激增,系统会为触发时间添加小的随机偏移(例如,一个设置为每小时运行的任务,可能会在整点后的0-6分钟内随机启动)。
🚀 第三章:典型应用场景——从“PR保姆”到“晨间秘书”
/loop 的潜力在于将你从重复性的查询中解放出来。
- GitHub 开发流程:
PR托管:自动检查指定 PR 的状态,一旦有新的评论,就根据指令自动修复代码;或监控 CI 构建,失败时自动分析日志并尝试修复。
部署监控:每隔几分钟扫描一次生产环境日志,发现新的错误模式,立即生成摘要报告。 - 信息整理与办公:
Slack 自动总结:每天早晨8点,通过 Slack MCP 工具,自动总结过去24小时@你的消息和高频讨论,生成晨间简报。
自动研究:设置一个每周任务,自动搜索最新的AI模型动态或行业新闻,整理成摘要存入你的知识库。 - 资源利用:利用夜间的闲置 Token 额度,让 AI 在后台生成文档、进行依赖项审计或代码库重构。
⚠️ 第四章:局限性与风险——它不是永久的“守护进程”
在使用 /loop 时,有几个需要牢记的局限:
- 3天强制过期:所有循环任务会在3天后自动失效并删除。这是为了防止被遗忘的任务持续消耗 Token。如果需要运行超过3天的任务,应考虑使用 Claude Code Desktop 版或 GitHub Actions。
- 非持久化:它依赖于运行中的终端会话。对于需要跨系统重启、长期运行的任务,它并非合适选择。
- 上下文漂移:长时间运行的循环任务可能会出现“模型记忆模糊”的问题。建议在提示词中设计检查点行为,让AI在每次唤醒时都重新加载必要的上下文,以保持输出质量。
- 无补抓机制:如果任务触发时,Claude 正忙于处理其他响应,任务会排队等待,但不会在空闲后补回错过的多次运行。
🖥️ 第五章:CLI vs. Desktop——如何选择?
- CLI (/loop):会话级别,不支持重启持久化,有3天上限。适合针对特定项目的临时自动化,如在开发一个功能期间,每天检查依赖更新。
- Desktop App:任务持久化,即使重启应用任务依然存在,且没有3天的时间限制,提供更好的用户界面。适合需要长期、稳定运行的任务。

