资讯动态

大模型应用开发实战:从 Prompt 工程到 RAG、Agent 与 MCP 的完整指南

发布时间:2026/8/29 0:25:42 来源:尧图企业网站定制
这里写自定义目录标题欢迎使用Markdown编辑器一、为什么这四个技术点必须一起学二、Prompt 工程与大模型沟通的艺术2.1 Prompt 的核心要素2.2 进阶 Prompt 示例生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能丰富你的文章UML图表流程图FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好 这是你第一次使用# 大模型应用开发实战从 Prompt 工程到 RAG、Agent 与 MCP 的完整指南一、为什么这四个技术点必须一起学很多开发者在把大模型应用到实际业务时都会卡在几个关键环节如何让模型理解更复杂的指令Prompt、如何让模型访问外部知识RAG、如何让模型自主完成任务Agent以及如何让模型与各种工具安全交互MCP。这四个技术点看似独立实则环环相扣构成了现代 LLM 应用的核心骨架。如果你只学 Prompt 工程做出来的应用只能回答问题加上 RAG应用才能知道答案加上 Agent应用才能动手做事再加上 MCP应用才能安全地连接外部系统。本文按照这条从易到难的路径带你一步步构建一个具备知识检索、自主决策和工具调用能力的智能应用。二、Prompt 工程与大模型沟通的艺术Prompt提示词是你与大模型对话的指令集。它不仅仅是问问题更是一种结构化的编程。一个精心设计的 Prompt 能激发模型最强的能力而一个糟糕的 Prompt 可能得到完全无关的回答。2.1 Prompt 的核心要素一个高质量的 Prompt 通常包含五个要素角色Role定义模型在对话中扮演的身份如你是一位资深 Java 架构师。任务Task清晰、具体地说明你希望模型完成什么。上下文Context提供完成任务所需的相关背景信息。格式Format指定输出结果的格式如 JSON、Markdown、代码块等。示例Few-shot提供少量输入-输出示例让模型快速理解你的意图。2.2 进阶 Prompt 示例以生成 API 接口文档为例你是一位经验丰富的技术文档撰写助手。请根据以下用户需求生成一份 API 接口文档。 【用户需求】 - 接口功能用户登录 - - 方法POST - - 路径/api/v1/auth/login - - 请求参数username字符串必填password字符串必填 - - 成功响应{code: 200, message: success, data: {token: xxx}} - - 失败响应{code: 401, message: invalid credentials} - 【输出要求】请以 Markdown 格式输出必须包含接口说明、请求示例、响应示例和错误码四个章节。 - 这个 Prompt 把角色、任务、上下文、格式全部明确下来模型输出的文档质量会远超帮我写个接口文档这种模糊指令。 ### 2.3 提示词工程的最佳实践 在实践中我总结了几条经验一是把系统提示词System Prompt和用户提示词分离系统提示词负责定义角色和规则用户提示词负责具体任务二是善用 Few-shot 示例模型对示例的模仿能力远超对抽象描述的遵循能力三是明确输出格式特别是要求 JSON 输出时要给出完整的字段结构避免模型自由发挥导致解析失败。 ## 三、RAG让模型访问外部知识 大模型的训练数据有截止日期且不包含企业私有数据。RAG检索增强生成通过先检索、后生成的方式让模型在回答问题时先到外部知识库中检索相关资料再基于检索结果生成答案。 ### 3.1 RAG 的核心流程 一个标准的 RAG 系统分为离线数据预处理和在线检索生成两个阶段 **离线阶段数据接入与处理** 1. 多源文档解析解析 PDF、Word、Excel、Markdown 等格式提取表格、图表甚至通过 OCR 识别扫描件。 2. 2. 智能文本分块Chunking将大文档切分成数百 Token 大小的片段并保持适当的上下文重叠。 3. 3. 向量化Embedding利用 Embedding 模型将文本块转化为高维数学向量。 4. 4. 向量数据库存储存入 Milvus、Qdrant、Pinecone 等向量数据库用于后续的相似度匹配。 **在线阶段检索与生成** 5. 用户意图理解与查询优化对用户输入进行清洗、扩展、纠错。 6. 2. 混合检索Hybrid Search结合向量检索语义搜索和全文检索关键词/BM25大幅提升召回率。 7. 3. 重排Rerank使用 Reranker 模型对候选片段进行精细化打分剔除噪音。 8. 4. 上下文组装与 Prompt 注入将用户问题与检索到的高质量片段打包成特定 Prompt输入给 LLM。 ### 3.2 RAG 的进阶形态 传统 RAG 是一问一答、一查了事面对复杂问题时往往力不从心。进阶的 Agentic RAG 引入了多步骤的动态决策过程自主规划把复杂问题拆解成多个子问题、迭代检索发现资料不够时自主重写查询词多搜几次、自我反思输出答案前检查结论是否完全由检索到的知识支撑。这种检索-阅读-反思-再检索的动态循环能显著提升复杂问题的回答质量。 ## 四、Agent让模型自主完成任务 Agent 是具备一定自主性的系统它不仅能思考还能动手。一个完整的 Agent 通常包含以下核心组件 - **规划与决策模块**接收高层级目标并将其分解为一系列可执行的子任务。 - - **工具调用能力**调用外部工具如执行网络搜索、查询数据库、运行代码、调用 API。 - - **记忆与状态管理**记住自己的目标、已完成的步骤、获取到的中间结果以及工具调用的历史。 - - **观察与反馈循环**执行一个动作后观察结果并根据结果决定下一步行动形成思考-行动-观察的循环。 通俗地讲Agent 是一个能自己订计划、用工具、记笔记、并不断调整策略来完成复杂任务的智能程序。 ## 五、MCP让模型安全地连接外部系统 MCPModel Context Protocol是 Anthropic 提出的开放协议它解决了 Agent 与外部工具交互时的标准化问题。在没有 MCP 之前每个工具都需要单独写适配代码工具多了之后维护成本极高。MCP 定义了统一的协议让模型可以通过标准化的方式发现工具、调用工具、接收工具返回结果。 MCP 的核心价值在于三点一是标准化一套协议连接所有工具二是安全性通过权限控制避免模型越权操作三是可扩展性新增工具只需要实现 MCP 协议不需要改动 Agent 核心逻辑。 ## 六、综合实战构建一个完整的智能应用 把四个技术点串起来我们可以构建一个智能客服应用用户提问后系统先用 RAG 从企业知识库检索相关资料再通过 Agent 判断是否需要调用外部工具如查询订单系统最后用 Prompt 工程组织答案输出。整个链路中Prompt 负责说清楚RAG 负责找得准Agent 负责做得到MCP 负责连得稳。 这套架构已经成为 2026 年大模型应用开发的主流范式。建议开发者按照先 Prompt、再 RAG、后 Agent、最后 MCP的顺序逐步深入每一步都动手实现一个可运行的小项目才能真正掌握这套完整的技术栈。 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章了解一下Markdown的基本语法知识。 ## 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持除了标准的Markdown编辑器功能我们增加了如下几点新功能帮助你用它写博客 1. **全新的界面设计** 将会带来全新的写作体验 2. 在创作中心设置你喜爱的代码高亮样式Markdown **将代码片显示选择的高亮样式** 进行展示 3. 增加了 **图片拖拽** 功能你可以将本地的图片直接拖拽到编辑区域直接展示 4. 全新的 **KaTeX数学公式** 语法 5. 增加了支持**甘特图的mermaid语法[^1]** 功能 6. 增加了 **多屏幕编辑** Markdown文章功能 7. 增加了 **焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置** 等功能功能按钮位于编辑区域与预览区域中间 8. 增加了 **检查列表** 功能。 [^1]: [mermaid语法说明](https://mermaid.js.org/intro/) ## 功能快捷键 撤销kbdCtrl/Command/kbd kbdZ/kbd 重做kbdCtrl/Command/kbd kbdY/kbd 加粗kbdCtrl/Command/kbd kbdB/kbd 斜体kbdCtrl/Command/kbd kbdI/kbd 标题kbdCtrl/Command/kbd kbdShift/kbd kbdH/kbd 无序列表kbdCtrl/Command/kbd kbdShift/kbd kbdU/kbd 有序列表kbdCtrl/Command/kbd kbdShift/kbd kbdO/kbd 检查列表kbdCtrl/Command/kbd kbdShift/kbd kbdC/kbd 插入代码kbdCtrl/Command/kbd kbdShift/kbd kbdK/kbd 插入链接kbdCtrl/Command/kbd kbdShift/kbd kbdL/kbd 插入图片kbdCtrl/Command/kbd kbdShift/kbd kbdG/kbd 查找kbdCtrl/Command/kbd kbdF/kbd 替换kbdCtrl/Command/kbd kbdG/kbd ## 合理的创建标题有助于目录的生成 直接输入1次kbd#/kbd并按下kbdspace/kbd后将生成1级标题。 输入2次kbd#/kbd并按下kbdspace/kbd后将生成2级标题。 以此类推我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。 ## 如何改变文本的样式 *强调文本* _强调文本_ **加粗文本** __加粗文本__ 标记文本 ~~删除文本~~ 引用文本 H~2~O is是液体。 2^10^ 运算结果是 1024. ## 插入链接与图片 链接: [link](https://www.csdn.net/). 图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw) 带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw 30x30) 居中的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center) 居中并且带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center 30x30) 当然我们为了让用户更加便捷我们增加了图片拖拽功能。 ## 如何插入一段漂亮的代码片 去[博客设置](https://mp.csdn.net/console/configBlog)页面选择一款你喜欢的代码片高亮样式下面展示同样高亮的 代码片. javascript // An highlighted block var foo bar;生成一个适合你的列表项目项目项目项目1项目2项目3计划任务完成任务创建一个表格一个简单的表格是这么创建的项目Value电脑$1600手机$12导管$1设定内容居中、居左、居右使用:---------:居中使用:----------居左使用----------:居右第一列第二列第三列第一列文本居中第二列文本居右第三列文本居左SmartyPantsSmartyPants 是一个文本转换工具主要功能是将普通的 ASCII 标点符号自动转换为更美观的印刷体标点符号。例如原始符号转换后说明引号“引号”直引号变弯引号单引号‘单引号’直单引号变弯单引号--–两个连字符变短破折号---—三个连字符变长破折号...…三个点变省略号创建一个自定义列表MarkdownText-to-HTMLconversion toolAuthorsJohnLuke如何创建一个注脚一个具有注脚的文本。1注释也是必不可少的Markdown将文本转换为HTML。KaTeX数学公式您可以使用渲染LaTeX数学表达式 KaTeX:Gamma公式展示Γ ( n ) ( n − 1 ) ! ∀ n ∈ N \Gamma(n) (n-1)!\quad\forall n\in\mathbb NΓ(n)(n−1)!∀n∈N是通过欧拉积分Γ ( z ) ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) \int_0^\infty t^{z-1}e^{-t}dt\,.Γ(z)∫0∞​tz−1e−tdt.你可以找到更多关于的信息LaTeX数学表达式here.新的甘特图功能丰富你的文章2014-01-072014-01-092014-01-112014-01-132014-01-152014-01-172014-01-192014-01-21已完成进行中计划一计划二现有任务Adding GANTT diagram functionality to mermaid关于甘特图语法参考 这儿,UML图表可以使用UML图表进行渲染例如下面产生的一个序列图王五李四张三王五李四张三李四想了很长时间, 文字太长了不适合放在一行.你好李四, 最近怎么样?你最近怎么样王五我很好谢谢!我很好谢谢!打量着王五...很好... 王五, 你怎么样?关于UML图表语法参考 这儿,流程图链接长方形圆圆角长方形菱形关于Mermaid语法参考 这儿,FLowchart流程图我们依旧会支持flowchart.js的流程图语法Created with Raphaël 2.3.0开始我的操作确认结束yesno关于Flowchart流程图语法参考 这儿.导出与导入导出如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到文章导出生成一个.md文件或者.html文件进行本地保存。导入如果你想加载一篇你写过的.md文件在上方工具栏可以选择导入功能进行对应扩展名的文件导入继续你的创作。注脚的解释 ↩︎

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价