Multi-Agent Orchestrator实战:让多个AI代理各管一摊,10分钟跑通多代理编排框架
【免费下载链接】agent-squadFlexible and powerful framework for managing multiple AI agents and handling complex conversations项目地址: https://gitcode.com/GitHub_Trending/mu/agent-squad
Multi-Agent Orchestrator是一个管理多个AI代理、处理复杂对话的多代理编排框架。它不把所有任务塞给一个大模型,而是让每个专职AI代理各管一摊,再自动把用户输入路由给最合适的代理,中间还帮你维护对话上下文。如果你打算搭一套AI代理系统,这个项目值得先看一眼。
当用户一口气问了三件事
想象一个客服场景:用户先问天气,接着问航班,最后还想写封邮件。这些事如果都走同一个模型,它得来回切换三次上下文,提示词要同时背着三种业务的指令,功能越多越臃肿。多代理编排解决的就是这个问题:把任务拆开,交给专职代理,路由层决定谁该接话。
Multi-Agent Orchestrator把这套思路做成了现成框架:内置了一批对接不同后端的代理,也允许你自己写;对话存储、上下文管理、流式响应这些轮子都不用重复造。Python和TypeScript两个实现都有,挑顺手的用。
跑通第一个多代理demo
上手最快的入口是仓库里 examples/python/ 目录下的Streamlit演示,里面带两个能玩的demo:AI电影制作工作室和AI旅行规划器。
先把代码拉到本地:
git clone https://gitcode.com/GitHub_Trending/mu/agent-squad再装好依赖(需要Python 3.8+):
cd examples/python pip install -r requirements.txt然后直接启动应用:
streamlit run main-app.py浏览器打开后,输入一个电影创意、选个类型和目标受众,点"Develop Movie Concept",几秒钟就能拿到故事大纲和角色选角建议。有两个前置条件要留意:电影制作demo需要一个开通Bedrock访问权限的AWS账户,旅行规划demo需要Anthropic API key,步骤写在 examples/python/ 的README里。如果你不想跑demo,也可以直接用pip install "multi-agent-orchestrator"把框架装进自己的项目。
官方的chat demo更能说明问题:旅行、天气、餐厅、数学、技术支持、健康六个专职代理在同一段会话里接力处理不同话题,系统自动切换负责的代理,连"再多说点"这种简短追问也能正确路由回上一轮正在聊天的那个代理。
拆开看:代理路由是怎么工作的
把框架拆开,一次请求流经四个角色:Orchestrator(总协调,所有请求的入口)、Classifier(路由器)、Agents(真正干活的代理)、存储(对话记忆)。
流程从Orchestrator收到用户输入开始,它先交给Classifier。这一步就是框架的智能任务分配:分类器用LLM通读输入、各代理的简介和当前会话的完整历史,挑出最合适的代理。💡 这里有个关键细节——分类器看得到所有代理的完整历史,而每个代理只能看到自己的对话。路由和上下文因此各管各的,互不串味。
代理处理完后,Orchestrator把用户输入和代理响应写回存储。框架自带内存、DynamoDB、SQL三种存储实现,同一会话的下一次输入,分类器才能基于完整历史做判断。分类器这边有BedrockClassifier、OpenAIClassifier、AnthropicClassifier三种可选;代理这边则是一套标准内置件:BedrockLLMAgent、OpenAIAgent、AnthropicAgent、LambdaAgent、LexBotAgent、AmazonBedrockAgent等,全部走同一个处理接口,清单可以看 python/src/multi_agent_orchestrator/agents/。
两个真实场景:电影工作室和旅行规划
前面跑过的电影制作demo,本身就是一次完整的多AI代理协作:编剧代理写故事,选角代理研究真实演员并给出选角建议,监制代理统管全局并产出概念概述。三个代理各包一个Bedrock LLM,由一个supervisor统筹。
旅行规划走的是另一种分工:研究代理用联网搜索工具查目的地的实时信息,规划代理把这些素材整理成逐日行程。两个demo的输入输出长什么样,直接看 examples/python/ 里的结果截图就有数了。
让代理组队:SupervisorAgent与自定义代理开发
框架里最灵活的部件是SupervisorAgent。它采用"agent-as-tools"的架构:一个lead代理负责协调一支专职代理小队,能把子任务并行派发出去,每个成员还保留自己的上下文。官方README里有配套架构图,文档在 docs/src/content/docs/agents/built-in/supervisor-agent.mdx。
自定义代理开发的文档也备好了,路径并不复杂:按标准Agent接口写一个新类,把它的职责写进description字段——分类器正是靠这段描述做路由——然后把它和其他代理一起交给Orchestrator即可。细节看 docs/src/content/docs/agents/custom-agents.mdx 这篇文档就行。typescript/ 目录下的TypeScript版本也有同一套组件,按团队技术栈选。
框架的思路其实很直白:路由层管分流,代理管干活,存储管记忆。打开 examples/ 目录,挑一个demo跑起来,比读十篇文档都管用。
【免费下载链接】agent-squadFlexible and powerful framework for managing multiple AI agents and handling complex conversations项目地址: https://gitcode.com/GitHub_Trending/mu/agent-squad
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考