今年以来一直保持着每日阅读,包括论文、报告和国内外技术文章,虽然多数浪费时间,但一周一定会有1-2篇不错的文章,比如今天这篇:《How I Won the Enterprise RAG Challenge》
原文链接:https://abdullin.com/ilya/how-to-build-best-rag/
这篇文章是 Ilya Abdullin 写的一篇关于如何构建最佳RAG系统的详细指南。
核心思想是:构建一个高质量的 RAG 系统远不止是简单地将用户问题扔给向量数据库,然后让 LLM 出答案。它需要一个精心设计的、多步骤的架构,涉及数据准备、检索优化和生成优化。
整体读下来非常不错,以下是我结合自身实践和文章内容的一些思考:
架构全景图
首先,看看系统核心架构图:
好的RAG系统是一套精密的工作流、一套决策系统。它在核心的“检索-生成”链条上,增加了多个“路由器”和“优化器”(这里我持质疑态度):
- 路由决策:系统首先需要判断问题应该去哪里寻找答案
- 检索优化:在初步找到答案后,系统需要进一步筛选和排序,找出最相关的信息
- 生成定制:最后,系统需要根据问题的具体类型,采用最合适的策略来生成答案
接下来,我们将沿用Ilya文章中提到的“RAG洋葱模型”,从最外层的基础环节开始,逐步深入到核心的智能决策模块:
这里当然又要回到数据准备模块了:
任何RAG系统的质量都高度依赖于其输入数据的质量,所以前面说核心在于检索和生成链条,我本身就很质疑,逻辑很简单:
稍微复杂点的AI系统逻辑都是一致,数据工程影响提示词工程,数据处理质量影响数据工程,所以RAG前期数据处理不好,那么无论后期怎么补足效果都不会好。
所以,将非结构化的文档(如WORD、PDF)转化为干净、可检索的文本块,这个事情挺重要的…
一、文档解析
文档解析是RAG流程中第一个,也是最容易出错的地方。Ilya尝试了约二十种解析器后得出的结论是:没有一种解析器能够完美无损地转换所有PDF。
他遇到了各种棘手问题:有的表格被扫描成旋转了90度,解析后文字完全乱码;有的图表部分由文本层、部分由图片层组成,难以解析;甚至部分报告字体编码出了问题,显示正常但复制出来是无意义符号。更极端的是,有文档的文本竟是凯撒加密,需要特殊解码才能阅读。
他最终选择了Docling作为基础解析器。为了处理一些复杂情况,他不得不深入源码进行定制化修改,以输出包含丰富元数据的JSON,进而生成高质量的Markdown和HTML。
这个过程揭示了一个需要注意的现实:在RAG项目中,数据预处理往往占据了超过一半的工作量,且需要深厚的领域知识和工程技巧。
比较骚的是,由于当时比赛时间紧迫,他还利用GPU加速解析,租用了搭载RTX4090的云主机。最终100份年报共一万多页的解析耗时约40分钟,展现了工程化思维的重要性。
其实,我们在实际工作过程中是不建议这种骚操作的,首先不建议改解析器源码,其次不建议做加速解析这些动作,因为时间是比较充裕的,不要人为的加大难度,必定还要考虑系统移交成本。
而且在真实处理过程中一定会遇到各种奇葩问题,这里没什么捷径,就是一招逢山开路遇水搭桥,一个个小问题的解决就好
每个小问题都不难,不存在2天都解决不了的情况,这里关键的是提前发现暴露问题
二、向量化
解析后的文本需要被切割成更小的“块”存入向量数据库。这里分块策略,会变得比较关键:
为了平衡检索精度与上下文完整性,Ilya采用了递归分块法,设置300个token的块大小并辅以50个token的重叠。这确保了语义单元的完整性,同时避免了因块过大而稀释关键信息的相似度。
这里他对系统进行了远期设计,为每个文档(公司年报)建立独立的向量库。这背后是效率考量:当问题明确针对某个公司时,仅在单个库中搜索,其精度和速度远高于在混合了所有公司数据的庞大向量库中搜索。
这引入了“路由”概念的雏形:在检索之前,先确定搜索范围。类似这种思维策略国内也有一些,比如树形架构也可以很好的保持语义独立性:
三、检索与重排
检索是RAG系统的“R”,是整个系统的脉络,也是验证数据质量好坏的重要标准,如果检索器找不到正确答案,那么就需要“重新再来一次”。
理论上,结合语义搜索和关键词搜索的混合检索应该能提升效果。
但Ilya的实践表明,在未对查询进行深度优化的情况下,简单的混合检索有时甚至会降低性能。这说明,先进的技术需要正确的使用方式,否则可能适得其反。
在过往经验里面,这里比较实用的技巧是问题重写,事实上系统是有一个自己预期问题准入清单的,或者叫做简单的“意图识别”,如果你没有这个清单,那么说明系统比较出错,可能重新措辞问题也未必能搜出答案。
检索之后会达到一个文本清单,接下来就是重排技巧了,Ilya的做法是:
- 通过向量检索初步召回30个文本块;
- 利用元数据找到这些块所属的原始页面;
- 将“问题+页面文本”交给LLM,要求其根据对回答问题的帮助程度进行0-1打分;
- 将LLM的分数与向量搜索分数加权融合,最终选出最相关的10页;
为了加速,Ilya一次让LLM同时对三个页面返回三个分数,这样邻近文本互相参照,提高了评分一致性和效率。最终结合了向量相似度和LLM分数来计算修正后的相关度,例如设定向量权重0.3,LLM权重0.7。
这种方法的好处是显而易见的:它以一种相对低廉的成本(每问低于1美分),极大地提升了上下文材料的质量,只要数据质量好,那么后续模型输出质量一定不会差。
只不过也只有在真实使用这种重排策略的时候,你才会感受到老板有多么的在意这块的token消耗,在有些时候效果和成本是很难兼顾的,除非在数据工程层面下更大的功夫,换句话说:
越是复杂的数据工程,会导致越是复杂的AI工程,相对会产生成本越低、性能更好的前端体验
unsetunset四、路由与生成unsetunset
这块也是其方法论RAG洋葱模型最核心的部分,这块大家可能要注意点,这也是很多大型AI项目背后的架构设计,这也是为什么我会推荐这篇文章的原因,他其实已经是勾勒了一点雏形了,这里的核心是:
通过路由,让问题去往该去的地方
路由是简化问题、提升效率的最有效手段。Ilya的系统中有两个关键的路由器:
数据库路由:根据问题中出现的公司名称,直接将其路由到对应的向量库。
这个看似简单的策略(甚至可以用re.search实现),却将搜索范围从100份文档急剧缩小至1份,带来了性能和精度的双重提升。事实上之前提到的PageIndex也是这个思路:
提示词路由:比赛要求答案格式严格(如数字、布尔值、字符串等)。
Ilya没有将所有格式规则塞进一个庞大的提示词,而是为每种答案类型设计了专用的提示词。
系统通过if…else判断问题类型,然后动态选择最合适的提示词,确保了LLM能清晰地理解并遵守特定类型的输出要求。
特别需要提一句的是:这里可以使用规则引擎,也可以使用模型判断,没什么所谓。
当然,上述问题只能解决领域内问题,如果遇到跨领域问题就要麻烦一些,比如,对于需要比较多个公司的问题,系统引入了第三重路由:
- 首先识别出这是复合问题
- 使用LLM将其拆解为多个独立的子问题(如“A公司营收?”和“B公司营收?”)
- 每个子问题独立走完标准的RAG流程
- 最后将子问题的答案汇总,生成最终答案
这里值得注意的是还是我之前说过的核心一点,能这样设计的前提是:问题都是预设过的,场景都是根据穷举过的
在上述各种系统而复杂的操作过后,知识从各个PDF到了知识库,再从知识库到了提示词,也就进入了最后一步,模型生成了,这里Ilya综合运用了多项业界最佳实践:
一、精细化的思维链:
不仅仅是“一步一步思考”,而是通过提示词为LLM规划了清晰的思考路径,特别强调对比问题中的指标与上下文中的指标是否一致。这能有效防止LLM“张冠李戴”,是降低“幻觉”的关键。
例如,当上下文只提供“扣折旧后的设备净值”时,模型能理性地分析出这并非问题所问的“研发设备成本”,从而果断回答“N/A”。
二、结构化输出:
强制LLM以指定的JSON格式输出,确保了答案的可解析性和稳定性。输出中同时包含step_by_step_analysis和final_answer等字段,既保证了推理过程的透明可控,又便于提取最终答案。
三、提示词模块化管理:
Ilya采用模块化方式组织提示词,每个提示词分为系统指令、输出格式定义、示例问答对等多个可复用模块。这种设计便于灵活地“拼装”不同的提示词配置,同时有效控制提示长度,减少手动维护的负担。
四、指令打磨与业务理解:
这是最耗费心力但也最重要的一环。Ilya深入研究了比赛题目生成器的逻辑和企业年报的业务细节,将各种边界情况(如货币单位转换、职位名称同义词、数值单位等)明确地写入提示词。
这告诉我们:一个RAG系统的上限,很大程度上取决于开发者对业务本身的理解深度。
PS:上述所述超出边界情况偶尔也会内化进模型,这也是模型可观测性的一部分
至此,其RAG洋葱模型,从数据处理到模型生成主体便介绍完了,一般来说当功能处理结束,就又会回归到成本与性能话题,但性能到底在哪,如何优化,这里又得回到原始的设计哲学。
五、AI Min
当时比赛是2025年3月举行的,模型迭代还没这么快,但非常值得注意的是:在比赛中,Ilya的系统在开源模型和商用模型上都表现优异!
如Llama 3.3-70B几乎赶上OpenAI的GPT-4o-mini,甚至小型的Llama 8B也超过80%的参赛队伍。
这些结果表明,无需盲目追求更大规模的模型,只要优化好整个管道的各个环节,小模型也能取得接近最优的性能。
也就是拥有一个完整的验证集和可灵活配置的系统,这使得他能够客观量化每一次改进(如表格序列化)的实际效果,避免被直觉误导。这种数据驱动的迭代方法是工程化思维的核心体现。
说道这里就要回归我们的 AI Max 和 AI Min 的技术选型了,只要使用了AI Min 的技术架构,虽然系统复杂度会上升不是,但是整体可控性和对外依赖会大大增强。
回顾整个获胜方案,我们可以总结出几条构建生产级RAG系统的核心哲学:
大模型不是银弹,只有系统化的优化才能取得全局进步:胜利并非来自单一的技术突破,而是通过解析、检索、路由、生成等每一个环节的持续迭代和精细打磨。每一个环节的微小改进,累积起来就形成了压倒性的优势。
拦路虎是一个个卡点,每个细节都决定成败:从PDF解析的字体编码,到提示词中关于数值单位的明确指令,这些看似微不足道的细节,共同决定了系统的最终性能。Ilya的经历证明,在RAG系统中,那些最耗时、最不起眼的“脏活累活”,往往才是成功的关键。
架构是灵魂:一个优秀的RAG架构应该是可决策、可路由、可配置的。如同“洋葱模型”所揭示的,从基础管道演进到拥有智能路由和优化模块的高级架构,是系统能力跃迁的必经之路。冠军系统的架构设计体现了深厚的技术功底和前瞻性思考。
评估驱动迭代:拥有完整的验证集和可灵活配置的系统,能够客观量化每一次改进的实际效果,这是避免被直觉误导、实现持续优化的关键。
结语
Ilya 这篇关于RAG的文章,我是建议大家都读一读,非常接近我接触到的最复杂AI工程了。
他清晰展示了构建一流的RAG系统是一项复杂的工程,它要求我们不仅是调用API的工程师,更是深入业务的专家。
我认为文章最有用的是展示了一种AI架构的可控性:比起追求一个万能的超大模型,更值得做的是优化组合和稳定可控的路径,哪怕模型本身不完美,只要工作流(系统规则)上做足了功课,也能解决难题。
最后,RAG的魔力在细节里,希望本文对各位有所启发!
想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!
👇👇扫码免费领取全部内容👇👇
一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势
想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:
1. 100+本大模型方向电子书
2. 26 份行业研究报告:覆盖多领域实践与趋势
报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:
- 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
- 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
- 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
- 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。
3. 600+套技术大会 PPT:听行业大咖讲实战
PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:
- 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
- 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
- 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
- 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。
二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走
想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!
1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位
面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:
2. 102 道 AI 大模型真题:直击大模型核心考点
针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:
3. 97 道 LLMs 真题:聚焦大型语言模型高频问题
专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:
![]()
三、路线必明: AI 大模型学习路线图,1 张图理清核心内容
刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!
路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。
L1阶段:启航篇丨极速破界AI新时代
L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。
L2阶段:攻坚篇丨RAG开发实战工坊
L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3阶段:跃迁篇丨Agent智能体架构设计
L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。
L4阶段:精进篇丨模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
L5阶段:专题集丨特训篇 【录播课】
![]()
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份
不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:
👇👇扫码免费领取全部内容👇👇
2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!