AI技术栈全景指南_Prompt_RAG_爬虫_MCP

AI 应用核心技术栈全景指南

Prompt Engineering → RAG → 爬虫/文档处理 → MCP 智能查数

一份给实习工程师的概念串联手册


写在前面:为什么这些概念容易混淆?

你在实习中同时接触了 提示词工程RAG爬虫/文档处理MCP 智能查数 四个方向,发现它们之间边界模糊、经常交叉------这很正常。因为在大模型应用的完整链路中,它们分别处于不同层级,但又在实际项目中紧密配合。

本文档的目标:用一条清晰的逻辑线,把这四个技术点串成一张完整的地图,让你知道每个东西是什么、不是什么、在链路中扮演什么角色、以及它们如何在你的 ESG 项目中配合。


第一章:Prompt Engineering(提示词工程)------ 一切的基础层

1.1 定义

Prompt Engineering 是设计和优化输入给大模型的文本指令的技术,目的是让模型输出更准确、更可控、更符合预期。

它不改变模型的参数,只改变你怎么问问题

1.2 核心技巧(来自 promptingguide.ai

技巧 作用 示例
Zero-shot 直接提问,不给例子 "总结这段文字"
Few-shot 给 2-3 个例子让模型学习格式 "问:A 公司处罚 → 答:query_punishment..."
Chain-of-Thought (CoT) 让模型"一步步想" "请先分析用户意图,再决定调用哪个工具"
Role Prompting 给模型设定角色 "你是一位 ESG 数据分析专家"
Output Formatting 强制输出 JSON/XML "请严格按以下 JSON 格式输出..."

1.3 关键认知

Prompt Engineering 解决的是"模型怎么理解指令"的问题,不涉及任何外部数据。

它就像你跟一个聪明人说话的方式------措辞不同,结果天差地别。但不管你怎么措辞,这个聪明人脑子里装的知识是固定的(训练数据的截止时间点)。

所以 Prompt Engineering 的局限:模型不知道训练数据之后发生的事,也不知道你们公司的内部数据。

这就引出了下一个层级:RAG。


第二章:RAG(Retrieval-Augmented Generation)------ 知识层

2.1 定义

RAG(检索增强生成)是一种让大模型在回答问题时,先从外部知识库中检索相关文本,再把检索到的内容作为上下文注入 Prompt,最后生成回答的技术架构。

它解决的核心问题:模型知识过时 + 模型不知道企业内部私有数据

2.2 RAG 的完整工作流

复制代码
┌─────────────────────────────────────────────────────────────┐
│  阶段 1:Indexing(索引构建,离线进行)                       │
│                                                             │
│  企业文档/PDF/网页 → 文本清洗 → 切分 Chunk                  │
│       ↓                                                       │
│  Embedding 模型(如 text-embedding-3)→ 向量                │
│       ↓                                                       │
│  存入向量数据库(如 pgvector / Milvus / Chroma)            │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│  阶段 2:Retrieval + Generation(在线查询)                  │
│                                                             │
│  用户提问:"公司环保政策有什么要求?"                        │
│       ↓                                                       │
│  问题 Embedding → 向量相似度检索 → Top-K 相关文本块         │
│       ↓                                                       │
│  把检索到的文本块塞进 Prompt(作为上下文)                  │
│       ↓                                                       │
│  大模型基于"原始问题 + 检索到的文本"生成回答                │
└─────────────────────────────────────────────────────────────┘

2.3 RAG 的核心特征

特征 说明
数据类型 非结构化文本(PDF、Word、网页、邮件)
检索方式 语义相似度(向量距离),不是精确匹配
结果形态 文本块(chunk),可能不精确
数据时效 依赖索引刷新频率(T+1 或定时)
动作能力 只读,不能修改数据库或执行操作
最佳场景 "公司制度是什么?"、"这份合同有什么条款?"

2.4 RAG 不是什么

  • 不是搜索引擎:搜索引擎返回链接列表,RAG 返回的是被塞进 Prompt 的文本块
  • 不是数据库查询:RAG 查的是"语义相近",不是"字段等于某值"
  • 不能执行动作:RAG 只能给模型补充知识,不能让模型去"查数据库"或"发邮件"

2.5 一句话总结

RAG = 给模型装一个"外置记忆",让它能引用你们公司的文档来回答知识性问题。


第三章:爬虫与文档处理 ------ 数据准备层

3.1 爬虫在链路中的位置

爬虫本身不是 RAG,也不是 MCP ,它是数据采集手段------位于整条链路的最上游,负责把互联网上的原始数据抓下来,供下游使用。

复制代码
互联网数据
    ↓
【爬虫】抓取原始 HTML / API 响应
    ↓
【文档处理】清洗 → 提取结构化字段 / 切分文本 Chunk
    ↓
┌─────────────────┬─────────────────┐
│                 │                 │
▼                 ▼                 ▼
结构化数据      非结构化文本      混合数据
(入 PG 库)    (入向量库做 RAG) (两者都做)
    ↓               ↓
MCP 查询        RAG 语义检索

3.2 爬虫 → 结构化数据(你的 ESG 场景)

复制代码
监管网站 / 12315 平台 / 环保披露网站
    ↓
爬虫抓取 HTML / JSON API
    ↓
解析提取结构化字段:
  - company_name
  - punish_date
  - illegal_fact
  - format_money
    ↓
存入 PostgreSQL(结构化数据库)
    ↓
通过 MCP 智能查数接口被 AI 调用

特点

  • 数据是结构化的(字段明确)
  • 查询方式是精确匹配company_name = '茅台'
  • 被 MCP 工具调用,不是 RAG

3.3 爬虫 → 非结构化文本(RAG 场景)

复制代码
上市公司 PDF 年报 / ESG 报告 / 政策文件
    ↓
爬虫/下载器获取文件
    ↓
文档处理(OCR / 解析 / 去页眉页脚)
    ↓
切分 Chunk(每段 500-1000 字)
    ↓
Embedding → 向量数据库
    ↓
RAG 语义检索

特点

  • 数据是非结构化的(大段文字)
  • 查询方式是语义相似度("环保违规"和"环境处罚"可能召回同一段)
  • 走 RAG 链路,不走 MCP

3.4 一句话总结

爬虫和文档处理是"数据原料生产线",它们本身不属于 RAG 或 MCP,但它们的产出决定了下游走 RAG(非结构化文本)还是 MCP(结构化数据)。


第四章:MCP 智能查数 ------ 行动层/结构化数据层

4.1 定义

MCP(Model Context Protocol)是一种标准化协议,让 AI Agent 能够发现、调用外部工具(如数据库查询、API 调用),并获取结构化结果。

你的 ESG 智能查数 MCP 属于其中的 Data Source MCP------本质上是**"AI 能调用的数据库网关"**。

4.2 MCP 的工作方式

复制代码
用户:"查一下茅台去年的环保处罚"
    ↓
Hermes(Agent)理解意图
    ↓
Hermes 决定调用 Tool:query_punishment
    ↓
Hermes 构造入参(查询条件,不是数据本身):
  {
    "company_name": "茅台",      ← 过滤条件
    "year": 2024,                ← 过滤条件
    "category": "环保",          ← 过滤条件
    "limit": 20                  ← 数量限制
  }
    ↓
MCP Server 收到入参 → 执行 SQL / 调 API
    ↓
MCP Server 返回结构化 JSON(出参,这才是 ESG 数据)
    ↓
Hermes 把 JSON 润色成自然语言回复用户

4.3 MCP 的核心特征

特征 说明
数据类型 结构化数据(数据库记录、API 响应)
查询方式 精确条件匹配=BETWEENIN
结果形态 结构化 JSON / 表格
数据时效 实时(每次查询直接命中数据源)
动作能力 可读可写(查数据库、调 API、甚至执行操作)
最佳场景 "XX 公司有多少条处罚?"、"查一下排污许可"

4.4 MCP 与 Function Calling 的关系

对比 Function Calling MCP
本质 应用内技术机制 行业标准协议
工具定义 写在应用代码里 独立 Server 暴露
可移植性 锁定在当前应用 跨 Agent 复用
适用场景 2-3 个工具的 Demo 企业级多工具平台

关系:Function Calling 是"怎么让模型调用函数",MCP 是"怎么让这套调用机制标准化、可复用"。

4.5 一句话总结

MCP 智能查数 = 给 AI 装了一个"数据库驱动",让 AI 能用自然语言意图去精准查询结构化数据,返回的是实时、精确的记录,不是模糊的文本块。


第五章:四者关系全景图

5.1 层级关系

复制代码
┌─────────────────────────────────────────────────────────────┐
│  第 4 层:应用交互层                                         │
│  用户提问 → Agent(Hermes)理解意图 → 选择技术路径           │
└─────────────────────────────────────────────────────────────┘
                          │
        ┌─────────────────┼─────────────────┐
        ▼                 ▼                 ▼
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│  知识性问题   │  │  数据查询问题  │  │  执行类问题   │
│  "制度是什么" │  │  "处罚有多少"  │  │  "生成报告"   │
└──────┬───────┘  └──────┬───────┘  └──────┬───────┘
       │                 │                 │
       ▼                 ▼                 ▼
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│  RAG 链路     │  │  MCP 链路     │  │  MCP 工具调用 │
│  向量语义检索  │  │  结构化查询   │  │  执行操作     │
└──────────────┘  └──────────────┘  └──────────────┘
       ▲                 ▲
       │                 │
┌──────┴───────┐  ┌──────┴───────┐
│  文档处理     │  │  爬虫/采集    │
│  切分/Embedding│  │  结构化入库   │
└──────────────┘  └──────────────┘
       ▲                 ▲
       └─────────────────┘
              │
       ┌──────┴───────┐
       │  原始数据源    │
       │  网页/PDF/API  │
       └──────────────┘

5.2 对比矩阵

维度 Prompt Engineering RAG 爬虫/文档处理 MCP 智能查数
解决的问题 模型怎么理解指令 模型知识不够/过时 数据从哪来 模型怎么查实时结构化数据
处理的数据 纯文本指令 非结构化文本块 原始网页/文件 结构化数据库记录
核心动作 写更好的 Prompt 向量相似度检索 采集 + 清洗 精确条件查询
结果确定性 中(依赖模型理解) 低(语义召回可能不准) --- 高(SQL 精确匹配)
数据时效 静态(模型训练截止点) 依赖索引刷新 采集时最新 实时
能否执行动作 ✅(查库/调 API)
在链路中的位置 贯穿全程 知识检索层 数据准备层 行动/数据层

5.3 关键区分口诀

  • Prompt Engineering:怎么问(技巧层)
  • RAG:查文档(语义模糊,给模型补充知识)
  • 爬虫/文档处理:准备料(数据原料生产线)
  • MCP 智能查数:查数据库(精确实时,给模型提供数据)

最核心的一条分界线

  • RAG 查的是"意思相近的文本" → 非结构化、语义检索、可能不准
  • MCP 查的是"符合条件的记录" → 结构化、精确匹配、实时准确

第六章:在你的实习项目中如何配合

以你们公司的 ESG 系统为例,四个技术的配合方式:

6.1 数据流全景

复制代码
【数据采集层】
爬虫定时抓取:
  - 监管处罚网站 → 解析结构化字段 → 存入 PG (credit_china)
  - 环保披露网站 → 解析结构化字段 → 存入 PG (disclosure)
  - 上市公司 PDF 报告 → 文本提取 → 切 Chunk → 存入向量库

【数据存储层】
  ├─ PostgreSQL:结构化表(处罚、抽检、环保、子公司...)
  └─ 向量数据库:非结构化文本(报告、政策、文档)

【服务层】
  ├─ MCP Server:暴露 19 个 Tools,查结构化 PG 数据
  └─ RAG 检索服务:查向量库,做语义问答

【应用层】
  Hermes Agent(MCP Client)
    ↓
  用户问"茅台去年环保处罚" → Hermes 调 MCP Tool → 返回 JSON
  用户问"ESG 报告里环保部分怎么写" → Hermes 调 RAG → 返回文本块

6.2 实际对话中的路由逻辑

复制代码
用户输入
    ↓
Hermes 意图识别(Prompt Engineering + Few-shot 示例)
    ↓
┌────────────────────────────────────────┐
│  问题类型判断:                         │
│                                         │
│  "查数据/有多少/什么时候" → MCP 路径    │
│  "怎么理解/制度是什么/如何写" → RAG 路径 │
│  "生成报告/发邮件/更新状态" → MCP 动作   │
└────────────────────────────────────────┘
    ↓
选择对应技术栈执行 → 返回结果 → Prompt Engineering 润色输出

6.3 你的日常工作对应关系

你的工作 属于哪个技术点 在链路中的角色
写 Prompt 让 Hermes 正确理解用户意图 Prompt Engineering 控制 Agent 行为
配置 Few-shot 示例教模型选 Tool Prompt Engineering 提升 Tool 选择准确率
维护向量数据库里的 ESG 报告 RAG 知识检索基础设施
写爬虫抓监管网站数据 爬虫 数据采集
把爬下来的数据解析成结构化字段入库 文档处理/ETL 数据结构化
维护 MCP Server 的 19 个 Tools MCP 结构化数据查询网关
优化 query_punishment 的 SQL 和参数 MCP 提升查询精准度

第七章:选型决策树

当你面对一个新需求时,按以下逻辑判断该用哪套技术:

复制代码
用户问题/需求
    ↓
Q1: 需要外部数据才能回答吗?
    ├─ 否 → 纯 Prompt Engineering 即可
    └─ 是 → 继续
        ↓
Q2: 数据是结构化(表/字段)还是非结构化(文档/文本)?
    ├─ 非结构化 → 走 RAG(向量语义检索)
    └─ 结构化 → 继续
        ↓
Q3: 需要精确匹配(查某家公司某年数据)还是语义理解(找相关政策)?
    ├─ 语义理解 → 考虑把结构化数据文本化后走 RAG
    └─ 精确匹配 → 走 MCP(结构化查询)
        ↓
Q4: 需要执行动作(写数据/调 API)还是只读查询?
    ├─ 只读查询 → MCP Tool 返回数据
    └─ 执行动作 → MCP Tool 执行操作(如生成报告、发通知)

典型场景对照表

场景 推荐技术 原因
"公司考勤制度是什么?" RAG 查文档,语义匹配即可
"茅台 2024 年有多少条处罚?" MCP 精确查结构化数据库
"帮我写一段 ESG 报告里的环保章节" RAG + MCP RAG 找模板,MCP 查数据,两者结合
"对比 A 和 B 公司的环保风险" MCP × 2 分别查两家数据,Agent 做对比分析
"这个处罚依据的是哪条法规?" RAG 查法规文档,语义检索

第八章:常见误区澄清

❌ 误区 1:"爬虫抓下来的数据就是 RAG"

正解 :爬虫只是数据采集。抓下来的数据如果结构化入库 → 走 MCP ;如果文本化向量化 → 走 RAG。爬虫本身不属于任何一层。

❌ 误区 2:"MCP 查询也是检索,所以也是 RAG"

正解 :RAG 的 R 是 Retrieval(语义检索) ,MCP 查数是 Structured Query(结构化查询)。一个是"找意思相近的文本",一个是"找符合条件的记录"。技术路径完全不同。

❌ 误区 3:"Prompt Engineering 就是写几个例子"

正解:Few-shot 只是 Prompt Engineering 的一种技巧。完整的 Prompt Engineering 还包括:角色设定、输出格式约束、Chain-of-Thought、ReAct 模式、Self-consistency 等。它是贯穿所有 AI 应用的底层能力。

❌ 误区 4:"有了 MCP 就不需要 RAG 了"

正解:两者互补。MCP 解决"实时结构化数据查询",RAG 解决"文档知识语义检索"。一个完整的 ESG 助手需要同时回答"XX 公司处罚数量"(MCP)和"ESG 报告怎么写"(RAG)。

❌ 误区 5:"RAG 可以替代数据库查询"

正解 :RAG 查向量库是模糊匹配,适合"找相关政策",不适合"查茅台 2024 年处罚金额总和"。后者必须走结构化查询(MCP/SQL)。


附录:术语速查表

术语 一句话解释
Prompt Engineering 优化给大模型的指令,让它输出更准确
RAG 先从外部知识库检索相关文本,再让模型生成回答
Embedding 把文本转成高维向量,用于语义相似度计算
Vector DB 存储向量并支持相似度检索的数据库
Chunk 把长文档切分成小段,每段单独做 Embedding
MCP 标准化协议,让 AI Agent 能发现和调用外部工具
Tool / Function AI 可调用的外部能力(如查数据库、调 API)
Function Calling 模型输出结构化参数请求调用函数的能力
Agent 能自主规划、调用工具、完成多步骤任务的 AI 系统
ReAct 一种 Agent 模式:Reason(思考)→ Act(行动)→ Observation
Few-shot 在 Prompt 里给几个例子,让模型学习格式/风格
CoT Chain-of-Thought,让模型一步步推理

参考资源

  1. Prompt Engineering Guide --- promptingguide.ai(你正在看的)
  2. RAG 基础论文 --- Lewis et al., "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks", 2020
  3. MCP 官方文档 --- modelcontextprotocol.io
  4. MCP vs RAG 架构对比 --- Kanerika Blog
  5. Context Engineering: RAG, Memory & MCP --- FutureAGI
  6. MCP vs Function Calling --- OpenClaw AI
  7. MCP vs RAG vs Function Calling 分层对比 --- Mikaeels Blog

最后的话 :这四个技术不是互相替代的关系,而是分层协作的关系。Prompt Engineering 是贯穿全程的底层能力,爬虫/文档处理是数据原料生产线,RAG 和 MCP 是两条并行的数据消费路径------一个查文档知识,一个查结构化数据。在你的 ESG 项目中,它们共同构成了完整的 AI 数据链路。

相关推荐
zed_231 小时前
RAG 全链路串起来:一个能答专业问题的问答接口
人工智能
2601_962304911 小时前
把出片接进自动化流水线:2026 年批量 AI 视频生成工具的脚本契约与同类项目对照
运维·人工智能·自动化
知了一笑1 小时前
企业的卷味,组织的AI味
人工智能·ai·ai工作流
实战派K8S&DB2 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
天远数科2 小时前
零信任架构实战:基于天远身份证OCR构建自动化高并发移动支付网关
人工智能·架构·自动化·ocr
我爱写代码i2 小时前
AI对话绘画数字人源码 - uniapp前端
前端·人工智能·uni-app
这就是佬们吗2 小时前
不写Prompt,写Loop:AI编程的下一场范式迁移
人工智能·prompt·ai编程
用户938515635072 小时前
大模型记忆指南:从短时缓存到永久记忆,手把手带你吃透 LangChain Memory 管理
javascript·人工智能
武子康2 小时前
机器人策略 90% 与 92%:为什么两个百分点通常不足以证明更
人工智能·llm·agent