MaxKB 多智能体路由
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9aad82af/maxkb-v2。
技能介绍
解决什么问题
在 MaxKB 中同时部署多个智能体时,宿主模型面临一个朴素难题:它不知道平台上有哪些智能体,更不知道当前问题该分派给谁。硬编码路由规则意味着每新增一个智能体就要改一次代码,而靠自然语言描述做判断又缺少统一的调用接口。这个技能把「发现—选择—调用」拆成两个函数,把路由决策权交还给 LLM,宿主程序只负责传参。
核心能力与调用流程
技能提供两个工具函数,配合宿主智能体的 LLM 完成路由与调用:
list_agents:无需参数,返回所有已发布智能体的name和desc,以 JSON 数组形式供 LLM 判断选择chat_to_agent:按 LLM 指定的agent_name调用对应智能体,传入question后返回该智能体的回答
推荐流程是先枚举再调用:
- 第一步,宿主程序调用
list_agents拿到智能体清单 - 第二步,LLM 结合每个智能体的
desc判断问题归属,选定agent_name - 第三步,调用
chat_to_agent传入question与agent_name,拿到结构化结果
返回值为 JSON 字符串,包含两个字段:agent_name(实际调用的智能体名称)与 answer(智能体的回答内容)。宿主程序可原样返回回答,也可读取 agent_name 做调用审计。
适用边界与注意点
- 路由质量取决于
desc的描述质量:描述含糊的智能体容易被 LLM 误选或漏选,维护清单时应保证描述与实际能力一致 - 调用前必须配置环境变量:
MAXKB_DOMAIN指定服务地址;认证支持MAXKB_TOKEN(管理员 API Key)或MAXKB_USERNAME/MAXKB_PASSWORD登录凭据,且用户名密码优先于 Token MAXKB_WORKSPACE_ID默认为default,多工作空间场景需显式指定- 技能只做发现与调用,不做重试、降级或超时控制,这些逻辑需宿主程序自行处理
使用场景
- 客服工作台接入多个 MaxKB 智能体后,用户提问“这个发票怎么报销”,宿主先用 `list_agents` 拉取清单再由 LLM 选智能体,最后用 `chat_to_agent` 传 `question` 取回回答
- 多工作空间下不同职能智能体并存,遇到合同审查类问题时按 `desc` 判断归属,调用 `chat_to_agent` 时带上正确的 `agent_name` 与 `question` 拿到专业答复
- 智能体列表会动态扩缩,新增上线后无需改代码,宿主重新调用 `list_agents` 就能让 LLM 基于最新 `name` 与 `desc` 重新路由
- 单一入口面向终端用户时,用户只问问题不指定智能体,系统自动完成发现、选择、调用并把 `answer` 返回给客户端
适合人员
- 正在构建宿主程序或编排平台的开发者,需要在运行时动态发现 MaxKB 智能体并由 LLM 完成路由,而不是硬编码名称和规则
- 负责维护 MaxKB 实例的运维人员,需要在多个已发布智能体之间建立统一调用入口,并记录实际命中的 `agent_name` 用于审计
- 企业内同时维护多个部门智能体的内容或平台团队,希望把“问题分派给谁”从人工规则改为基于 `desc` 的模型判断
- 搭建咨询或客服场景的工程负责人,需要让一次提问即可命中对口智能体,并用 `answer` 字段直接回应用户