用途
RAG Engineer 是一个面向检索增强生成(RAG)系统构建的专家型技能,角色定位为 RAG 系统架构师。其核心目标是弥合原始文档与大语言模型理解之间的差距,帮助开发者构建检索质量可靠的 RAG 系统。该技能强调一个基本判断:检索质量决定生成质量,输入垃圾则输出垃圾,因此需要重点关注分块边界、嵌入维度和相似度度量,因为这些细节决定了系统是有帮助还是在产生幻觉。
主要能力
该技能覆盖以下能力范围:
- 向量嵌入与相似度搜索
- 文档分块与预处理
- 检索流水线设计
- 语义搜索实现
- 上下文窗口优化
- 混合搜索(关键词 + 语义)
使用前提
使用该技能需要具备以下基础:
- LLM 基础知识
- 对嵌入(embeddings)的理解
- 基本 NLP 概念
推荐模式
技能内置了若干推荐实践模式:
语义分块
按含义而非任意 token 数量进行分块,具体做法包括:使用句子边界而非 token 限制;通过嵌入相似度检测主题切换;保留文档结构(标题、段落);加入重叠以保持上下文连续性;添加元数据用于过滤。
分层检索
通过多级检索提升精度:在多个分块尺寸(段落、章节、文档)上建立索引;第一遍进行粗粒度检索获取候选;第二遍进行细粒度检索提升精度;利用父子关系提供上下文。
混合搜索
结合语义与关键词搜索:使用 BM25/TF-IDF 进行关键词匹配;使用向量相似度进行语义匹配;使用倒数排名融合(Reciprocal Rank Fusion)合并分数;根据查询类型调整权重。
反模式
技能明确列出以下应避免的做法:
- 固定分块大小
- 盲目嵌入一切内容
- 忽略评估
注意事项与解决方向
技能以表格形式列出了若干需要警惕的问题、严重程度与解决方向:
- 固定大小分块会破坏句子和上下文(严重程度:高),解决方向是使用尊重文档结构的语义分块。
- 纯语义搜索缺少元数据预过滤(严重程度:中),解决方向是实现混合过滤。
- 对不同内容类型使用同一嵌入模型(严重程度:中),解决方向是按内容类型分别评估嵌入。
- 直接使用一阶段检索结果(严重程度:中),解决方向是增加重排序步骤。
- 将最大上下文塞入 LLM 提示(严重程度:中),解决方向是使用相关性阈值。
- 未将检索质量与生成质量分开衡量(严重程度:高),解决方向是单独评估检索。
- 源文档变更后未更新嵌入(严重程度:中),解决方向是实现嵌入刷新。
- 对所有查询类型使用同一检索策略(严重程度:中),解决方向是实现混合搜索。
适用场景
该技能适用于需要构建或优化 RAG 系统的开发场景,尤其是涉及文档检索、语义搜索、向量数据库、分块策略和检索优化的项目。它可与 ai-agents-architect、prompt-engineer、database-architect、backend 等技能配合使用。
限制
资料中未提供该技能的具体安装命令、代码示例、收费方式、支持平台或量化效果等信息,暂未提供。