第二幕:组建你的播客制作团队🎬


文档摘要

第二幕:组建你的播客制作团队 lab2 情节加剧 Alex(你在第一幕中的 AI 助手)很棒,但一个智能体无法运营整个播客工作室。你需要一个团队: 研究智能体:搜索网络寻找新鲜信息 ✍️ 脚本智能体:将研究转化为引人入胜的对话 你(编辑):批准脚本或发回重写 欢迎来到 AI 智能体编排 —— 你成为自己 AI 团队的导演。想想复仇者联盟,但用于播客制作。 什么是智能体编排?(简单版本) 想象你在经营一家餐厅。你不会自己做所有事情,对吧?你有: 厨师负责烹饪 ‍ 副厨负责准备 ‍ 服务员负责送餐 智能体编排是同样的想法,但用 AI。每个智能体都有专长,你协调它们实现更大的目标。没有单个智能体不堪重负,工作完成得更快。

第二幕:组建你的播客制作团队

lab2

情节加剧

Alex(你在第一幕中的 AI 助手)很棒,但一个智能体无法运营整个播客工作室。你需要一个团队:

  • 研究智能体:搜索网络寻找新鲜信息
  • ✍️ 脚本智能体:将研究转化为引人入胜的对话
  • 你(编辑):批准脚本或发回重写

欢迎来到 AI 智能体编排 —— 你成为自己 AI 团队的导演。想想复仇者联盟,但用于播客制作。

什么是智能体编排?(简单版本)

想象你在经营一家餐厅。你不会自己做所有事情,对吧?你有:

  • 厨师负责烹饪
  • ‍ 副厨负责准备
  • ‍ 服务员负责送餐

智能体编排是同样的想法,但用 AI。每个智能体都有专长,你协调它们实现更大的目标。没有单个智能体不堪重负,工作完成得更快。

乐队类比

你的 AI 代理就像一个乐队:

  • 主唱:处理面向客户任务的主要代理
  • 鼓手:保持节奏,处理后台处理
  • 贝斯手:支持每个人,获取数据
  • 你(乐队经理):协调所有!

没有协调?只是噪音。有编排?美妙的音乐。

为什么这很重要

一个 AI 智能体试图做所有事情 = 倦怠。专业智能体一起工作 = 效率解锁!

实话实说:还记得尝试独自研究、编写和编辑你的播客吗?是的,那很糟糕。通过编排,每个智能体处理它最擅长的。你只需做最终决定。

现实世界的例子:客户支持机器人知道何时处理账单 vs 技术问题 vs 何时呼叫人类。那就是编排!

智能体 vs 工作流:有什么区别?

这样想:

AI 智能体 = 爵士乐手

  • 即兴决策基于它听到的内容
  • 即兴创作使用它的工具解决方案
  • 思考用 LLM 大脑
  • 适应你扔给它的任何东西

工作流 = 管弦乐队演奏古典音乐

  • 遵循乐谱(预定义步骤)
  • 可预测的执行路径
  • 协调多个智能体、人类、系统
  • 结构化像食谱一样

魔力:工作流编排智能体!你构建一个工作流,告诉智能体何时发挥它们的作用。两全其美。

三种协调你的 AI 团队的方式

1. 集中式(你是老板)

一个主智能体发号施令。把它想象成你管理一个团队 —— 你决定谁做什么以及何时做。

优点

  • ✅ 清晰的领导(没有混乱)
  • ✅ 一致的决策
  • ✅ 易于调试

适用于

  • 客户服务路由("这是账单还是技术支持?")
  • 内容审批工作流("这个脚本通过了吗?")
  • 播客制作(正是我们正在构建的!)

2. 去中心化(智能体自组织)

智能体直接相互交谈并作为一个群体解决问题。就像每个人都在协调的群聊。

优点:

  • ✅ 易于扩展(随时添加更多智能体)
  • ✅ 没有单点故障
  • ✅ 智能体自然协作

适用于:

  • 研究团队(每个智能体探索不同来源)
  • 头脑风暴会议
  • 分布式问题解决

3. 混合式(两全其美)

你设定总体方向,但智能体在任务上有自由自组织。就像一个信任团队的 CEO。

完美适用于:需要控制和灵活性的复杂项目。

Microsoft Agent Framework:你的编排工具包

是时候构建了!这是你将使用的:

构建模块

1. 执行器(你的工人)

  • 它们是什么:单独的处理单元 —— 可能是智能体或自定义逻辑
  • 它们做什么:接收输入,完成工作,产生输出
  • 把它们想象成:流水线上的工作站

2. ➡️ 边(连接)

  • 它们是什么:执行器之间的路径
  • 它们做什么:控制消息流("在 A 之后,去 B")
  • 把它们想象成:流程图上的箭头

3. ️ 工作流(总体计划)

  • 它们是什么:执行器 + 边的完整图
  • 它们做什么:定义从开始到结束的整个过程
  • 把它们想象成:你的制作流程蓝图

你会喜欢的酷功能

️ 类型安全:智能体之间的消息是类型检查的。没有"哎呀,错误的数据类型"惊喜。

** 灵活路由**:

  • If-then 条件("如果批准,发布;否则,重写")
  • 并行处理(多个代理同时工作)
  • 动态路径(工作流根据结果调整)

** 外部集成**:

  • 连接到 API
  • 添加人工在环检查点(你在发布前批准)
  • 构建请求/响应流

** 检查点**:保存进度!如果某些东西崩溃了,从你离开的地方继续。

** 多代理协调**:

  • 按顺序运行代理(A → B → C)
  • 并行运行它们(A + B + C 同时)
  • 代理之间交接
  • 协作处理

最佳实践(专业提示)

1. 保持模块化

每个智能体应该真正做好一件事。不要制作一个做所有事情的"超级智能体" —— 你在调试时会后悔的。

2. 为失败做计划

智能体会搞砸。网络会失败。构建错误处理和备用计划。你未来的自己会感谢你。

3. 监控一切

跟踪你的智能体在做什么。使用 DevUI(我们会介绍的!)查看运行中的工作流。

4. 优化消息大小

不要在智能体之间传递巨大的文件。保持消息精简以提高速度。

5. 选择正确的模式

需要控制?选择集中式。需要规模?选择去中心化。无法决定?选择混合式!

DevUI:你的工作流调试器

什么是 DevUI?

DevUI 就像测试你的智能体和工作流的游乐场。这是一个 Web 界面,你可以:

  • 观看你的工作流运行
  • 直接与智能体聊天
  • 当事情出错时调试
  • 查看跟踪和性能指标

重要:DevUI 仅用于开发!不要在生产中使用它。把它想象成你的本地测试环境。

什么让它很棒

  • ️ 交互式 Web UI:点击、输入、测试 —— 不需要命令行
  • ** 拖放就绪**:上传文件,用不同输入测试
  • ** 自动发现**:指向一个文件夹,它会自动找到所有智能体
  • ** 无需设置模式**:在代码中注册智能体,无需文件夹结构
  • ** OpenAI 兼容**:与 OpenAI SDK 兼容(兼容性万岁!)
  • ️ 内置跟踪:准确看到你的智能体在做什么

输入如何工作

DevUI 对输入很智能:

  • 测试智能体? 你得到文本框和文件上传按钮
  • 测试工作流? UI 根据你的工作流期望的内容自动生成输入字段

这就像魔法,但这只是好代码。✨

你的任务:构建播客工作室

任务 1:使用 DevUI 创建单个代理

01.AgentDevUI

挑战:在构建完整团队之前,让我们用一个代理测试 DevUI:网络搜索专家。

你正在构建什么
一个可以搜索互联网寻找播客主题的研究代理。你将使用 DevUI 的 Web 界面 http://localhost:8090 进行测试。

你将学到的技能

  • 在 DevUI 中启动代理
  • 实时测试代理响应
  • ️ 构建自定义工具(网络搜索)
  • 启用跟踪以调试问题
  • ️ 使用交互式 Web UI

代码

  • agent.py:你的具有网络搜索超能力的 SearchAgent
  • 使用 OllamaChatClient 连接到 Qwen
  • 实现 web_search() 工具函数
  • 使用 serve() 启动 —— 自动打开 DevUI

胜利条件:问你的代理"AI 领域有什么热点?"看它搜索网络!

任务 2:构建多智能体工作流

02.WorkflowDevUI

挑战:现在真正的乐趣开始了!构建一个完整的播客制作工作流:

  1. 搜索智能体 → 研究你的主题
  2. ✍️ 脚本智能体 → 编写两个主持人之间的对话(用中文!)
  3. 审查执行器 → 要求你批准或拒绝
  4. 循环回退 → 如果被拒绝,根据你的反馈重写

你将学到的技能:

  • 为不同工作创建专门的智能体
  • 使用 WorkflowBuilder 连接智能体
  • 实现批准循环(人工在环!)
  • 条件路由(如果批准 vs 拒绝)
  • 为业务逻辑构建自定义执行器

工作流

SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (如果被拒绝) ←─────────

代码

  • search_agent/agent.py:你的研究专家
  • generate_script_agent/agent.py:你的脚本作者(用中文写!)
  • workflow/workflow.py:编排魔法在这里发生
  • main.py:在 DevUI 中启动一切

胜利条件:给一个主题,审查脚本,拒绝一次以测试循环,然后批准!

任务 3:构建控制台应用

03.Application

挑战:将你的工作流从 DevUI 转变为带有彩色输出、加载旋转器和文件保存的时髦终端应用。这是生产就绪的东西!

你将学到的技能

  • ⚡ 以编程方式运行工作流(无 DevUI)
  • 使用流式处理的事件驱动架构
  • 创建漂亮的终端 UI(颜色、旋转器、进度条)
  • 将最终脚本保存到文件
  • 使用 Python 的 asyncio 处理异步工作流

它做什么

  1. 询问你播客主题
  2. 显示实时进度("搜索智能体正在工作...")
  3. 用颜色显示生成的脚本
  4. 请求你的批准
  5. 将批准的脚本保存到 podcast.txt

代码

  • podcast_app.py:你的带有事件处理的主应用
  • workflow.py:重用任务 2 的工作流
  • 处理事件:AgentRunUpdateEventRequestInfoEventWorkflowOutputEvent
  • 使用 ANSI 颜色进行终端样式

胜利条件:运行应用,创建播客脚本,看到它被保存!你已经构建了一个真正的工具。

你已经掌握的

第二幕之后,你可以:

  • ✅ 像老板一样编排多个 AI 智能体
  • ✅ 构建具有顺序和条件逻辑的工作流
  • ✅ 添加人工批准检查点
  • ✅ 使用 DevUI 测试和调试工作流
  • ✅ 创建生产就绪的控制台应用程序
  • ✅ 在复杂系统中优雅地处理错误
  • ✅ 为任何项目选择正确的编排模式

当事情出错时

"我的工作流太复杂了!"

解决方案:将其分解为更小的子工作流。每个工作流应该做好一件事。如果需要,将它们链接在一起。

"我无法跟踪正在发生的事情!"

解决方案:使用工作流检查点保存状态。在 DevUI 中启用跟踪以查看每一步。

"一个智能体的错误会崩溃所有东西!"

解决方案:添加错误边界。每个智能体应该处理自己的失败并有备用行为。

"这太慢了"

解决方案:有智能体可以并行运行吗?顺序工作流很容易但很慢。寻找并行化机会!

有用的资源

准备好迎接大结局了吗? 你有了脚本。现在让我们把它变成真实的音频!→ 第三幕:让你的播客活起来

卡住了?困惑了?兴奋了? 在工作坊聊天中分享!我们一起学习。

免责声明
本文件使用 AI 翻译服务 Co-op Translator 进行翻译。虽然我们力求准确,但请注意自动翻译可能存在错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用本翻译而产生的任何误解或误释承担责任。


作者与出处
原作者: microsoft
来源:microsoft
许可证:MIT
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: microsoft 转发
评论区 (0)
U