惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
B
Blog RSS Feed
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
量子位
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
IT之家
IT之家
V
Visual Studio Blog
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
I
InfoQ
D
Docker
V
V2EX

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
RAG(检索增强生成)全解析
酸奶AIGC · 2025-10-08 · via 人人都是产品经理

在 AI 产品设计中,RAG(检索增强生成)已从技术选项变成架构基准。它不仅解决了大模型“幻觉”问题,更重新定义了知识调用的方式。这篇文章将带你系统理解 RAG 的底层逻辑、关键演化路径与产品落地挑战,是每位 AI 产品经理的必修课。

今天聚焦RAG(检索增强生成)。自 GPT 引爆 AI 时代后,“大模型幻觉”(答非所问、编造信息)成了落地痛点,而 RAG 正是解决这一问题的核心方案。接下来我们从 “痛点→原理→流程→缺陷” 逐步拆解,帮你快速掌握 RAG 的核心逻辑,实现 “让大模型说真话”。

一、先懂痛点:为什么需要 RAG?—— 大模型的 “幻觉” 难题

用一个场景就能理解大模型的幻觉:假设你是程序员,让 AI “写一段 C 语言程序”,它却回复 “我在网上搜到这些内容(一堆无关网页链接)”—— 这种 “说得头头是道,却完全不沾边” 的情况,就是大模型幻觉

最初的解决思路很直接:把相关文档和问题一起发给大模型。比如你把 “C 语言基础语法文档”+“写 C 语言程序” 的问题一起发,AI 确实能给出正确代码。但新问题来了:

  • 当文档变“长”(比如一本《C语言大全》),答案可能只藏在某几行文字里;
  • 大模型面对海量信息会“抓不住重点”,反而更容易跑偏(比如纠结文档里的历史背景,忽略核心语法)。

于是,RAG 的核心思路应运而生:不发全文档,只发和问题“强相关”的片段。但人工筛选片段太麻烦,RAG 就实现了这一过程的 “自动化”—— 这就是检索增强生成的本质。

二、RAG 的核心:如何判断 “内容与问题相关”?——Embedding 模型的作用

要自动化筛选 “相关片段”,关键是让计算机 “看懂文字的语义”,而这依赖Embedding(嵌入)模型。它的逻辑很简单,却能解决核心问题:

1.Embedding的核心能力:把文字变成“可比较的数组”

输入输出:输入任意长度的文字(一句话、一段话),输出一个固定长度的数组(比如1536维、3072维),这个数组被称为“向量”;

关键特性

a.同一模型下,无论文字长短,输出向量长度固定(比如 “写 C 程序” 和 “用 C 语言实现一个计算器”,都是 1536 维数组);

b.语义越像,向量距离越近:可以理解为 “语义的有损压缩”—— 信息浓缩了,但核心含义保留,相似内容的向量会 “靠得近”,无关内容的向量会 “离得远”。

比如在某 Embedding 模型中:

  1. “写C语言程序”和“C程序代码示例”的向量距离很近;
  2. “写C语言程序”和“今天天气怎么样”的向量距离极远。

2.用“坐标系”理解向量距离

  • 为了让非技术读者看懂,我们用“低维坐标系”类比(实际模型是1000+维):
  • 假设用“二维坐标系”(x轴、y轴),每个文字的向量就是坐标系里的一个“点”;
  • “写程序”的点落在(23),“Python程序”会落在(2.13.2)(距离近),“程序语言有哪些”落在(56)(距离稍远),“天气”落在(1015)(距离极远);
  • 高维坐标系(如1536维)能更精准地表达语义关系,储存更多数据——就像从“小房间”换成“大仓库”,能更细致地分类物品。

    三、RAG实战流程:从“文档预处理”到“生成答案”

RAG 的完整流程分两部分:文档预处理(提前做)和用户查询(实时做),环环相扣,最终实现 “无幻觉回答”。

第一步:文档预处理 —— 把长文档变成 “可检索的向量”

这一步是 “提前准备工作”,目的是把原始长文档拆成小块、转成向量,存到专门的数据库里,方便后续快速检索。

1.文档分块:把长文档拆成短片段(避免大模型 “读不完”,也方便精准检索);

  • 分块方法:按字数(如每200字一块)、按句子、按段落,或用复杂的语义分块算法;
  • 专业名词:这个过程叫“Chunking”,是RAG的基础步骤。

2.Embedding编码:用 Embedding 模型把每个片段转成向量(比如 1536 维数组),同时保留 “向量→原始片段” 的对应关系(比如向量 A 对应 “C 语言变量定义” 片段);

3.向量存储:把 “向量 + 原始片段” 存到向量数据库(传统数据库无法高效计算 “向量距离”,向量数据库专门解决这个问题);

常见向量数据库:Pinecone、PostgreSQL(需插件)、DynamoDB等,它们能快速找到“与问题向量距离最近的片段向量”。

第二步:用户查询 —— 实时检索 + 生成答案

当用户提出问题时,RAG 会按以下 4 步生成无幻觉答案:

  1. 问题转向量:用和“文档预处理”相同的Embedding模型,把用户问题(如“写一个C语言程序怎么写?”)转成向量;
  2. 向量检索:把问题向量输入向量数据库,找到“距离最近的N个片段向量”(比如Top5),提取对应的原始片段(比如“C语言主函数结构”“变量定义语法”等片段);
  3. 拼接输入:把“用户问题+检索到的相关片段”一起发给大模型;
  4. 生成答案:大模型基于“相关片段”生成自然语言回答——不再是凭空编造,而是“有据可依”。

简单总结:

  • 向量数据库输出的是“准确的片段文字”;
  • 大模型输出的是“准确的人话”——这就是RAG的核心价值。

四、RAG 的先天缺陷与改进方向

RAG 虽能解决幻觉,但并非完美,有两个核心缺陷需要注意:

缺陷1:分块截断导致语义断裂

无论用哪种分块方法(按字数、段落),都可能把“语义连贯的内容拆断”,导致回答偏差。

例子:原文“小学生说:‘我今天作业写完了。我想去公园玩。’”若被拆成两块(第一块“小学生说:‘我今天作业写完了。’”,第二块“我想去公园玩。”),第二块的“我”会失去指代(小学生);

当用户问“小学生今天想去公园玩吗?”,RAG可能因“第二块与‘小学生’的向量距离远”,给出“否定答案”。

缺陷2:缺乏全局视角,无法处理“统计类问题”

RAG只能检索“与问题强相关的片段”,但对“需要整合全文档信息的问题”无能为力。

例子:若文档里分散提到“C语言程序1”“Python程序2”“Java程序3”,用户问“文档里共提到多少个程序?”,RAG无法整合所有片段的信息,只能回答“找不到相关内容”。

改进方向:目前的优化尝试

  • 语义分块:让大模型参与分块,根据语义判断“哪里该断”(比如识别“我”的指代对象后再分块);
  • 指代统一:预处理时把“我”“他”等代词替换成具体对象(比如把上例的“我”换成“小学生”);
  • 多轮检索:对统计类问题,先检索“可能包含数量信息的片段”,再让大模型整合这些片段计算结果。

目前没有 “十全十美” 的改进方案,但新思路仍在不断涌现。

五、总结:RAG 的核心逻辑闭环

最后用一句话串起 RAG 的全部:为了解决 “大模型幻觉”,RAG 通过 “提前把长文档拆块→转向量存数据库”,在用户提问时 “把问题转向量→查相关片段→给大模型生成答案”,最终实现 “让大模型基于真实片段说话,不编造、不跑偏”。

RAG 不是复杂技术,而是 “Embedding + 向量数据库 + 大模型” 的巧妙结合 —— 掌握它,你就能让大模型在处理专业文档(如手册、论文、代码库)时,真正成为 “靠谱的助手”。

本文由 @酸奶AIGC 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议