Qwen-Agent 多 Agent 路由架构说明

1. 设计目标与整体思路 Qwen-Agent 路由层(Router)的核心目标是: 将多种能力(对话 / 图片 / 代码 / 文档 / 工作流)统一暴露为 单一入口 让 LLM 自动决策使用哪个 Agent 保证多轮对话中的 Agent identity 延续 保持低耦合、可扩展、可插拔 🔷 整体架构图 🔷 核心链路图 2. 核心组件说明 2.1 QwenAgentRouter(路由器) 路径:agents/core/routing/router.py 职责: 继承 FnCallAgent → 让 LLM 决策 继承 MultiAgentHub → 持有子 Agent 队列 强制输出格式 Call: 通过 stop=[’\n’] 限定只读第一行 🔷 QwenAgentRouter 内部逻辑图 2.2 子 Agent 类型 Agent 名称 文件 能力 基础对话助手 agents/chat/basic_chat_agent.py 通用问答、兜底 多模态助手 agents/multimodal/image_agent.py 图像识别、图像生成 规划助手 agents/planning/planning_agent.py 多步骤工作流拆解 代码助手 agents/code/code_agent.py 代码执行、调试、生成 文档助手(可扩展) 自定义 文件阅读、检索、翻译 3. 消息流与路由流程(核心链路) 🔷 路由行为时序图 ...

Qwen-Agent 框架架构解析

📘 Qwen-Agent 框架架构解析 对应源码仓库: https://github.com/QwenLM/Qwen-Agent 文档包含架构图、循环图、多 Agent 协作图、Memory RAG 数据流图、工具体系图与异常处理图。 所有流程均严格基于源码实现,无推测成分。 1. 🎯 设计理念(Design Philosophy) Qwen-Agent 的核心目标是: 通过统一抽象、模块化组件与 LLM+工具闭环,实现可扩展且可编排的智能 Agent 体系。 核心理念 统一抽象:所有 Agent 都继承 Agent,通过 _run 处理消息,上层只依赖统一入口。 LLM+工具闭环:FnCallAgent 完成 “LLM 推理 → 工具决策 → 工具执行 → 回写上下文” 的完整循环。 模块化扩展:工具、Memory、子 Agent 可自由组合,可复用性强。 默认流式:全链路支持流式输出,提高交互体验。 文件/RAG 模块独立:Memory 负责文件抽取、解析与检索。 2. 🧩 核心组件结构(Core Components) 2.1 Agent 基类(骨架层) Agent.run() 负责: 标准化消息 自动插入 system prompt 自动语言检测(如中文 → lang=zh) 统一构建 LLM 请求参数 调用子类 _run 2.2 Message Schema(所有信息流的基础) 来自 llm/schema.py,Qwen-Agent 完全兼容 OpenAI 格式。 ...