在构建企业级 AI 应用时,开发者常面临一个核心问题:如何让大模型突破自身局限,安全、高效地访问外部知识与执行真实世界操作? 为此,业界发展出多种互补的技术机制——RAG、工具调用(Tool Calling)、斜杠命令(Slash Commands)、Skills 和 MCP。它们看似相似,实则定位迥异。本文将系统梳理五者的区别与联系,助你精准选型。
一、核心定位对比
一句话总结:
RAG 补知识,工具调用/Skills/MCP 赋能力,斜杠命令提效率。
二、详细机制与关系
1. RAG:知识增强层
作用:在生成前检索相关文档,注入上下文。
不涉及执行,仅提升回答的事实性。
典型场景:企业知识库问答、法律条款查询。
2. 工具调用(Tool Calling):动作执行层
作用:模型生成结构化参数,调用预注册函数(如
send_email(to, subject))。依赖 LLM 的函数调用能力(如 OpenAI、通义千问)。
是 Skills 和 MCP 的上层消费接口。
3. Skills:业务能力封装层(以 Spring AI Alibaba 为例)
作用:将一个完整业务能力(描述 + 工具 + 资源)打包为独立单元。
通过
read_skill()实现渐进式披露,避免提示词膨胀。内部仍依赖 Tool Calling 执行具体逻辑。
示例:
sales_analytics技能包含 SQL 规则和执行脚本。
4. MCP(Model Context Protocol):工具接入标准层
作用:定义统一协议(gRPC/HTTP),让任意语言编写的工具可被 AI 平台发现和调用。
是 Tool Calling 的“基础设施”,实现跨语言、跨平台集成。
开发者实现 MCP 服务后,AI 框架可自动将其注册为 Tool。
5. 斜杠命令(Slash Commands):用户交互快捷层
作用:用户输入
/clear、/search等指令,直接触发预设逻辑。完全绕过模型推理,由前端或路由层处理。
适用于确定性高、无需智能判断的操作。
三、协同工作流程示例
设想一个智能销售助手:
用户问:“上季度销售额最高的客户是谁?”
RAG 先检索公司销售政策文档,确认“上季度”定义;
模型判断需调用分析能力,通过 Skills 机制加载
sales_analytics技能;技能描述中声明绑定一个 MCP 服务(如 Python 编写的 SQL 执行器);
框架将该服务注册为 Tool,模型生成
execute_sql("SELECT ...")调用;若用户想快速重试,可输入
/rerun_last_query—— 这是 斜杠命令。
整个过程融合了全部五项技术,各司其职。
四、选型建议
只需查内部文档? → 用 RAG。
需调用 API 或执行代码? → 用 Tool Calling。
构建复杂、可复用的企业智能体? → 引入 Skills(如 Spring AI Alibaba)。
团队多语言开发,需统一工具接入? → 采用 MCP。
提供用户快捷操作? → 设计 斜杠命令。
结语
RAG、Tool Calling、Skills、MCP 和斜杠命令并非互斥,而是构成了一套从知识增强 → 动作执行 → 能力封装 → 标准接入 → 用户交互的完整能力扩展栈。理解它们的边界与协同关系,是设计高可用、可维护 AI 应用的关键。
评论区