news 2026/8/29 0:25:29

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型应用开发实战:从 Prompt 工程到 RAG、Agent 与 MCP 的完整指南

这里写自定义目录标题

  • 欢迎使用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:让模型安全地连接外部系统 MCP(Model 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/) ## 功能快捷键 撤销:<kbd>Ctrl/Command</kbd> + <kbd>Z</kbd> 重做:<kbd>Ctrl/Command</kbd> + <kbd>Y</kbd> 加粗:<kbd>Ctrl/Command</kbd> + <kbd>B</kbd> 斜体:<kbd>Ctrl/Command</kbd> + <kbd>I</kbd> 标题:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> 无序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>U</kbd> 有序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>O</kbd> 检查列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>C</kbd> 插入代码:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd> 插入链接:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd> 插入图片:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>G</kbd> 查找:<kbd>Ctrl/Command</kbd> + <kbd>F</kbd> 替换:<kbd>Ctrl/Command</kbd> + <kbd>G</kbd> ## 合理的创建标题,有助于目录的生成 直接输入1次<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成1级标题。 输入2次<kbd>#</kbd>,并按下<kbd>space</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. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants 是一个文本转换工具,主要功能是将普通的 ASCII 标点符号自动转换为更美观的印刷体标点符号。例如:

原始符号转换后说明
"引号"“引号”直引号变弯引号
'单引号'‘单引号’直单引号变弯单引号
--两个连字符变短破折号
---三个连字符变长破折号
...三个点变省略号

创建一个自定义列表

Markdown
Text-to-HTMLconversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n1)!nN是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.Γ(z)=0tz1etdt.

你可以找到更多关于的信息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文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. 注脚的解释 ↩︎

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 0:24:01

2026年AE图表动画怎么做:图表编辑器与数据绑定的用法

做财经解说视频&#xff0c;图表动画有三条可行路径&#xff1a;AE图表编辑器&#xff0b;表达式绑定CSV/JSON适合已用AE剪片、需要包装质感的人&#xff1b;纯代码渲染&#xff08;Matplotlib/Manim/Plotly/ECharts&#xff09;适合数据更新频繁、希望脚本维护的人&#xff1b…

作者头像 李华
网站建设 2026/8/29 0:14:14

OpenAI API 工程化接入指南:从认证到安全加固的完整实践

在接入 OpenAI API 的实际项目中&#xff0c;真正影响交付质量的往往不是模型回答是否准确&#xff0c;而是认证配置、密钥管理、超时处理、错误分支和日志脱敏这些细节是否被认真对待。OpenAI 的接口从调用角度看并不复杂&#xff0c;一条 HTTP 请求就可以完成文本或图像的推理…

作者头像 李华
网站建设 2026/8/29 0:07:07

北京GEO优化服务商推荐:从AI搜索可见度看?

前言&#xff1a;AI搜索正在改变用户认识品牌和比较方案的方式。用户不一定直接打开企业官网&#xff0c;而是先通过问答获得候选名单、功能解释和选择建议&#xff0c;因此品牌能否被准确提及、引用和推荐&#xff0c;成为新的增长问题。本期重点观察服务商是否有明确的可见度…

作者头像 李华
网站建设 2026/8/28 23:52:41

Replit Free Mode与Routines:云端定时自动化任务实战

Replit 这次的更新把两个关键词推到了台面上&#xff1a;Free Mode 和 Routines。前者决定你打开 replit.com 之后能不能不花钱就先把项目跑起来&#xff0c;后者决定 Replit 能不能从“在线编辑器”升级成一个按计划自动执行的自动化平台。这篇文章先快速讲清楚两个功能是什么…

作者头像 李华