← 返回 FEED
CLAUDE2026-05-18

Claude Agent 部署实战:三种方案对比与选型指南

核心框架:WAT

Nate Herk 提出 WAT 框架来思考部署内容:

  • W = Workflow(工作流)
  • A = Agent(智能体)
  • T = Tools(工具)

Skills 通常位于 W 和 T 层。有时 skill 纯粹是工作流(" here's how to write a LinkedIn post"),有时 skill 将工作流与工具链结合("write a LinkedIn post and generate the infographic with this image API")。Agent 是决定下一步做什么的自主推理层

每个部署方法提供 WAT 的不同部分。有些提供全部三个,有些只提供 W 和 T。

两个决策轴

每个部署方法在两个轴上定位:

  1. 运行位置:你的机器 vs 别人的云端(Anthropic 云、Modal、Trigger.dev、VPS 等)——你的笔记本是否需要保持开机
  2. 自主程度:完整的自主 loop(含 skills 和 tools)vs 每次运行方式相同的确定性脚本

没有单一最佳方法。匹配方法与工作。

方案一:Loop(本地循环)

最简单。零设置。

打开 Claude Code 说:"set up a loop every 10 minutes to read the new comments on my latest YouTube upload and reply using the transcript." 完成。

底层机制:使用三个工具——cron create、cron list、cron delete。调度器内置于 Claude Code 进程,loop 是 session-scoped 的。五个不同终端可运行五个不同 loop,除非它们都写入同一文件。

桌面 app vs 终端

  • 桌面 app 运行 loop 后 /clear chat → cron 死亡
  • 终端中 /clear 不会杀死 cron——可以 clear 上下文,问 "do you have any crons in this session",Claude Code 用 cron list 显示活跃的 cron

关键技巧:双 Loop 保持上下文健康

设置两个 loop:

  1. 每 10 分钟运行实际 skill
  2. 每 5 分钟运行 /clear 保持上下文窗口健康

Claude Code 认为注入 /clear 不会工作,但实际可以。cron 触发 slash command,session clear,下一轮 fresh start。

限制

  • 机器必须保持开机
  • Session 必须保持打开
  • 终端 loop 7 天后过期,桌面 app 3 天后上限(这是默认使用终端的原因之一)
  • 循环任务触发有最多 30 分钟 jitter——"每 10 分钟"不会精确在 10:10、10:20、10:30 触发(防止全球所有 Claude Code session 同时 hammer API)

获得:完整 WAT(Workflow + Agent + Tools)

方案二:Scheduled Tasks & Claude Routines(定时任务)

直接内置于 Claude Code。

打开桌面 app → Routines → 创建本地 Scheduled Task 或远程 Claude Routine。设置看起来几乎相同:写 prompt,Claude 在 schedule 上将其注入 fresh Claude Code session,session 执行工作。

唯一区别:运行位置

类型运行位置计算机关闭时
Local Scheduled Task你的机器不触发
Claude RoutineAnthropic 基础设施仍然运行

Claude Routine 配额(按 plan):

  • Pro:每天 5 个
  • Max:每天 15 个
  • Team/Enterprise:每天 25 个
  • 超出后从 extra usage 扣除

关键行为差异

Local Scheduled Task 的 catch-up:计算机关闭 5 天,回来后打开桌面 app,Claude Code 会运行所有错过的触发(除非暂停了任务)。某些情况下有用,其他情况下危险。暂停任何不想补跑的任务

Claude Routine 的 webhook 触发:不仅基于时间,还可由 API endpoint 或 GitHub event 触发。其他自动化可以按需调用你的 routine。

环境变量:因为 routine 在 Anthropic 云端的 repo clone 上运行,环境变量需要与本地设置不同的连接方式。

限制:最小间隔 1 小时。无法设置每 20 分钟运行。需要更短周期时回退到 /loop。

获得:完整 WAT(Agent 活跃、skills 加载、MCPs 工作、subagents 工作、slash commands 工作)

方案三:Modal 或 Trigger.dev(外部部署)

将自动化完全推出 Claude Code。

  • 为 Modal 写 Python 脚本
  • 为 Trigger.dev 写 TypeScript 脚本
  • 部署、设置 cron 或连接 webhook
  • 脚本在它们的云端运行,带 dashboard 查看运行历史、错误和持续时间

Claude Code 可以帮你完成:推送脚本到 dev、移到 prod、在 Modal 或 Trigger.dev 上设置环境变量以便部署代码认证外部服务。

Modal vs Trigger.dev

特性ModalTrigger.dev
语言PythonTypeScript
感觉云端 cron job持久工作流引擎
选择建议更熟悉 Python想要更 agentic 的编排
触发方式cron 或 webhookcron 或 webhook

关键变化:失去 Agent

此方案中,你部署的是 Workflow 和 Tools,不是自主 loop。也失去了 Claude Code subscription——部署脚本内的任何 AI 处理变成 API 调用(Claude API、OpenAI、OpenRouter 等),按 token 付费,不小心会很贵。

:很多部署根本不需要 AI。如果脚本是确定性的("fetch this data, transform it, write it to a sheet"),就不需要模型。这是 Modal 或 Trigger.dev 闪耀的地方——获得所有部署优势,没有 per-token 成本。

获得

  • 无需保持任何东西运行
  • 机器可关闭、session 可关闭
  • 真实 dashboard、错误跟踪、运行历史
  • Webhook 触发,不仅 cron

失去

  • 除非引入 Claude Agent SDK,否则没有自主 agent
  • 没有 Claude Code subscription,AI 调用额外收费
  • 比前两种方案更多设置

方案四:Claude Agent SDK(进阶)

如果需要在方案三中加入 agent,使用 Claude Agent SDK

Claude Agent SDK 是 Claude Code 的底层构建基础。相同的 harness、tools、skills、MCPs、hooks、compaction。区别是它是从自己的代码调用的 SDK,而不是在终端中交谈的 CLI。

工作流程:发送 query → SDK 读取 → 决定使用哪些工具 → 运行 → 获得结果 → 迭代 → 输出。这就是 Claude Code,只是包装成可部署形式。

关键陷阱:默认 stateless

默认情况下,每次调用 Agent SDK 都是无状态的——醒来时没有记忆。

修复:每次请求传递 session ID,SDK 将它们视为一个持续对话。需要时自动 compact。没有 /clear 等价物;想要 clean slate 时开始新 session。

官方 Anthropic SDK,获得所有功能:subagents、MCPs、hooks、skills、slash commands、claude.md、memory、compaction。

成本:Agent SDK 不使用 Claude Code subscription。需要 Claude API key,按 token 付费。比直接在终端或 VS Code 中使用 Claude Code 更贵。

好消息:Anthropic 5 月 13 日宣布月度订阅积分现在可用于 Agent SDK。不是 Claude Code 内的每周使用量,是独立的 dedicated budget。

Managed Agents & Hooks

Managed Agents:较新的 Anthropic 服务,在 Anthropic 云端完整运行 agent,包装精美。Nate 试用后认为对已有 Claude Code 经验的用户价值有限,更适合从未使用过的新手。

Hooks:事件驱动的 mini 自动化,在特定 Claude Code 事件上触发:

  • pre-tool-use
  • post-tool-use
  • session start
  • session end
  • 每条消息

示例

  • 每次 Claude Code 完成响应 → 播放通知声音
  • 每次 session 结束 → 运行清理脚本
  • 每次使用特定工具 → 记录到某处

堆叠足够多 → 在 agentic flow 上叠加确定性 glue。

选型速查

场景推荐方案
实时工作,需要完整 agent loop/loop
希望 Claude Code 按 schedule 工作,无需保持机器开机Claude Routine
确定性脚本,无需 AI 推理Modal / Trigger.dev
需要 agent 推理,但在自己的基础设施中Agent SDK + Modal/Trigger.dev

最常见错误:默认选择最 agentic 的方法。确定性工作不需要 agent,agentic 工作不能被压扁成脚本。

资源