Skip to content
··阅读时间2分钟

CrewAI 很不错!——我的第一印象

用 CrewAI 做 AI 播客约 10 天后,我最大的体会是:这个框架确实非常易上手,但高质量内容依然离不开真实的人类投入。

几周前,我通过这门课程 “Practical Multi AI Agents and Advanced Use Cases with crewAI” 第一次接触到 CrewAI。起初我其实并不急着试,因为我已经在用 Langgraph 做我的 agent Sydney,但有两件事最终让我动手:

  1. 我一直在探索“从零生成播客”的方式,尤其想研究如何让 Gen AI 对我过去 15 年博客内容做“推理”,而不只是复制粘贴文章。我此前试过 NotebookLLM(效果还可以,你可以在 这里 听样例),但我希望对对话节奏和开场 hook 有更高控制权。
  2. 我想学点新东西,也想试试 OpenAI 的 text-to-speech 模型。

更新(2025 年 11 月):我已经从“使用 agent 框架”毕业,开始用 Claude Code 和 Google Gemini CLI 从零编码。这样控制权高很多。我最近上线的是 STRAŦUM(市场智能)和 DIALØGUE(AI 播客生成器)——它们都直接源自下面这个 CrewAI 实验。

玩了大约 10 天 CrewAI 后,这是我的核心观察:

1. 好的部分

1.1 上手速度出乎意料地快

  • 初始学习曲线很短——我几小时内就能跑起来
  • 配置自定义 tools(例如用 Weaviate 作为向量库检索我博客内容)非常直接。把播客脚本转成音频输出也很好搭。
  • 用 YAML 文件以自然语言描述 agents 和 tasks 的方式很强(小贴士:Visual Studio Code 自动补全在这块非常好用!)

1.2 模型选择很灵活

crew.py 里切换 LLM 基本只要改几行:

llm_openai_4o_mini = LLM(model="gpt-4o-mini", temperature=0)
llm_anthropic_35 = LLM(model="claude-3-5-sonnet-20240620", temperature=0)
llm_openai_4o = LLM(model="gpt-4o", temperature=0)
llm_gemini_15_pro = LLM(model="gemini/gemini-1.5-pro-002", temperature=0)

然后你可以按每个 agent 的长项分配不同模型。比如:

@agent
	def content_researcher(self) -> Agent:
		return Agent(
			config=self.agents_config['content_researcher'],
			llm=llm_anthropic_35,
			tools=[BlogContentRetrievalTool()], 
			verbose=True
		)

这些能力意味着我可以对播客结构和脚本方式有很强控制。

1.3 Text-to-Speech:有潜力,也有限制

OpenAI 的 text-to-speech API 音质确实不错,但目前只有 6 个 voice 模型。对播客创作来说,这个选择还是偏少——尤其你想做多主持人对话时。声音多样性不足,会让不同创作者做出的播客听起来越来越像。这一块我很希望未来能改进,不管是 OpenAI 增加语音选项,还是更好接入其他 TTS 提供方。

当然我也理解 AI 安全方面的顾虑,所以各家实验室在 voice 模型扩充上可能不会太激进。

2. 现实校正:这不是“点一下就生成”

最开始我确实担心这会进一步加剧网络上的 AI 生成内容泛滥(“AI Slop”)。毕竟我大概 5 分钟就能生成一篇 15 分钟播客脚本。(在上面的 DeepLearning.AI 课程里,João 也确实演示了“Content creation at scale”的代码。)

但在我 真正 阅读/审阅 前几版脚本后,我的看法变了。

高质量内容仍然需要大量工作

2.1 需要有设计感的 Agent 结构

我反复重构了 AI crew 的结构,多次增加角色,尤其是 “fact_checker” 角色。我现在的播客 crew 包含:

  • Content researcher
  • Script writer
  • Fact checker
  • Script editor
  • Audio producer

2.2 持续迭代不可省

要做成,关键在于:

  • 用行业语言去精细定义每个 agent 的目标与任务。有真实行业经验的人能写出更精准任务描述,输出质量会显著更好。
  • 工具权限要有选择(不是越多越好)。agent 很容易陷入循环。
  • 代理之间要有清晰 delegation 规则
  • 输出结构要求要具体
  • 质量标准要明确:"What good work looks like"(这点我甚至拉上了我女儿一起设定——她更有创意 :D)

所以你会看到:AI crew 的确显著加速了我的工作(从研究到脚本、事实核查、修订、音频生成,至少 5X),但最终内容质量依然取决于我自己。

2.3 模型选择非常关键

不同 LLM 有不同“性格”,也有不同的遵循指令能力。所以你必须不断实验,理解各模型在流程每一步的优劣,才能让它们匹配你的需求。

一些观察:

  • 同一个模型,API 响应与网页聊天界面响应会有差异
  • 当前在 API 场景里,我更偏好 Anthropic 做长内容。但在网页端,我觉得 claude-3-5-sonnet-20241022 和 GPT-4o 实际上在一个水平线上。
  • OpenAI o1-preview 目前是我 coding 场景首选

2.4 Feedback + Memory 是关键增益项

你必须给 AI crew 反馈。它们很会执行指令,但并不知道你具体要什么,也读不了你的心(至少现在还不行 haha)。通过反馈训练 crew 很关键。

在 CrewAI 里做这件事很直接,运行:

crewai train -n <n_iterations> <filename> (optional)

我目前还没完全展开 CrewAI 的 memory 功能,但 feedback 与 memory 的组合潜力非常大,尤其对稳定输出高质量内容这件事。

3. 说了这么多,给我看结果!

好好好,我听见你说了:“Chandler 你讲够了,给样例!”

下面是完整工作流样例:

这些链接展示了从原始内容到完整播客的演进过程,也能看到不同 agent 在最终结果中的贡献。

我对这条流水线还有很多可优化想法,但希望上面这些足够让你感受到它已经能做到什么。

最后想法

CrewAI 最让我有好感的,是它在“简单”和“能力”之间平衡得不错。它确实让内容生产门槛更低,但它并不是魔法按钮——质量仍然依赖专业判断、精细规划和持续迭代。

你有在试 CrewAI、Langgraph 这类多 agent 框架吗?很想听你在做什么,欢迎留言或联系我。

致敬,

Chandler

更新(2026 年 1 月):这个 CrewAI 实验最终演化成了 DIALØGUE —— 一个完整生产应用。上文提到的 voice 限制?我后来切到 Gemini TTS,拿到了 7 种语言、30 个声音。从 OpenAI 的 6 个 voice 到这个规模,提升非常明显。如果你感兴趣,可以 直接试试

继续阅读

我的旅程
联系
语言
偏好设置