Flue 框架从入门到精通
Part 4 · 收束与选型

§13 Flue vs Claude Agent SDK:怎么选

Flue vs Claude Agent SDK:5 分钟做选型,含决策矩阵与迁移路径

📑 本章目录

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
两个都干 都装,按场景切换