AI赋能RAG:在快马平台探索智能检索与提示词优化策略
最近在做一个知识库问答项目接触到了RAG检索增强生成技术。简单来说RAG就是先从一个庞大的知识库中检索出与问题相关的信息再把这些信息作为上下文喂给大语言模型让它生成更准确、更可靠的答案。这比直接让模型“凭空想象”要好得多。但在实际动手搭建RAG系统时我发现了一些可以优化的点。比如检索出来的文档片段可能很多质量参差不齐一股脑全塞给模型反而可能干扰它。又比如如何把检索结果和问题组织成一个清晰、高效的提示词Prompt也是一门学问。这些“调优”工作往往需要反复手动尝试费时费力。于是我萌生了一个想法能不能用AI来辅助优化RAG流程本身呢比如让一个AI模型帮我筛选最相关的文档让另一个AI模型帮我润色提示词。说干就干我决定在InsCode(快马)平台上快速搭建一个演示应用来验证这个思路。搭建基础RAG问答骨架首先我需要一个能跑起来的基础RAG。我选择了一个小型的“机器学习常见问题”知识库作为数据源。核心流程很清晰用户提问 - 将问题转换为向量 - 在向量数据库中搜索相似文档片段 - 将检索到的片段和问题拼接成提示词 - 调用大模型生成答案。这一步是地基必须稳固。在快马平台内置的编辑器中我很快写好了文档加载、文本分割、向量化存储和基础检索的代码。平台环境开箱即用省去了配环境的麻烦。引入AI优化层相关性重排序基础检索可能返回5-10个文档片段。传统方法是按相似度分数直接取前几名。但相似度高不一定代表对回答问题最有用。我的优化思路是在初步检索后引入一个“裁判”AI模型。这个“裁判”的任务是仔细阅读用户问题和所有候选文档然后根据“哪个片段最能直接、有效地回答问题”这个标准对它们进行重新打分和排序。这样排在最前面的就是经过AI智能判断后最相关的信息。这一步相当于增加了一个精炼和聚焦的环节。引入AI优化层提示词润色拿到了精炼后的文档接下来就是组合提示词了。一个典型的提示词可能像这样“根据以下上下文{文档}请回答这个问题{问题}”。这个模板虽然能用但可能不够好。比如上下文太长怎么办多个文档之间有矛盾怎么处理我的第二个优化点是让另一个AI模型可以和重排序是同一个也可以是不同的来润色这个最终的提示词。它的任务可能是总结上下文的关键点、明确指令、甚至根据问题类型调整提示词的风格例如对于定义类问题要求回答简洁对于分析类问题要求回答详尽。目标是让提交给最终答案生成模型的提示词质量更高。构建对比展示界面为了直观地看到优化效果我设计了一个简单的Web界面。界面并排显示两个区域“优化前流程”和“优化后流程”。在“优化前”区域展示基础检索返回的所有原始片段、未经润色的基础提示词、以及最终生成的答案。在“优化后”区域则展示经过AI重排序后的Top片段、经过AI润色后的新提示词、以及用新提示词生成的答案。用户可以一目了然地比较两者的差异感受AI辅助带来的改进。模块化设计与策略调整为了让这个演示应用更具扩展性我把代码设计成了几个独立的模块检索模块、重排序优化器模块、提示词优化器模块、生成模块和展示模块。每个模块之间通过清晰的接口连接。这样一来如果想尝试不同的重排序模型比如从Kimi换成DeepSeek或者换一种提示词润色策略只需要替换对应的模块即可非常灵活。这也体现了在快马平台上做原型验证的优势——快速迭代想法能马上看到效果。通过这个项目的实践我深刻体会到RAG不是一个“一蹴而就”的管道而是一个可以不断注入智能的流程。AI不仅能作为最终的答案生成器更能作为流程中的“优化师”和“调度员”让整个系统的表现更上一层楼。这种“用AI优化AI应用”的思路为开发更智能、更可靠的问答系统打开了新的大门。整个探索过程我都是在InsCode(快马)平台上完成的。最让我省心的是当我完成这个带有Web界面的演示应用后不需要去折腾服务器、域名或者复杂的部署配置。平台提供了一键部署的功能点一下就能生成一个可公开访问的链接直接把我的成果分享给别人看。这种从编码到上线的无缝体验对于快速验证想法、进行技术分享来说实在是太方便了。对于想尝试RAG或者AI应用开发的朋友这种能快速看到网页效果、即时分享的体验会大大降低学习和演示的门槛。