软件开发团队 Agent:架构设计
1. AutoGen 简介
AutoGen(全称 AutoGen - Multi-Agent Conversation Framework)是微软开源的多智能体对话框架,用于构建基于大语言模型(LLM)的协作式应用。支持多个智能体通过对话协作,可配置人机参与方式与发言顺序,与 OpenAI 及兼容 API 集成良好。本案例基于 AutoGen GroupChat 的「群聊 + 管理器」模式,实现需求分析 → 编码 → 代码审查 → 用户测试的固定顺序轮询协作。
1.1 框架结构的演进
新架构最显著的变化是清晰的分层和异步优先的设计理念。
- 分层设计:框架拆分为两个核心模块:
- autogen-core:底层基础,封装与语言模型交互、消息传递等核心功能,保证框架稳定性与扩展性。
- autogen-agentchat:构建于 core 之上,提供开发对话式智能体应用的高级接口,简化多智能体应用开发。
上述分层使各组件职责明确,降低系统耦合度。
- 异步优先:新架构全面采用异步编程(async/await)。多智能体协作中,网络请求(如调用 LLM API)是主要耗时操作;异步模式在等待某一智能体响应时可处理其他任务,避免线程阻塞,提升并发能力与资源利用效率。
1.2 核心智能体组件
智能体是执行任务的基本单元,在 0.7.4 及新版本中设计更加专注和模块化。
| 组件 | 说明 |
|---|---|
| AssistantAgent(助理智能体) | 任务的主要解决者,封装 LLM,根据对话历史生成回复(如提出计划、撰写文章或编写代码)。通过不同的**系统提示词(System Message)**可赋予不同「专家」角色。 |
| UserProxyAgent(用户代理智能体) | 兼具双重角色:作为人类用户的「代言人」发起任务、传达意图;作为「执行器」可配置为执行代码或调用工具,并将结果反馈给其他智能体。清晰区分「思考」(由 AssistantAgent 完成)与「行动」。 |
1.3 从 GroupChatManager 到 Team(轮询群聊)
多智能体协作需要协调对话流程。早期版本由 GroupChatManager 承担;新架构引入更灵活的 Team / 群聊 概念,例如 RoundRobinGroupChat。
- RoundRobinGroupChat(轮询群聊):按预定义顺序依次让智能体发言,适用于流程固定的任务(如:产品经理提需求 → 工程师写代码 → 审查员检查)。
- 工作流:
- 创建
RoundRobinGroupChat实例,将所有参与智能体加入。 - 任务开始时,群聊按预设顺序依次激活对应智能体。
- 被选中的智能体根据当前对话上下文生成回复。
- 群聊将新回复加入对话历史,并激活下一名智能体。
- 重复直至达到最大轮次或满足终止条件。
- 创建
2. 案例目标
本案例演示如何用 AutoGen(autogen.agentchat)构建一个轮询协作的软件开发流水线:
- 需求分析 → 编码 → 代码审查 → 用户测试,四角色按固定顺序轮流发言,直至用户确认完成或达到最大轮数。
- 每个智能体有明确的系统提示词与职责边界,通过群聊消息传递需求、代码与反馈。

