Agent Squad 多智能体编排框架
将用户请求路由给合适的专用智能体,并持续维护跨轮对话上下文。
按维度查看评分与理由
证据显示仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均得0分,因为没有任何相关文档或代码证据。
自一致性得2分:README描述了多运行时(Python、TypeScript、Swift)和功能,但未提供详细代码或测试来验证一致性。依赖可用性得1分:README提到了npm和PyPI包,但未提供版本锁定或依赖清单。失败消息得0分:未提供错误处理或失败消息的文档。
受众与场景得2分:README明确了目标受众(开发者)和多种使用场景(云、设备端)。能力边界得1分:描述了可扩展性,但未明确限制。触发精度得0分:未提供触发机制或精确条件。环境适配得2分:说明了支持的环境(Python 3.11+、Node.js、iOS 16+等)。
信息架构得2分:README结构清晰,有目录和分节。安装说明得2分:提供了npm、pip和Swift包安装命令。命名稳定性得1分:提到项目更名和迁移,但未提供版本历史。示例与FAQ得2分:提供了多个示例和文章链接。已知限制得0分:未提及任何限制。许可证得2分:明确Apache-2.0。版本与变更日志得0分:未提供CHANGELOG或版本历史。维护责任得1分:列出了作者和贡献者,但未明确维护政策。
输出可用性得2分:提供了API示例和输出格式。边际价值得2分:框架提供了多运行时和独特功能(如GroundedAgent)。成本效益得1分:未提供性能或成本数据。
声明可追溯性得1分:README中的声明未链接到具体代码或测试。跨来源佐证得1分:有外部文章和播客,但未提供独立验证。事实与推断分离得1分:部分区分了功能描述和推断,但不够明确。
- 未提供安全相关文档,如权限管理、数据流透明、敏感数据处理等,使用前需自行评估。
- 依赖安全未提及,建议检查依赖清单和已知漏洞。
- 未提供已知限制和失败处理说明,可能影响生产环境使用。
这个 Agent 能做什么,适合哪些场景?
Agent Squad 是一个用于多智能体编排的开源框架,提供 Python、TypeScript 和 Swift 三套运行时。其核心流程由 Classifier 根据用户输入、智能体描述和对话历史选择 Agent,再由 Orchestrator 保存交互并返回结果。框架提供 Bedrock、Anthropic、OpenAI、Lex 和 Lambda 等预构建智能体,也允许替换自定义智能体、分类器、存储和检索器。Python 与 TypeScript 可运行于 AWS Lambda、容器或本地环境;Swift 运行时面向 iOS 16+ 与 macOS 14+,支持设备端路由、MCP 工具、实时语音、追踪及本地聊天存储。它适合需要把多个专业能力整合进单一对话入口的开发团队,而不是提供现成业务机器人的托管服务。
应用通过 AgentSquad(Python/TypeScript)或 Swift 的 Orchestrator 接收用户文本和 userId、sessionId。Classifier 参考已注册 Agent 的 description 及会话历史进行路由,选中的 Agent 处理请求,并可在需要时调用工具;Orchestrator 随后保存本轮交互并输出流式或非流式响应。TypeScript 可调用 orchestrator.addAgent(...) 和 routeRequest(...);Python 使用 add_agent(...) 与 route_request(...),并可处理 AgentStreamResponse。Swift 可通过 Orchestrator.route(.text(...), userId:..., sessionId:...) 迭代事件;该运行时的工具可来自原生 Swift 函数、声明式 HTTP 工具或 MCP server。SupervisorAgent 可并行协调子智能体并合成答复,GroundedAgent 则让 gatherer 获取工具结果,再由隔离的 presenter 仅依据整理后的结果作答。
- 为客服团队构建电商支持入口:按问题把订单、商品或人工核验任务路由给不同专用智能体。
- 为旅行产品团队构建多领域对话助手:在旅行、天气、餐厅和计算等智能体之间保留追问上下文。
- 为 AWS 开发团队在 Lambda 或容器中部署带 Bedrock、Lex 或 Lambda 智能体的对话编排层。
- 为需要价格、赔率、余额或库存准确性的应用采用 GroundedAgent,将最终回答限制在已获取的工具数据内。
- 为 iPhone、iPad 或 Mac 应用开发离线优先的智能体体验,结合设备端存储、MCP 工具和实时语音。
这个 Agent 有哪些优点和局限?
- 同一编排模型覆盖 Python、TypeScript 和 Swift,Swift 还明确支持完全在设备端运行。
- 路由不只依据当前文本:Classifier 使用智能体描述和对话历史选择处理者。
- GroundedAgent 将工具获取与最终表述隔离,适用于必须忠实呈现价格、库存或余额等外部数据的场景。
- SupervisorAgent 支持并行子智能体查询、共享上下文和层级团队组合。
- Swift 工具层可统一接入原生函数、HTTP 工具和 MCP server。
- 三套运行时的要求不同:Python 需 3.11+,Swift 仅支持 iOS 16+ 或 macOS 14+,因此无法以单一二进制覆盖全部目标。
- README 只展示依赖安装和示例调用,未给出 Bedrock 或其他服务提供商凭证配置的具体步骤。
- 使用 Bedrock、Anthropic 或 OpenAI 等预构建智能体时,应用仍需集成相应模型提供商。
- Swift 包示例引用 main 分支而非固定版本,采用该方式可能带来版本漂移风险。
- 项目已从 awslabs/agent-squad 迁移且曾名为 multi-agent-orchestrator,旧克隆地址、书签和依赖名需要更新。
如何安装或部署这个 Agent?
选择一个运行时安装。TypeScript:npm install agent-squad。Python:pip install "agent-squad[aws]";README 还列出 [anthropic]、[openai] 和 [all] 可选项,且要求 Python 3.11+。Swift:在 Package.swift 的 dependencies 中加入 .package(url: "https://github.com/2FastLabs/agent-squad", branch: "main"),或通过 Xcode 的 Add Package Dependencies 添加。README 的 Swift 示例要求为 ChatCompletionsClient 提供 apiKey;Bedrock 示例未说明 AWS 凭证的具体配置步骤。
如何使用这个 Agent?
TypeScript 的首个调用可写为:import { AgentSquad, BedrockLLMAgent } from "agent-squad"; const orchestrator = new AgentSquad(); orchestrator.addAgent(new BedrockLLMAgent({ name: "Tech Agent", description: "Specializes in technology: software, hardware, AI, cybersecurity, cloud.", streaming: true })); const response = await orchestrator.routeRequest("What is AWS Lambda?", "user123", "session456"); 若 response.streaming 为 true,则用 for await 迭代 response.output;否则读取 response.output。Swift 可创建 Agent(name: "Shop", description: "Shopping assistant", model: ChatCompletionsClient(model: "gpt-4o-mini", apiKey: apiKey)),再用 Orchestrator(agents: [agent], store: try DeviceChatStorage(userId: "u1")) 调用 route。
这个 Agent 与同类方案有什么区别?
仓库明确提供 Bedrock、Anthropic、OpenAI、Lex 与 Lambda 等智能体实现;它们是可在同一 Agent Squad 编排层中注册的集成选项,而非互斥的框架替代品。