autonomous-agentic-rag
让 RAG 系统通过遗传演化算法自动优化检索与生成策略,模拟自然选择持续自我进化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 RAG 系统通过遗传演化算法自动优化检索与生成策略,模拟自然选择持续自我进化
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这个场景:你在医院部署了一套基于 RAG 的临床决策支持系统,测试集上效果惊艳,准确率高达 95%。然而真正上线后,真实患者数据的复杂性让系统频频翻车——罕见病历检索不到、最新FDA指南被忽略、伦理合规性评分极低。原因很简单:测试环境和生产环境的知识分布存在巨大差异,而人工调优的成本高到离谱。
这正是 FareedKhan-dev/autonomous-agentic-rag 要解决的核心问题。这个由独立开发者 Fareed Khan 构建的开源项目,提出了一个革命性的思路:与其手动调优 RAG,不如让系统自己学会进化。 它的核心理念是:将 RAG 系统的每一个设计决策(检索策略、Agent 协作方式、Prompt 工程等)视为高维向量空间中的一个维度,系统通过演化算法自动搜索最优组合。
Fareed Khan 是 Medium 上的 AI 写作者,专注于 LangChain/LangGraph 应用开发。这个项目诞生于 2025 年 11 月,源于他对现有 Agentic RAG 系统局限性的长期观察:大多数 RAG 方案一旦部署就是静态的,面对新数据分布、新任务类型只能重新人工调参。
他选了一个极具挑战性的垂直领域作为演示场景——医疗临床试验设计。这个场景的特点恰好能体现系统的所有难点:
内环是一个标准的 LangGraph 多 Agent 工作流,处理用户的具体请求。以「为 Sotagliflozin 药物的 II 期临床试验生成入排标准」为例,系统依次经过以下节点:
Planner Agent:接收高层请求,拆解为多个专家任务
检索专家 Agent:针对不同知识源(PubMed/FDA/Ethics/MIMIC)分别执行语义检索
患者队列分析师:生成并执行 SQL 查询,评估符合条件的目标患者数量
标准综合器:将所有专家输出合成为最终的入排标准文档
这个流程由 LangGraph StateGraph 编排,支持节点间状态共享和条件跳转。每个 Agent 默认由 Ollama 本地模型驱动(默认使用 llama3),也可以接入 OpenAI 等云端 API。
外环是整个系统的灵魂。它模拟自然选择的逻辑,对内环生成的 SOP(标准操作流程)进行迭代优化:
多维评估器:对内环输出在 5 个维度打分(0~1),得到一个性能向量
诊断 Agent:分析性能向量,识别最薄弱环节,并进行根因分析
SOP 架构师 Agent:根据诊断建议,生成 3-5 个新的 SOP 变体(基因突变)
帕累托前沿分析:在所有历史 SOP 中识别非劣解,展示最优权衡组合
整个过程循环迭代,每一次迭代都让系统更适应特定数据集的特点,最终收敛到一组 Pareto 最优 SOP 供人类决策者参考。
| 组件 | 技术选型 | 作用 |
|---|---|---|
| Agent 框架 | LangGraph (StateGraph) | 多 Agent 协作流程编排 |
| 本地 LLM | Ollama + Llama3/Mistral | Agent 推理引擎 |
| 向量检索 | FAISS | 高性能相似度检索 |
| 结构化数据 | DuckDB | MIMIC-III 临床数据 SQL 查询 |
| 文献获取 | Bio.Entrez (PubMed) + pypdf (FDA) | 多源知识采集 |
| 嵌入模型 | Ollama Embeddings (nomic-embed-text) | 文档语义向量化 |
| 评估框架 | LangSmith + Pydantic | LLM-as-Judge 评估 |
| 可视化 | Matplotlib | Pareto 前沿可视化 |
项目完全基于开源组件构建,不依赖任何商业 API,数据全程本地处理,隐私友好。
这个项目代表了 RAG 领域的一个重要趋势——从手工调优走向自动化适应。传统的 RAG 系统像一条固定的生产线,一旦建好就难以调整;而 self-improving RAG 则像一个有学习能力的工厂,能够根据产出的质量反馈自动调整生产流程。
从 GitHub 数据来看,该项目 2025 年 11 月发布,到 2026 年 7 月已积累 210 stars,说明社区对自适应 RAG 这一方向有较强的关注度。虽然目前实现较为学术化,但其中的演化优化思想、双环架构设计值得 AI 工程师深入研究。
如果你是 AI 开发者,建议重点关注项目中的 SOPGenePool、Diagnosis、identify_pareto_front 等核心实现——这些代码可以独立抽取出来,作为你自己的 Agent 评估框架的基石。