AI书房
用书来读懂AI
这里收录金京镇律师的AI、法律、产业、历史、政治、文化主题在线书。每本书都按目录、序言、章节、尾声整理,方便连续阅读。
[AI书房] 第11章 检索增强生成与语义存储:构建长期记忆
Claude Code完全掌握
Claude Code完全掌握
第11章 检索增强生成与语义存储:构建长期记忆
金京镇
引言
我把一份68页的吸尘器使用手册PDF丢给Claude Code,问它:「告诉我怎么清洗滤芯。」智能体短暂检索之后,用文字逐步讲解了操作方法。文字下方还附上了手册里的拆解示意图。物理设备的操作说明,图比文字清楚得多,这个判断是智能体自己做出的。
68页的文档不可能一次性塞进智能体的阅读范围,它是怎么从正确的页面找到正确信息的?秘密就在于检索增强生成(Retrieval-Augmented Generation,RAG)。
什么是检索增强生成
AI智能体有一个天生的短板:训练数据里没有的信息,它就不知道。公司内部手册、上周写的会议纪要、今天早上拍的现场照片,这些数据根本不存在于模型的训练过程中。把所有文档塞进一次阅读范围也是一种办法,但文档超过几十页,就会撞上模型的token上限。
检索增强生成是绕过这个问题的一套架构,由三个步骤组成。
检索(Retrieval),,从外部数据存储中找出与用户问题相关的信息。不是通读整份文档,而是只挑出与问题对应的片段。
增强(Augmentation),,把检索到的片段附加到智能体的提示词中。智能体现在可以像「刚刚读过」一样使用这些原本不知道的信息。
生成(Generation),,基于增强后的上下文生成回答。智能体的推理能力与外部数据结合,产出单靠自身无法达到的回答质量。
[图11-1] 检索增强生成的三个步骤:检索 → 增强 → 生成 流程图]
打个比方,这就像开卷考试。学生(智能体)不需要背下所有课本。考试时能翻开需要的那一页就够了。不过,快速判断该翻哪一页,再把页面上的信息和自己的知识融合起来写出答案,这仍然是学生自己的能力。
在检索增强生成中,决定「该翻哪一页」的技术,就是嵌入(Embedding)。
嵌入的概念
嵌入是将文本转换为数值向量(Vector)的过程。「向量」这个词听着有点数学味,但核心很好懂:用一串数字来表达一句话的含义。
「好想喝杯咖啡」和「想点一杯拿铁」,用词不同,意思却接近。嵌入模型(Embedding Model)会把这两句话转换成相近的数值向量。而「今天股市下跌了」则会被转换成完全不同的向量,因为含义不同。
把这些向量放到多维空间里,含义相近的句子会聚在一起,含义不同的句子会彼此远离。这就是基于语义相似度(Semantic Similarity)检索的原理。用户问「滤芯清洗方法」,系统先把这个问题转换成向量,再从预先存好的文档片段向量中找出距离最近的那些。
关键词不需要完全匹配,只要语义相通就能检索到。文档里写的是「集尘器清洗流程」,照样能被「滤芯清洗方法」这个问题命中。
[图11-2] 嵌入空间中语义相近的句子聚成簇的可视化]
在检索增强生成中,嵌入承担的角色可以这样理解:先把文档切成小片段(chunk);每个片段通过嵌入模型转换成向量;把向量存入数据库;有问题进来时,问题也被转换成向量;从已存的向量中找到离问题向量最近的那些,交给智能体。
使用Google Gemini多模态嵌入
到这里为止,讲的都是文本。但现实中的数据不只有文本。手册里有拆解示意图,现场报告里附着照片,培训资料里包含视频。
Google推出的Gemini Embedding 2是一个多模态嵌入模型(Multimodal Embedding Model),能把文本、图像、视频、音频全部放进同一个向量空间。
用几个具体场景来看看这个模型带来了什么变化。
吸尘器手册场景,,把68页PDF整体嵌入。不只是文本片段,示意图也被转换成向量。问「滤芯清洗方法」,返回的结果既有文字说明,也有对应的示意图。光看文字很难定位的零件位置,通过图片一目了然。
屋顶维修公司场景,,把过去的13张施工照片嵌入。每张照片关联了费用、工期、投入人数等元数据(Metadata)。上传一张新的屋顶照片,系统返回五个相似的历史施工案例,附带相似度评分,可以作为报价参考。
[图11-3] 多模态嵌入空间:文本、图像、视频按语义分布的2D可视化]
多模态嵌入真正厉害的地方在于,不同类型的数据共存于同一个空间。笑脸薯条的照片落在「食物」区域,弹吉他的金毛犬视频落在「娱乐」区域,Claude Code使用演示视频落在「技术」区域。数据类型不同,AI照样能识别语义,把它们放到正确的位置。如果所有数据都是屋顶照片,系统会自动按水灾损坏、老化、结构缺陷等细分类别归类。
截至目前,视频支持120秒以内的MP4或MOV文件,图像每次请求最多处理6张PNG或JPEG。音频同样支持;对于音频,提供准确的描述性元数据可以提高检索精度。
Pinecone语义存储实战演练
嵌入后的向量需要存在某个地方,并且能被检索。这个存储介质就是向量数据库(Vector Database),Pinecone是目前使用最广泛的向量数据库服务之一。
整个实战流程如下。
第一步:环境准备
在VS Code中新建一个文件夹,打开Claude Code。切换到规划模式(Plan Mode),对智能体下达指令:
「用Google Gemini的新Embedding 2模型,搭建一个可以往Pinecone向量数据库中存储和检索文本、图像、视频的系统。在.env文件里预留Pinecone API密钥、Gemini API密钥和OpenRouter API密钥的位置。」
智能体会设计项目结构、整理依赖列表、给出分步计划。
一共需要三个API密钥。Pinecone用于访问向量存储,Gemini用于调用嵌入模型,OpenRouter用于调用聊天模型(生成回答)。Pinecone可以从免费Starter方案起步,Gemini API密钥在Google AI Studio申请,OpenRouter是一个通过单一API访问多种模型的服务。
第二步:数据嵌入
在.env文件中填入三个密钥并保存。把要嵌入的文件放进data文件夹,文本文件、图像、视频可以混在一起。告诉智能体「数据准备好了,存进Pinecone吧」,智能体就会在Pinecone中创建索引,把每个文件嵌入后存储进去。
这个过程中智能体做的事情是:自动识别每个文件的类型,选择合适的嵌入方式。文本被切成片段后嵌入,图像的视觉语义被转换成向量,视频的画面和音频经过分析后也被转换成向量。
[图11-4] 实战流水线:原始文件 → 嵌入模型 → Pinecone索引]
第三步:搭建聊天界面
告诉智能体「帮我做一个可以在本机验证的聊天Web应用」。智能体会构建一个Web应用并在localhost上运行。在浏览器里输入问题,系统从Pinecone检索相关向量,再根据检索结果生成回答。
实际验证时,问「怎样获取workflow客户?」,系统会从文本文件中找到相关内容并作答。说「给我看弹吉他的金毛犬视频」,系统找到那段视频的元数据,在页面内嵌播放。
第四步:迭代改进
第一次的结果未必完美。可能图片没有返回,也可能视频描述不够充分。这时把问题告诉智能体,它会补充元数据或修改应用。说「给视频加上更好的描述,重新嵌入」,智能体就会删掉旧向量,用改进后的元数据重新存储。
整个过程在30分钟内完成。如果用n8n这类无代码工具搭建同样的多模态向量存储,往往需要数小时甚至数天。因为分块(Chunking)策略设计、图像捕获与存储方式配置、检索结果格式化,全部要手动完成。Claude Code只靠自然语言指令就能搞定这一切。
检索增强生成为智能体工作流带来的变化
没有检索增强生成的智能体,只能在自身训练数据的范围内作答。它只参考一次性读入窗口内的信息,窗口之外的世界对它而言等于不存在。
装备了检索增强生成的智能体则不同。它能读取公司那份68页的操作手册,能检索数百张施工照片档案,能从上季度的会议纪要中找到某项决策的来龙去脉。智能体的知识边界从训练数据的围墙,扩展到了组织所拥有的全部数据。
在智能体工作流中,检索增强生成有多种应用场景。
客户支持自动化,,将产品手册和FAQ做嵌入处理后,针对客户提问生成引用了精确页码和图片的回答。遇到「之前有没有类似的咨询?」这种问题,还能检索历史工单记录来作答。
内部知识管理,,将团队的项目文档、决策日志、品牌规范做嵌入处理。新入职的同事问「我们公司Logo的使用规则是什么?」,系统就能从品牌规范中定位到对应章节并给出回答。
科研辅助,,将论文、报告、市场调研资料做嵌入处理。问一句「这个领域最近有什么动向?」,系统就能检索相关资料并生成摘要,同时附上原始出处和置信度评分,方便核实。
[图11-5] 检索增强生成应用前后智能体知识范围对比示意图]
这里的关键在于领域专业知识(Subject Matter Expertise)的作用。比起搭建检索增强生成管道的技术能力,「用什么数据、怎么描述数据」才是决定结果质量的核心。正如屋顶维修案例所展示的,照片附带的元数据越贫乏,检索结果就越贫乏。
一张标注了「这是一栋使用10年的沥青瓦屋顶遭受冰雹损害的案例,维修费用450万韩元,工期3天」的照片,和一张只打了「屋顶照片」标签的照片,两者的检索价值完全不在一个量级。
技术实现能力的价值正在缩减。我们已经看到,n8n上需要数天才能搭好的管道,Claude Code在30分钟内就建完了。拼装JSON请求体、配置HTTP调用这些技术细节,交给智能体处理就行。而清晰描述流程的能力、准确刻画数据含义的能力、发现漏洞并明确指出的能力,仍然属于人的领地。
赋予智能体长期记忆,说到底就是给它接上一个数据库。那么接下来,我们看看如何赋予智能体可反复执行的熟练技能。教会它一次,它就能随时以同样的品质执行,,一种可复用的行为模式。
人工智能专家 金京镇律师
AI法律政策专家 · 前国会议员 · 著有多部作品
如果这本书曾在您身边停留片刻,请支持我们,让下一个故事得以问世。
(自愿赞助账户:农协 302-1096-0948-81 户名:金京镇)