00:00:00Anthropic 团队为 Claude Code 发布了一个 Loop(循环)技能,可以按设定的间隔运行提示词
00:00:04互联网上的人们都疯了,纷纷把它接入 Discord 或 Telegram 来进行交流
00:00:10就像使用 OpenClaude 那样与他们的智能体对话,有些人甚至将其用于 Ralph
00:00:14循环。
00:00:15但他们全用错了,因为 Loop 技能并不是为了那个目的而设计的。
00:00:19我是说,他们没把它叫做 “计划任务”(Schedule)而是叫 “循环”(Loop)是有原因的。
00:00:23点击订阅,让我们一探究竟。
00:00:29众所周知,Claude 正在被用来编写 100% 的 Claude Code 逻辑,因为该团队
00:00:34发布新功能的速度快得惊人,但通常热度级别是与功能的实用性相匹配的。
00:00:39功能的实用程度通常决定了它的关注度。
00:00:40比如 Claude 远程控制,热度很高,因为它非常实用。
00:00:43异步钩子(Async hooks)热度较低,因为它们的实用性稍逊一筹。
00:00:47但这是第一个热度远高于其实际实用性的
00:00:53功能。
00:00:54在你生气之前,先听我解释。
00:00:56这是运行 Sonnet 的最新版 Claude Code,我打算把它切换成
00:01:01Haiku,因为我要使用的提示词不需要这么复杂的模型。
00:01:06这里我有一个 Loop,它可以接受以分钟、小时或天为单位的间隔。
00:01:10注意,最小粒度是分钟。
00:01:13所以即使你可以写秒,Claude 目前还不支持它们。
00:01:16然后它还需要一个提示词,所以我要写:”说你好”。
00:01:20如果我按下回车,它会使用 cron create 技能来创建一个计划任务。
00:01:25你也可以设置一个特定时间,所以我可以输入 loop,这里它很快就说了你好。
00:01:30我会写一个提示词:”在下午 6:30 再次说你好”。
00:01:35在这里,Claude 使用的是你安装 Claude Code 的机器本地时间,
00:01:39而不是 UTC 时间。
00:01:40所以请记住这一点。
00:01:41我会把它设置为每日循环任务,基本就这样。
00:01:45提示词可以包含你想要的任何内容。
00:01:47比如我可以使用 tweet 技能来帮我写一条推文,大意是
00:01:52“Claude 有一个超棒的新 Loop 技能”,并将其设置为每三分钟运行一次。
00:01:56提示词还可以读取文件、运行 MCP 工具。
00:01:59基本上任何你能用 Claude Code 做的事,都可以添加到提示词中。
00:02:02我可以通过这个提示词列出当前运行的 cron 任务,它使用 cron list
00:02:07工具来列出所有任务。
00:02:09我还可以通过描述任务内容或使用 ID 来删除任务。
00:02:13Cron 任务的时间上还有一个抖动(jitter)设置,以防止多个任务同时
00:02:17请求 Anthropic API,这意味着一个每小时运行的任务可能会在整点的
00:02:230 到 6 分钟之间的任何时间触发。
00:02:24没错,这确实是一个很酷的功能,人们甚至说它已经为他们取代了 OpenClaude,
00:02:28因为你可以设置一个间隔来从 WhatsApp 或 Telegram 获取消息
00:02:33并进行回复,就像一个真正的 AI 助手,这正是人们以前用 OpenClaude
00:02:37做的事情。
00:02:38但 Loop 功能有两个主要问题,导致它无法成为 OpenClaude
00:02:43的终结者。
00:02:44首先,cron 任务会在三天后自动过期,以防止产生
00:02:49你可能已经忘掉的长期运行任务。
00:02:51如果你把 Loop 挂载到监听 Telegram 消息上,结果在第四天
00:02:55发现它失效了,这当然会非常烦人。
00:02:59现在其实有一种方法可以在不使用插件的情况下,在 Claude Code 内部永久运行任务,
00:03:04但我们稍后在视频中再聊。
00:03:06第二个问题是 cron 任务存储在会话内存中,不会写入磁盘。
00:03:12所以如果我关闭这个 Claude Code 会话,清空我的终端并开启一个
00:03:16新会话。
00:03:17然后当我要求它列出我的计划任务时,你会发现没有任何任务,
00:03:21尽管我在上一个会话中安排了两个任务。
00:03:25这意味着如果你想关闭会话来更新 Claude,或者你想将
00:03:29Loop 功能用于 Ralph 循环,这并不是一个好主意,因为你无法正确重置
00:03:34会话,且必须依赖上下文压缩(compaction)来继续长期运行的任务。
00:03:39那么,你应该用这个功能来做什么呢?
00:03:41每当你需要在同一个会话中,因为某些内容发生了变化而手动
00:03:46重新运行任务时,你就应该使用 Loop。
00:03:49例如,检查持续更新的日志文件的最后 50 行是否有错误,
00:03:53查看作业队列中还剩多少项目,或者检查项目中是否有
00:03:57新的 Issue。
00:03:59我相信团队将来会为 Loop 添加更多选项,比如为任务设置
00:04:03特定模型或更改过期时间。
00:04:06但如果你想在 Claude Code 中永久运行任务,技术上讲你现在
00:04:11就可以在不使用任何插件的情况下实现。
00:04:13你可以在桌面版 Claude 中操作,如果侧边栏还没打开就先打开它,
00:04:17然后在菜单中点击 “Scheduled”(已计划)。
00:04:19如果你没看到这个 Scheduled 选项,可能需要更新桌面版 Claude。
00:04:23在这里我们可以创建一个任务,给出名称、描述和提示词。
00:04:27我们甚至可以更改模型、设置权限,并在下方设置频率。
00:04:32这和我们在桌面版 Claude Code 的提示词部分写 schedule 效果完全一样,
00:04:36但真正有趣的是,在 cowork 内部也有一个
00:04:42Scheduled 选项。
00:04:43这与 Claude Code 中的 Scheduled 选项不同,不仅是因为弹窗
00:04:47长得不一样,且我们必须点击更多选项来更改默认模型,还因为
00:04:52Claude cowork 运行在沙盒环境中,而 Claude Code 运行在
00:04:59你的本地机器上。
00:05:00所以如果你在 Claude Code 中安排任务,它会使用你的本地文件系统。
00:05:05而对于 Claude cowork,它将在沙盒环境中运行,这对于
00:05:10你决定把计划任务放在哪里非常重要。
00:05:12在桌面版 Claude 中添加计划任务的好处当然是任务会一直运行,
00:05:16只要电脑开着且桌面版 Claude 应用处于打开状态。
00:05:22但如果你像我一样更喜欢在终端中使用 Claude Code 来安排任务,
00:05:26那么你可以使用 Kenneth 开发的这个插件,它看起来很有前景,
00:05:31如果有足够多的人感兴趣,我将来可能会尝试一下。
00:05:33说到其他我还没尝试过的有前景的事物,OpenAI 上周发布了 GPT 5.4,
00:05:39人们似乎对此感到非常兴奋。
00:05:41如果你想了解更多,可以看看 James 的这个视频,他详细介绍了所有细节。