---
tags: [CANN]
doc_type: knowledge-note
返回目录: "[[计算机系/昇腾与CANN/大模型与算子专题学习导航|大模型与算子专题学习导航]]"
下一篇: "[[计算机系/昇腾与CANN/CANNBot智能体与算子开发工作流|CANNBot智能体与算子开发工作流]]"
---

# Prompt、RAG、Skill 与 MCP 的关系

让大模型完成任务，不仅需要模型本身的能力，还需要给它清楚的要求、相关资料和合适的工具。Prompt、RAG、Skill 与 MCP 分别处理这套系统中的不同问题，可以组合使用。

## 1. Prompt：这一次要做什么

Prompt 是模型当前接收的指令与上下文。它可以包括任务目标、输入材料、约束、示例和输出格式。

“整理资料”缺少明确标准；“把资料整理成直接讲解知识的中文 Markdown，保留关键公式与图片，合并重复概念”提供了更具体的成功条件。提示词工程就是持续改进这些表达，并用实际任务检查效果。

模型生成的是条件概率分布，要求说得更清楚通常有帮助，但不会把不确定事实自动变成正确事实。让模型自我检查也不能替代外部证据或程序验证。

## 2. Skill：把反复有效的经验保存成流程

同类任务每次重新解释很费力。Skill 可以把适用场景、操作步骤、常见错误和输出规范保存下来，让后续任务按需使用。

例如“资料转知识笔记”可以规定先读正文和图表，再按概念重组，最后检查链接与术语；其资源还可以包括脚本、模板和参考文件。因此 Skill 不只是一个很长的 Prompt，更像可以复用的任务说明与配套工具包。

从单次 Prompt，到打磨表达，再到保存为 Skill，是一种自然的经验积累方式，但不是所有提示词都必须演变为 Skill。一次性的简单问题直接提问即可。Skill 也不会自动修改模型权重，它主要改变任务上下文与执行流程。

模型优化中的具体应用见[Skill 驱动的模型推理优化工作流](Skill驱动的模型推理优化工作流.md)。

## 3. RAG：先找相关资料，再生成回答

RAG 是检索增强生成。它把当前问题需要的外部资料检索出来，作为上下文交给生成模型。检索可以使用关键词、向量或混合方法，不要求所有知识都预先变成向量。

一种典型的向量检索流程分为两个阶段：

```text
建立索引：文档 → 提取文本 → 分块 → Embedding → 保存向量与原文关联
回答问题：问题 → Embedding → 相似度检索 → 筛选/重排 → 相关原文 + 问题 → 回答
```

Markdown 文件不会整体“变成模型知识”。系统通常保留原文及位置，把文本块的向量写入索引；检索时根据向量找到对应文本，再让模型阅读。文档向量与查询向量需要处在兼容的表示空间，不能任意混用不同 Embedding 模型。

余弦相似度可以衡量两个向量的方向接近程度：

$$
\operatorname{sim}(q,d)=\frac{q\cdot d}{\|q\|\|d\|}.
$$

相似度高表示表示空间中的相关性，不表示内容一定真实或足够回答问题。切块不合理、资料过时或检索遗漏都会影响最终答案，权限过滤也应在读取和检索时落实。

RAG 能利用训练之后的新资料，但前提是资料已更新且被成功检索。它不是自动实时联网，也不保证消除幻觉。检索质量和生成质量应分别检查。

## 4. MCP：让应用以统一方式连接工具和资源

MCP 是连接模型应用与外部工具、资源的一种协议。服务端可以提供文件读取、数据库查询、搜索等能力；客户端发现并调用这些能力，再把结果用于当前任务。

MCP 本身不是向量数据库，也不是检索算法，更不直接提高模型参数能力。一个 RAG 系统可以通过 MCP 获取资料，也可以直接调用数据库接口；一个 Skill 可以指导使用 MCP 工具，但二者没有必须绑定的关系。

联网搜索同样只是外部信息入口之一。拿到网页后仍需判断相关性、时效与可信度，不能把工具返回的所有内容都当作执行指令。

## 5. 用整理课程资料的任务串起来

| 组成 | 在任务中的作用 |
| --- | --- |
| Prompt | 指定整理哪些课程、输出位置和语言 |
| Skill | 规定怎样提取、重组、保留图片与检查结果 |
| RAG | 从已有笔记中寻找相关概念，减少重复并补充上下文 |
| MCP 或其他接口 | 提供读取文件、查询资料或执行工具的通道 |
| Agent | 根据结果决定下一步，维护状态并继续完成任务 |

这些机制通常通过上下文和外部执行改善系统表现，与微调修改模型参数是不同路径。系统可以先检索已有知识，再按 Skill 组织任务，通过工具读取材料，最后检查输出是否满足最初要求。

完整模型生成基础见[大语言模型与推理系统](大语言模型与推理系统.md)，Agent 与工具链实践见[CANNBot 智能体与算子开发工作流](CANNBot智能体与算子开发工作流.md)。
