端到端智能对话系统架构文档
端到端智能对话系统架构文档一、文档概述本文档描述一个端到端智能对话系统的整体架构该系统整合以下核心技术技术核心职责Agent AI自主推理、任务规划与多轮对话编排Agent Skills领域能力封装与可复用工作流Function Call大模型与外部工具/API 的调用接口MCP上下文与工具的统一协议与扩展机制RAG知识检索增强与事实性保障二、系统总体架构┌─────────────────────────────────────────────────────────────────────────────────┐ │ 用户交互层 (User Interface) │ │ Chat UI / API Gateway / 多模态输入 │ └─────────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────┐ │ 对话编排层 (Orchestration Layer) │ │ ┌─────────────────────────────────────────────────────────────────────────┐ │ │ │ Agent AI 核心引擎 │ │ │ │ • 意图理解 • 任务分解 • 多轮规划 • 上下文管理 • 响应生成 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Agent Skills │ │ Function Call│ │ MCP │ │ RAG │ │ │ │ 技能调度 │ │ 工具调用 │ │ 协议适配 │ │ 检索增强 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────┐ │ 能力与数据层 (Capability Data Layer) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ MCP Servers │ │ 外部 API │ │ 向量数据库 │ │ 知识库 │ │ │ │ Tools/ │ │ 业务系统 │ │ (RAG) │ │ 文档存储 │ │ │ │ Resources │ │ │ │ │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────────────────────────┘三、核心组件详解3.1 Agent AI 核心引擎定位系统的「大脑」负责理解用户意图、规划执行路径、协调各能力模块并生成最终回复。核心能力意图理解与槽位填充从自然语言中提取任务类型、实体、约束条件支持多轮澄清与追问任务规划与分解将复杂任务拆解为可执行的子任务序列支持条件分支、循环与并行执行上下文管理维护对话历史、会话状态、用户画像支持长上下文与摘要压缩能力调度决策根据任务类型选择Skill / Function Call / RAG / 纯生成支持多能力组合与链式调用与其它组件的协作通过Agent Skills执行预定义工作流如代码审查、文档处理通过Function Call调用 LLM 原生工具接口通过MCP获取动态工具、资源与提示模板通过RAG在生成前注入领域知识3.2 Agent Skills定位可复用的领域能力与工作流以结构化指令SKILL.md形式指导 Agent 执行特定任务。架构要点skill-name/ ├── SKILL.md # 主指令触发条件、步骤、模板 ├── reference.md # 详细参考按需加载 ├── examples.md # 示例 └── scripts/ # 可执行脚本可选与系统集成方式触发机制通过description中的关键词与场景描述由 Agent 在对话中自动匹配执行流程Agent 读取 SKILL.md按步骤执行含脚本调用、模板填充等与 Function Call 的关系Skill 可内部调用 Function/MCP 工具形成「工作流 工具」组合典型 Skill 示例Skill触发场景主要能力code-reviewPR 审查、代码变更按团队标准做质量/安全审查pdf-processingPDF 处理、表单提取文本/表格提取、表单填充commit-helper写 commit message分析 diff 生成规范提交信息3.3 Function Call函数调用定位LLM 与外部工具/API 之间的标准调用接口使模型能「决定何时调用、传什么参数」。典型流程用户输入 → LLM 推理 → 输出 tool_calls[] → 系统执行工具 → 结果回传 LLM → 继续生成与 MCP 的关系Function Call多数 LLM APIOpenAI、Claude 等的原生工具调用格式MCP提供统一的工具发现、调用协议可被转换为 Function Call 格式供 LLM 使用集成模式┌─────────────┐ tools/list ┌─────────────┐ │ MCP Client │ ◄─────────────────► │ MCP Server │ └─────────────┘ tools/call └─────────────┘ │ │ │ 转换为 Function Call 格式 │ ▼ │ ┌─────────────┐ │ │ LLM API │ ← 工具定义 调用结果 │ │ (OpenAI等) │ │ └─────────────┘ │3.4 MCPModel Context Protocol定位AI 应用与外部上下文源之间的标准化协议统一管理工具、资源与提示模板。3.4.1 架构模型MCP 采用Host-Client-Server架构┌─────────────────────────────────────────────────────────────────┐ │ MCP HostAI 应用如 Cursor / Claude Desktop │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ MCP Client 1│ │ MCP Client 2│ │ MCP Client 3│ ... │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ └─────────┼────────────────┼────────────────┼─────────────────────┘ │ 1:1 连接 │ │ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ MCP Server A│ │ MCP Server B│ │ MCP Server C│ │ (Filesystem)│ │ (Database) │ │ (Sentry) │ └─────────────┘ └─────────────┘ └─────────────┘MCP HostAI 应用负责聚合上下文、协调 LLM、管理客户端生命周期MCP Client由 Host 创建与单个 MCP Server 保持独立连接MCP Server提供工具、资源、提示等能力可本地stdio或远程HTTP3.4.2 协议层次层次内容传输层stdio本地、Streamable HTTP远程支持认证数据层JSON-RPC 2.0生命周期管理 能力协商3.4.3 核心原语PrimitivesServer 提供原语用途Tools可执行函数如查询、文件操作、API 调用Resources静态/动态数据源文件、数据库记录、API 响应Prompts可复用提示模板系统提示、few-shot 示例Client 提供原语用途Logging服务器向客户端发送日志Elicitation向用户请求额外信息或确认Sampling请求 Host 的 LLM 完成补全服务器不直接依赖 LLM SDK3.4.4 典型交互序列初始化initialize→ 能力协商 →notifications/initialized工具发现tools/list→ 获取工具列表及 inputSchema工具执行tools/call→ 传入 name arguments → 返回 content实时更新notifications/tools/list_changed→ 客户端刷新工具列表3.5 RAGRetrieval-Augmented Generation定位在生成前从知识库检索相关文档增强 LLM 的上下文提升准确性与可追溯性。3.5.1 基础流水线┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 文档摄入 │ ──► │ 向量索引 │ ──► │ 检索服务 │ │ 分块/预处理 │ │ 元数据 │ │ 相似度搜索 │ └──────────────┘ └──────────────┘ └──────────────┘ │ ▼ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 最终回复 │ ◄── │ LLM 生成 │ ◄── │ 上下文注入 │ │ 引用溯源 │ │ 条件于检索 │ │ 重排序/过滤 │ └──────────────┘ └──────────────┘ └──────────────┘3.5.2 三阶段阶段内容摄入Ingestion文档解析、分块策略、向量化、写入向量库支持元数据、版本、混合索引推理Inference查询向量化 → 检索 → 重排序/过滤 → 注入 prompt支持多轮检索生成中动态检索评估Evaluation检索质量、生成质量、幻觉率、引用准确性等指标3.5.3 与 Agent 的集成触发条件当 Agent 判断需要领域知识、内部文档或实时数据时发起 RAG 查询调用方式可作为 MCP Resource、或独立 RAG 服务通过 Function Call 暴露高级形态PipeRAG 等支持检索与生成流水线并行降低延迟四、端到端对话流程用户: 帮我查一下项目文档里关于 API 鉴权的说明并给一个 Python 示例执行流程Agent AI意图识别 → 任务分解为「检索文档」「生成示例」RAG对「API 鉴权」做向量检索返回相关文档片段Agent AI将检索结果注入上下文生成 Python 示例可选MCP若需执行代码通过 MCP 工具调用运行环境Agent AI整合结果返回带引用的回复五、技术选型建议层级可选方案LLMOpenAI GPT-4、Claude、国产大模型支持 Function CallMCP官方 Python/TypeScript SDK自建或使用 Sentry/Filesystem 等现成 ServerRAGLangChain/LlamaIndex Chroma/Pinecone/Milvus Embedding 模型Agent 框架LangGraph、AutoGen、CrewAI 等Skills基于 SKILL.md 规范存储在.cursor/skills/或~/.cursor/skills/六、安全与扩展性6.1 安全MCPHost 作为中介控制对 Server 的访问与授权Function Call校验工具参数、限制可调用工具集合RAG文档级权限、检索结果过滤、敏感信息脱敏6.2 扩展性MCP通过新增 Server 扩展工具与资源无需改 Host 核心逻辑Skills新增 SKILL.md 即可扩展工作流RAG支持多数据源、多索引、混合检索策略七、总结本架构将Agent AI作为编排核心通过Agent Skills提供可复用工作流通过Function Call与MCP统一工具与上下文接入通过RAG增强领域知识形成端到端智能对话系统。各组件职责清晰、可独立演进便于按业务需求裁剪与扩展。附录参考资源MCP 官方架构文档MCP 规范Cursor Agent Skills 创建指南RAG 高级架构 - Microsoft Learn