摘要
在 2026 年的今天,构建能真正干活的 AI 应用,早已不是单纯调个大模型写个提示词那么简单。我们需要一套完整的“智能体技术栈”。本文将深度解析 LLM(大语言模型)、Agent(智能体)、Prompt(提示词)、Function Calling(函数调用)、Skills(技能)、MCP(模型上下文协议)以及新增的核心要素 RAG(检索增强生成)。通过清晰的层级架构和生动的实战案例,助你从底层原理到架构设计全面通关,掌握开启 AGI 应用时代的钥匙。
第一部分:核心概念深度拆解
如果把构建 AI 应用比作组建一支特种部队,那么这七大要素分别扮演着不可或缺的角色:
1. LLM (Large Language Model) —— “超级大脑”
- 定义:基于海量数据训练的基础模型,具备强大的语言理解、逻辑推理和生成能力。
- 角色:系统的认知核心。它负责“想”,但不负责“做”(除非借助工具)。
- 关键点:它是所有能力的基石,但没有记忆、无法联网、不能操作外部系统是其原生短板。此外,它的知识有“保质期”,只能回答训练数据截止日期前的内容,且容易产生“幻觉”(胡说八道)。
- 比喻:一个智商极高但刚出生、没有工作经验、且记忆停留在过去的“天才婴儿”。
2. RAG (Retrieval-Augmented Generation) —— “外挂资料库”
-
定义:检索增强生成技术。让 LLM 在回答问题前,先去指定的外部资料库(如企业知识库、最新网页、数据库)中检索相关信息,将检索到的内容作为上下文提供给模型,从而生成更准确的回答。
-
角色:知识的实时补给站和事实核查员。
-
核心价值:
- 解决时效性问题:让模型能回答训练数据之后的最新事件。
- 接入私有知识:让模型能理解公司内部文档、个人笔记等非公开数据。
- 减少幻觉:答案基于检索到的事实依据(“开卷考试”),而非模型凭空捏造,并可提供来源引用。
-
比喻:给天才婴儿递上一本随时更新的“百科全书”或“小抄”,让他从“凭记忆瞎聊”变成“有理有据的开卷学霸”。
3. Prompt (提示词) —— “交互接口”
- 定义:用户或系统发送给 LLM 的文本指令,用于引导模型输出特定内容。
- 角色:人机沟通的桥梁。
- 演进:从简单的“请帮我写代码”,进化为包含角色设定、思维链(CoT)、少样本学习(Few-Shot)的复杂结构。
- 局限:Prompt 是“一次性”的,难以复用复杂的业务逻辑,且容易受上下文长度限制。
- 比喻:老板随口对天才婴儿说的一句话:“去把那个红色的球拿过来。”
4. Function Calling (函数调用) —— “原子级行动力”
-
定义:一种让 LLM 能够结构化输出外部函数名称和参数的技术能力。LLM 不直接执行代码,而是告诉系统:“我需要调用
get_weather(city='Beijing')”。 -
角色:手脚的神经末梢。它将 LLM 的意图转化为机器可执行的指令。
-
核心价值:
- 打破封闭:让 LLM 能查询实时数据、操作数据库、发送邮件。
- 结构化输出:强制模型输出 JSON 格式,便于程序解析,避免了正则提取的不稳定性。
-
比喻:指挥官喊出“开火!”这个具体的动作指令。
5. Skills (技能) —— “封装的业务流”
-
定义:Prompt + Function Calls + 逻辑控制的组合体。它将解决某个特定领域问题(如“SEO 优化”、“代码重构”)的一整套流程固化下来。
-
角色:可复用的专家模块。
-
与 Function Calling 的区别:
- Function Calling 是原子动作(如:查天气、查库存)。
- Skill 是战术组合(如:“促销活动策划”技能 = 查库存 -> 查历史销量 -> 生成文案 -> 调用邮件发送)。
- Skill 内部可能包含多次 Function Calling,以及条件判断(如果库存<10,则停止推荐)。
-
比喻:一本《特种作战手册》,里面详细规定了遇到 A 情况该按什么顺序执行哪几个动作。
6. MCP (Model Context Protocol) —— “万能连接器”
-
定义:由 Anthropic 主导推出的开放协议,旨在标准化 LLM 与外部数据源/工具的连接方式。
-
角色:基础设施层的 USB 接口。
-
核心价值:
- 解耦:开发者只需编写一次 MCP Server,任何支持 MCP 的 Agent 都能连接,无需为每个模型单独适配。
- 统一视图:无论后端是 Slack、Google Drive 还是本地 SQL,对 Agent 来说都是统一的资源描述。
- 生态繁荣:解决了以往不同模型、不同工具间接口不统一(M×N 复杂度)的问题,实现“即插即用”。
-
比喻:USB-C 接口。不管你是鼠标、键盘还是硬盘,插上就能被电脑识别。
7. Agent (智能体) —— “自主执行官”
- 定义:以 LLM 为核心,集成了记忆、规划、工具使用(Function Calling/Skills)、知识检索(RAG)和感知能力的自主系统。
- 角色:最终的产品形态。
- 工作循环:感知 (Perceive) -> 思考 (Think/Plan) -> 检索知识 (Retrieve via RAG) -> 行动 (Act via Function Calling/Skills) -> 观察 (Observe) -> 反思 (Reflect)。
- 比喻:这支整编的特种部队,能自主规划、查阅资料、执行并完成任务。
第二部分:层级关系与协作逻辑(可视化详解)
这是理解整个架构最关键的部分。我们可以将这七大要素看作一个 “智能体金字塔” 。从底层的物理连接,到中间的原子动作,再到上层的业务技能,最后由顶层的智能体进行统筹。
1. 智能体技术栈金字塔 (The Agent Stack)
▲
│ 【第 5 层:自主决策层】
│ 🤖 Agent (智能体)
│ 职责:感知环境 -> 规划任务 -> 记忆上下文 -> 调度技能 -> 反思结果
│ 核心:LLM (大脑) + 规划器 (Planner)
│
├─────────────────────────────────────────
│ 【第 4 层:知识增强层】
│ 📚 RAG (检索增强生成)
│ 职责:动态检索外部知识库,为决策提供实时/私有事实依据
│ 作用:解决幻觉,注入最新数据和私有数据
│
├─────────────────────────────────────────
│ 【第 3 层:业务封装层】
│ 📚 Skills (技能包)
│ 职责:将复杂的业务流程固化 (SOP)
│ 构成:Prompt 模板 + 多个 Function Calls + 逻辑判断 + 错误处理
│ 例子:"代码审查技能"、"财报分析技能"
│
├─────────────────────────────────────────
│ 【第 2 层:原子执行层】
│ 🛠️ Function Calling (函数调用)
│ 职责:将自然语言意图转化为结构化的机器指令 (JSON)
│ 特点:原子性、单一职责 (如:查天气、查库存)
│
├─────────────────────────────────────────
│ 【第 1 层:标准连接层】
│ 🔌 MCP (Model Context Protocol)
│ 职责:统一通信协议,屏蔽底层差异
│ 作用:让 LLM/Agent 能像插 USB 一样连接任何数据源/工具
│
▼─────────────────────────────────────────
│ 【基础资源层】
│ 🌐 外部世界 (数据库 / API / 文件系统 / 搜索引擎 / SaaS 应用 / 知识库)
└─────────────────────────────────────────
💡 图解说明:
- 向下依赖:Agent 依赖 RAG 获取准确信息,依赖 Skills 来执行复杂任务,Skills 依赖 Function Calling 来执行具体动作,Function Calling 依赖 MCP 来连接真实世界。
- 向上抽象:越往上,业务逻辑越强,离用户意图越近;越往下,技术细节越多,离硬件/网络越近。
- LLM 的位置:LLM 贯穿所有层级,它是每一层的“驱动引擎”,但在架构图中通常作为核心组件嵌入在 Agent 层、RAG 层(重排序/生成)和 Skills 层 中。
2. 动态协作流程:从“一句话”到“一件事”
为了让大家彻底看懂它们是如何动起来的,我们用一个 “自动处理客户投诉并退款,同时查询最新政策” 的真实案例,演示数据流如何在金字塔中穿梭。
🎬 场景剧本 用户输入 (Prompt) :“客户李四反馈收到的手机屏幕碎了,要求紧急退款。另外,我想确认一下公司上周是否更新了碎屏赔付的最新政策?”
⚙️ 协作步骤拆解
-
Step 1: 意图识别与规划 (Agent + LLM + Prompt)
-
输入:用户 Prompt。
-
处理:Agent 调用 LLM,结合系统预设的 Prompt(“你是一个客服专家,遇到破损需走退款流程,且需核实最新政策”)。
-
决策:LLM 分析后认为这是一个复合任务:
- 需要查询“最新赔付政策”(涉及私有知识库,触发 RAG)。
- 需要执行“售后处理”(涉及复杂流程,触发 Skills)。
-
-
Step 2: 知识检索增强 (RAG)
- 动作:针对“上周最新政策”这一子问题,Agent 暂停执行,先启动 RAG 流程。
- 检索:系统在向量数据库中检索“2026年 碎屏 赔付 政策 更新”相关的文档片段。
- 增强:找到文档片段:“2026-05-20 更新:碎屏情况无需寄回检测,直接全额退款。”
- 输入 LLM:将检索到的片段作为上下文,连同用户问题再次喂给 LLM。
- 结果:LLM 现在“知道”了最新政策,消除了幻觉,确定可以直接退款,无需检测。
-
Step 3: 加载业务逻辑 (Skills)
-
动作:Agent 激活
AfterSales_Skill。 -
内部逻辑:该 Skill 内部定义了一套 SOP(标准作业程序):
- 查询订单详情。
- 验证是否符合退款政策(利用 RAG 获取的最新规则)。
- 执行退款操作。
- 记录故障日志到数据库。
- 发送安抚邮件。
-
作用:Skill 告诉 LLM:“别慌,按这 5 步走,每一步该调什么函数我都写好了。”
-
-
Step 4: 生成原子指令 (Function Calling)
-
执行第 1 步:LLM 根据 Skill 指引,决定查询订单。
-
输出:LLM 不直接查库,而是输出一个标准的 Function Call 指令:
{ "name": "get_order_details", "arguments": { "user_id": "LiSi", "order_type": "mobile" } } -
意义:这是“神经信号”,告诉系统我要做什么,但还没真正动手。
-
-
Step 5: 统一路由与执行 (MCP)
- 传输:系统接收到 Function Call 指令,通过 MCP 协议 进行路由。
- 连接:MCP Client 发现
get_order_details对应的是一个连接公司 ERP 系统的 MCP Server。 - 执行:MCP 将请求转换为 ERP 系统能听懂的 API 调用,获取数据(“订单存在,确认为碎屏”)。
- 回传:结果通过 MCP 原路返回给 LLM。
-
Step 6: 循环与闭环 (Agent Loop)
- 观察:LLM 收到“确认为碎屏”的结果,并结合 RAG 提供的“免检测”政策。
- 下一步:Skill 逻辑触发第 3 步(执行退款)。LLM 再次生成
process_refund的 Function Call。 - 再执行:MCP 再次介入,调用支付网关完成退款。
- 结束:所有步骤完成后,Agent 汇总结果,生成最终回复给用户:“李四先生,已确认您的手机碎屏情况。根据公司上周最新政策(免检测),退款 5000 元已原路返回,故障已记录。抱歉给您带来不便。”
3. 为什么这个架构如此重要?
通过这个金字塔结构,我们解决了传统 AI 开发的四大痛点:
-
准确性问题 (RAG 的作用) :
- 以前只靠模型训练数据,容易过时或胡说八道。
- 现在有了 RAG,实现了“开卷考试”,答案有据可查,且能利用私有数据。
-
稳定性问题 (Skills 的作用) :
- 以前只靠 Prompt,模型容易“发疯”或漏步骤。
- 现在有了 Skills,把专家的经验固化成代码逻辑,保证了每次执行的一致性。
-
扩展性问题 (MCP 的作用) :
- 以前每接一个新数据库都要改代码。
- 现在有了 MCP,新增一个工具就像给电脑插个 U 盘,Agent 自动就能识别并使用,无需修改上层逻辑。
-
复杂度管理 (Function Calling 的分层) :
- 将复杂的业务拆解为原子的 Function Calls,让 LLM 只需要关注“什么时候调用”,而不需要关注“怎么实现连接”,降低了模型的认知负担。
第三部分:核心概念对比速查表
为了彻底理清思路,请看这张对比表:
| 概念 | 层级 | 核心作用 | 粒度 | 是否可复用 | 典型例子 |
|---|---|---|---|---|---|
| Prompt | 交互层 | 传达意图 | 单次对话 | 低 (需重复构造) | "帮我写个请假条" |
| RAG | 知识层 | 事实检索与增强 | 知识片段 | 高 (知识库通用) | 查询公司内部文档、最新新闻 |
| Function Calling | 执行层 | 单个动作执行 | 原子级 (函数) | 中 (函数本身可复用) | get_weather(), search_db() |
| Skills | 业务层 | 复杂任务封装 | 流程级 (多步逻辑) | 高 (资产化) | "SEO 优化技能", "代码审查技能" |
| MCP | 基础设施层 | 标准化连接 | 协议/接口 | 极高 (通用标准) | 连接 Slack, GitHub, 本地文件的统一接口 |
| LLM | 核心层 | 推理与决策 | - | - | GPT-4, Claude 3.5, Qwen-Max |
| Agent | 系统层 | 自主统筹全局 | 完整系统 | - | 自动编程助手, 个人旅行规划师 |
关键辨析
-
Function Calling vs Skills:
- Function Calling 是“砖块”。
- Skills 是用砖块盖好的“房间”(包含了砖块怎么砌的逻辑、Prompt 引导、错误处理)。
- 场景:如果你只需要查个天气,用 Function Calling 就够了;如果你要做一个“出差行程规划”,就需要一个包含查天气、订酒店、查机票的 Skill。
-
Function Calling/Skills vs MCP:
- Function Calling/Skills 决定了 “做什么” (What to do)。
- MCP 决定了 “怎么连” (How to connect)。
- 以前,每个 Function Call 都要写特定的 HTTP 请求代码;现在,Function Call 通过 MCP 协议统一分发,实现了 “一次开发,处处连接” 。
-
LLM vs RAG:
- LLM 是“大脑”,负责理解和生成,但知识是静态的。
- RAG 是“图书馆”,负责提供动态的、私有的事实依据。
- 关系:LLM 是发动机,RAG 是燃油(高质量数据),没有 RAG 的 LLM 在特定领域容易“空转”(产生幻觉)。
第四部分:未来展望
随着 MCP 协议的普及、RAG 技术的成熟以及 Skills 生态的建立,AI 开发的范式正在发生根本性转变:
- 从“写 Prompt”到“造 Skills”与“建知识库” :未来的核心竞争力不再是谁能写出更巧妙的 Prompt,而是谁能将行业专家的隐性知识固化为高质量的 Skills,以及谁能构建结构化、高价值的私有知识库(RAG 的基础)。
- 从“定制集成”到“即插即用” :MCP 将消除 AI 应用与外部世界连接的摩擦成本。未来的 Agent 可以像手机安装 App 一样,瞬间获得连接企业微信、SAP、Notion 的能力。
- 从“通用闲聊”到“垂直专家” :RAG 使得通用大模型能瞬间变身为企业内部的财务专家、法律顾问或医疗助手,且数据不出域,安全可控。
- Function Calling 的隐形化:随着协议标准化,开发者将更少关注底层的 Function Call 实现细节,而更多关注 Agent 的编排逻辑和 Skills 的业务价值。
🚀 总结一句话
LLM 是大脑,Prompt 是口令,RAG 是外挂知识库,Function Calling 是手脚动作,Skills 是专业套路,MCP 是神经网络,而 Agent 就是那个能独当一面、有理有据、手脚麻利的数字员工。
掌握这七要素的组合拳,你就掌握了开启 AGI 应用时代的钥匙。
欢迎关注的我的公众号《码上未来》,一起交流AI前沿技术!
扫码二维码加我微信进群聊AI