Nate Herk 测试了 3 种 Claude Agent 部署方式,每种在不同维度上权衡,选择错误要么烧钱、要么失去灵活性、要么笔记本一合就崩。
两个评估维度
运行位置:你的机器 vs 别人的云。笔记本是否需要保持开机。
Agentic 程度:完整自主循环(skills + tools)vs 确定性脚本(每次运行方式相同)。
方法 1:本地循环(/loop)
最简单,零设置。在 Claude Code 中说"每 10 分钟设置一个循环"即可。
特点:
- 使用内部 cron 工具(cron create/list/delete)
- 终端版支持更多功能
- 桌面版 /clear 会杀死 cron,终端版不会
- 可设置两个循环:一个运行 skill,一个每 5 分钟 /clear 保持上下文健康
限制:
- 机器必须保持开机
- 会话必须保持打开
- 终端循环 7 天后过期,桌面版 3 天
- 循环触发有最多 30 分钟抖动
适用场景:需要完整 agent 循环的实时工作
方法 2:Claude Routines(本地/云端)
Claude Code 内置的 routines 功能。本地 scheduled tasks 和远程 Claude Routines 设置几乎相同。
区别:
- 本地:在你的机器上运行,关闭桌面应用就不触发
- 远程:在 Anthropic 基础设施上运行,电脑可关闭。Pro 每天 5 次,Max 15 次,Team/Enterprise 25 次
特点:
- 本地任务会"补跑"——关机 5 天,开机后会运行所有错过的触发(除非暂停)
- 远程 routines 可被 API 端点或 GitHub 事件触发(事件驱动)
- 环境变量需要不同配置(在 Anthropic 云端克隆的仓库中运行)
- 最小间隔 1 小时
适用场景:希望 Claude Code 按调度唤醒工作
方法 3:Modal / Trigger.dev
将自动化完全推出 Claude Code。
特点:
- Modal:Python serverless,更像云端 cron
- Trigger.dev:TypeScript,更像持久工作流引擎
- 都可被 cron 或 webhook 触发
- 有真实仪表板、错误跟踪、运行历史
关键区别:
- 失去 agent:部署的是工作流和工具,非自主循环
- 失去订阅:AI 处理变成 API 调用(按 token 付费)
- 很多部署不需要 AI:确定性脚本(获取数据、转换、写入表格)不需要模型
适用场景:确定性脚本,不需要 AI 推理
Claude Agent SDK
如果需要在方法 3 中恢复 agent,使用 Claude Agent SDK。
- 与 Claude Code 相同的 harness、tools、skills、MCPs
- 默认无状态,传递 session ID 保持对话
- 自动压缩,支持子智能体、MCPs、hooks、skills、slash commands
- 成本更高:需要 Claude API key,按 token 付费
- 5 月 13 日起,月度订阅积分可用于 Agent SDK
如何选择
| 场景 | 方法 |
|---|---|
| 实时工作,需要完整 agent 循环 | /loop |
| 希望 Claude 按调度自主工作 | Claude Routine |
| 确定性脚本,无需 AI 推理 | Modal / Trigger.dev |
| 需要 agent 推理,但用自己的基础设施 | Agent SDK + Modal/Trigger.dev |
核心 takeaway
最常见的错误是默认选择最 agentic 的方法。 确定性工作不需要 agent,agentic 工作不能被扁平化为脚本。匹配方法和工作才是关键。