13.1 为什么这一章要单写
三个月前我带团队做 Agent 选型。会议室里摆了三个方案,最后吵的不是"用不用 LLM",是"用 Flue 还是 Claude Agent SDK"。
当时没人能把两边讲透。我把这三个月踩的坑整理成这一章。如果我一句话总结:轻量级功能和部署,优先试试flue!
你看完,应该能在 5 分钟内做选择。
13.2 先把两边摆上台
Flue 是"通用马具"。它不绑模型,Anthropic、DeepSeek、OpenAI 谁都能上,部署到 Node、Cloudflare、CI 都行。Claude Agent SDK 是 Anthropic 官方出品,深度绑定 Claude,CLI 场景里最舒服。
一个像"乐高",一个像"主题套装"。都能搭 Agent,但手感不同。
13.3 五个维度比一比
我把两边用同一把尺子量过。下表是结论,每行下面会展开讲。
| 维度 | Flue | Claude Agent SDK | 标叔的结论 |
|---|---|---|---|
| 语言 | TypeScript | Python、TypeScript | 团队语言定 |
| 模型绑定 | 不绑,多家可换 | 绑 Claude 系列 | 跨家选 Flue |
| 部署目标 | Node / Cloudflare / CI | 终端、CLI、服务端 | 上 Cloudflare 选 Flue |
| 适合场景 | 多端统一、生产服务 | 本地编码助手、CLI 工具 | 看场景 |
| 学习成本 | 中(要懂 Harness 五个零件) | 低(CLI 直接用) | 快速落地选 SDK |
重点看:最后一行"学习成本"。
这是新人最容易忽略的。Claude Agent SDK 装上
claude命令就能聊。Flue 要先懂沙箱、工具、技能子智能体,再写代码。
13.4 Flue 的优点与缺点
优点
- 不绑模型。我有个项目上午用 DeepSeek(便宜),下午切 Claude(质量好),只改
model字符串。这是 SDK 做不到的。 - 部署自由。同一份代码,Node 服务器、Cloudflare Worker、GitHub Actions 都跑。SDK 主要服务 CLI。
- TypeScript 优先。前端团队直接上手,类型推断、IDE 跳转都顺。
- Harness 显式可配。五个零件(文件系统、工具、沙箱、会话、子智能体)写在
createAgent里,一目了然。 - 生产特性全。SSE 流式、Observe 可观测、工作流 runId、App 路由鉴权——都是 SDK 默认没有的。
缺点
- 学习曲线高。新手要吃透 Harness、TypeBox、沙箱三选一,门槛不低。
- 生态年轻。遇到坑基本要自己查或问作者,没有大社区背书。
- 没有官方 CLI 体验。
flue connect是个能用的 REPL,但和claude命令那种丝滑度比,还有差距。 - 文档偏少。这本指南其实是文档的延伸,外面能查到的资料有限。
标叔的经验:Flue 的真正门槛不是 API,是"思维转变"。
我团队有个写 Python 五年的同事,第一次用 Flue 写 Agent,老想
if/else控制流程。两周后才转过来。
13.5 Claude Agent SDK 的优点与缺点
优点
- 上手极快。
npm install -g @anthropic-ai/claude-code,一条命令开聊。10 分钟就有产出。 - Claude 深度优化。所有 Claude 模型特性(extended thinking、prompt caching、tool use)都打通,你不用配。
- 内置工具强。Read、Edit、Bash、Grep、Glob、WebSearch、WebFetch 都是现成的,写代码场景开箱即用。
- 权限系统成熟。allow / deny / ask 三档,可按工具、按路径细粒度控制,企业可用。
- Hooks 系统完整。PreToolUse、PostToolUse、Stop 都能挂回调,做审计、做安全扫描、做日志都对口。
- Skills 与 Subagents 一等公民。markdown 写技能、Task 派子体,模型自己协调。
缺点
- 绑死 Claude。想换 GPT、Gemini、DeepSeek?不行。这是最大硬伤。
- CLI 优先。服务化部署没那么顺,要自己包一层才能上生产。
- Python 体验明显好于 TypeScript。TypeScript 版本是后来补的,文档和示例都少。
- 定制空间小。沙箱、文件系统这些底层,能改的有限。
- 大上下文贵。长会话不裁剪,Token 烧起来心疼。
- 中文场景偶有水土不服。复杂中文指令偶尔会跑偏。
标叔的经验:把 Claude Agent SDK 当"瑞士军刀",别当"生产线"。
我用它写过 CI 里的 PR Reviewer Bot、好用过。但要做一个对客的客服 Agent 跑在 Cloudflare 上,不行——它天生不是干这个的。
13.6 决策树:5 分钟做选择
我把这三个月的判断画成一张决策图。你照着走,基本不会错。
| 你的情况 | 选 Flue | 选 Claude Agent SDK |
|---|---|---|
| 团队主力是 TypeScript | ✓ | |
| 团队主力是 Python | ✓ | |
| 要部署到 Cloudflare Workers | ✓ | |
| 写本地编码助手、CLI 工具 | ✓ | |
| 必须能换模型(成本/合规考虑) | ✓ | |
| 模型就钉死 Claude | ✓ | |
| 要对接现有 Hono / Node 服务 | ✓ | |
| 要做 PR Review / Code Agent / 终端自动化 | ✓ | |
| 要做对客的多端产品 | ✓ | |
| 团队没人懂 Agent 概念,要最快出活 | ✓ |
核心建议:先想"在哪跑",再想"用什么模型"。
很多人选框架反着来——先挑模型,再想部署。结果 Claude Agent SDK 跑 Cloudflare 写得很痛苦。部署目标先定,框架就定一半。
13.7 并存:两边都用
这不是二选一。我现在的项目,两个都用。
- Claude Agent SDK 跑在开发者本地,做代码审查、脚本生成、CI 里的 PR 分析。
- Flue 跑在 Cloudflare,做对客的客服 Agent、数据处理工作流。
两边用一致的 prompt 模板、共享 SKILL.md。模型层互不依赖。
// Flue 这边:导入和 SDK 同样的 SKILL.md
import reviewChecklist from '../skills/review/SKILL.md' with { type: 'skill' };
// Claude Agent SDK 那边的 settings.json 也指向同一份
// { "skills": ["./skills/review/SKILL.md"] }
Agent Skills 规范是 Anthropic 推的,Flue 原生兼容。一份技能,两边用,省维护。
标叔的经验:别把鸡蛋放一个篮子。
我以前只用 Claude Agent SDK,结果一次 Claude API 抖动,整个研发流程卡了两小时。现在核心流程 Flue 兜底,SDK 做增强。安全感不一样。
13.8 迁移路径
如果以后想从一边迁到另一边,也不难。它们的"心智模型"高度相似:
| 概念 | Flue | Claude Agent SDK |
|---|---|---|
| Agent 本身 | createAgent(() => ({...})) |
claude --agent xxx |
| 工具 | defineTool({...}) |
tools: [{name, input_schema, ...}] |
| 技能 | import skill from 'X/SKILL.md' |
.claude/skills/.../SKILL.md |
| 子智能体 | defineAgentProfile({...}) |
Task tool 派发 |
| 会话 | harness.session() |
内置 session |
| 流式 | SSE text_delta |
stream: true |
两边都遵循 Agent Skills 规范。技能文件、提示词、心智模型是通的。
标叔的经验:先 Flue 后 SDK,比反过来舒服。
我团队有个逆向走法:先 SDK 后 Flue,一直骂 Harness 复杂。原因是 SDK 把复杂度藏在内部,先用 SDK 的人不习惯"显式配置"。先 Flue 后 SDK 的人,反倒觉得 SDK 简洁。
13.9 一句话总结
Flue 是给"搭舞台的人"用的,Claude Agent SDK 是给"演员"用的。
| 你是谁 | 选谁 |
|---|---|
| 写产品、写服务、跨多端 | Flue |
| 写工具、写脚本、自动化 | Claude Agent SDK |
| 两个都干 | 都装,按场景切换 |