从 RAG 到 Agent:我在 PaperPilot 中引入智能体的完整实践
一、为什么要从 RAG 升级到 AgentPaperPilot 是一个基于 RAG检索增强生成架构的 AI 文献助手核心功能是帮用户检索文献、管理引用、生成开题报告。在之前的版本中我已经实现并优化了三种检索策略向量检索、混合检索、重排序回答质量有了明显提升。但在实际使用中我发现传统 RAG 有一个绕不过去的瓶颈它只会”检索—生成”这一条固定流水线。举个真实场景用户问”帮我对比一下近三年 Transformer 在医学影像方向的研究进展并给出值得投稿的方向建议”。传统 RAG 的做法是——把整句话拿去检索一次召回几篇文献然后让大模型基于这些文献生成回答。问题显而易见1.不会拆解任务这个问题其实包含”检索文献→筛选近三年→按方法分类→对比分析→给出建议”多个步骤单次检索根本覆盖不了2.不会自我修正检索结果不理想时它不会换关键词重试而是”将错就错”地硬答3.不会使用工具查不到的信息不会调用外部搜索算不了的引用格式不会调用格式化工具。于是我把 PaperPilot 升级到了 Agentic RAG——在 RAG 之上引入 Agent智能体让系统具备规划、工具调用、反思的能力。这篇文章记录完整的改造思路与实现过程。二、Agentic RAG 是什么和普通 RAG 有什么区别先用一句话区分•传统 RAG一条直线。Query → 检索 → 拼接 Prompt → LLM 生成 → 输出。•Agentic RAG一个循环。LLM 作为”大脑”自主决定什么时候检索、检索什么、用哪个工具、结果够不够好、要不要再查一轮。核心差异在于 Agent 引入了三个能力模块能力 说明 在 PaperPilot 中的作用Planning规划 把复杂问题拆解为子任务 把”对比研究进展”拆成多次定向检索Tool Use工具调用 自主调用外部工具 文献检索、网页搜索、引用格式化、笔记读写Reflection反思 评估中间结果质量并自我修正 召回文献不相关时自动改写查询重试业界常见的实现框架有 ReActReasoning Acting、Plan-and-Execute 等。PaperPilot 采用的是 ReAct 模式模型在每一轮输出”思考Thought→ 动作Action→ 观察Observation“循环直到得出最终答案。这个模式实现最简单、可控性强适合文献助手这种工具链明确的场景。三、PaperPilot 的 Agent 架构设计整体架构分为四层用户提问│▼┌─────────────────────────────┐│ Agent 核心LLM ReAct 循环│ ← 大脑推理与决策├─────────────────────────────┤│ 规划模块 │ 记忆模块 │ 反思模块 │ ← 能力组件├─────────────────────────────┤│ 工具层 Tools ││ · 文献向量检索原有 RAG ││ · 混合检索 Rerank ││ · 联网搜索 ││ · 引用格式生成器GB/T 7714 ││ · 用户文献库读写 │├─────────────────────────────┤│ 数据层向量数据库 文献元数据库 │└─────────────────────────────┘几个关键设计决策原有 RAG 检索不废弃而是降级为”工具”。 之前优化的三种检索策略向量、混合、Rerank全部封装成 Tool由 Agent 按需调用。这保证了检索质量的投资不浪费Agent 只是在其上做调度。引入短期记忆 长期记忆。 短期记忆保存当前会话的 ReAct 循环历史Thought/Action/Observation长期记忆记录用户的文献库、研究方向偏好让 Agent 的回答越来越”懂”这个用户。反思机制兜底质量。 每轮工具返回后Agent 会先自评“这些文献和问题的相关度够吗覆盖了几个子问题”不够就改写查询再来一轮设置最大循环次数防止死循环。四、核心代码实现精简版以下是 Agent 主循环的伪代码级实现实际开发中基于云函数/后端服务运行TOOLS {“literature_search”: vector_hybrid_search, # 文献混合检索Rerank“web_search”: web_search_api, # 联网搜索“format_citation”: gbt7714_formatter, # 引用格式化“library_read”: read_user_library, # 读用户文献库}REACT_PROMPT “”你是文献研究助手。可用工具{tool_desc}按如下格式循环作答Thought: 当前需要做什么Action: 工具名Action Input: 工具参数系统返回 Observation 后继续当信息足够时输出Final Answer: 最终答案问题{question}“”def agent_run(question, max_steps8):context REACT_PROMPT.format(…)for step in range(max_steps):output llm.generate(context)thought, action, action_input parse(output)if action “Final Answer”:return action_inputobservation TOOLSaction# 反思让模型评估观察结果质量context f\nThought: {thought}\nAction: {action}\ncontext fAction Input: {action_input}\ncontext fObservation: {observation}\nreturn “达到最大步数基于现有信息给出答案…”关键点就三个1.工具描述写清楚模型才知道什么时候该调哪个工具2.解析要鲁棒LLM 输出格式偶尔会跑偏需要正则兜底和格式纠正重试3.限制最大步数成本控制的第一道闸门Agent 的 Token 消耗通常是普通 RAG 的 3~5 倍。五、实测效果对比以”对比近三年 Transformer 在医学影像分割方向的研究进展并给出投稿方向建议”为例维度传统 RAGAgentic RAG检索次数1 次平均 3~5 次按子问题拆分召回文献相关性一般常混入无关年份/方向高每轮检索针对性强回答结构单段综述分方向对比 趋势分析 方向建议错误自我修正无检索结果差时自动换词重试响应耗时~3s10~15sToken 成本1x3~5x结论很现实Agent 换来的是质的提升付出的是时延和成本。所以 PaperPilot 里做了路由策略——简单问题“帮我格式化这篇引用”走单工具直调复杂问题综述、对比、规划类才走完整 Agent 循环。六、踩坑记录1.死循环问题模型会在”反思不通过→重试→又不通过”里打转。解法是最大步数 反思判定阈值放宽比如相关度评分 ≥0.7 就放行。2.工具选择混乱工具一多超过 5~6 个模型容易选错。解法是给每个工具写清楚”什么时候用我”并在 Prompt 里给出 1~2 个 few-shot 示例。3.成本失控初期每轮都把全部历史塞进 PromptToken 爆炸。解法是对 Observation 做摘要压缩只保留结论性内容。4.解析失败LLM 不严格按格式输出。解法是用 JSON mode / function calling如果模型支持替代纯文本 ReAct稳定性大幅提升——这也是我下一步的优化方向。七、总结与下一步引入 Agent 后PaperPilot 从”一个会查文献的问答机器人”进化成了”一个会拆解任务、自我修正的研究助理”。整个改造的核心收益在于•复杂问题的回答质量显著提升•原有 RAG 检索能力被完整复用改造成本可控•架构具备良好的扩展性——后续加新工具翻译、图表解析、开题报告生成只需要注册一个 Tool。下一步计划1.将 ReAct 文本协议迁移到 Function Calling提升稳定性2.引入 多 Agent 协作检索 Agent、写作 Agent、审校 Agent 分工3.针对文献场景微调路由模型进一步压低成本。

相关新闻

Unity Shader实现2D游戏天空日夜循环:从渐变到星辰的动态环境

Unity Shader实现2D游戏天空日夜循环:从渐变到星辰的动态环境

1. 项目概述:为什么要在2D游戏里做日夜循环?做2D游戏,尤其是像素风、手绘风或者横版卷轴游戏的时候,我们总想让世界“活”起来。静态的背景图看久了难免单调,而一个能随时间流逝、从晨曦微露到繁星满天的动态天空&…

2026/7/29 1:30:53 阅读更多 →
3D打印机喷头加热器故障诊断与更换实战指南

3D打印机喷头加热器故障诊断与更换实战指南

1. 项目缘起:当你的3D打印机“发烧”了最近工作室里那台老伙计——OverLord Pro 3D打印机,开始闹脾气了。打印到一半,喷头温度突然像过山车一样往下掉,从设定的210C瞬间跌到180C,紧接着挤出机就“咔咔”地空转&#xf…

2026/7/29 1:30:53 阅读更多 →
展厅讲解最怕冷场:我用魔珐星云把 Agent 做成能接待的可实时交互的“人”

展厅讲解最怕冷场:我用魔珐星云把 Agent 做成能接待的可实时交互的“人”

文章目录一、展厅里的 Agent,不能只会生成讲解稿1.1 参观者站在屏幕前,需要的是一场对话二、从能力拼接到体验断层:传统数字人方案的系统性瓶颈2.1 LLM、TTS 与渲染链路之间的协同断点2.2 从预制播报到实时交互的能力分界2.3 参数流与端侧技术…

2026/7/29 1:30:53 阅读更多 →

最新新闻

计算机毕业设计之基于springboot的地方美食分享系统

计算机毕业设计之基于springboot的地方美食分享系统

当前,由于人们生活水平的提高和思想观念的改变,然后随着经济全球化的背景之下,互联网技术将进一步提高社会综合发展的效率和速度,互联网技术也会涉及到各个领域,于是传统的管理方式对时间、地点的限制太多,…

2026/7/29 1:39:56 阅读更多 →
rag学习

rag学习

RAG的基本流程分片主要用于把一篇文档,切分为多个部分可以按字数分,段落分,章节分,页数分等等。向量数据库1.通过Embedding的方式,把分片出来的各段文本转换为向量2.把片段文本对应的向量存入向量数据库中Embedding方式…

2026/7/29 1:39:56 阅读更多 →
Java 并发编程:线程安全队列全解 —— 阻塞与非阻塞实现原理及源码深度剖析

Java 并发编程:线程安全队列全解 —— 阻塞与非阻塞实现原理及源码深度剖析

在 Java 并发编程体系中,线程安全队列是实现生产者 - 消费者模式、任务分发、流量缓冲、线程解耦的核心组件,也是 java.util.concurrent(JUC)包的核心基石。根据实现机制的不同,线程安全队列可分为两大流派&#xff1a…

2026/7/29 1:39:56 阅读更多 →
为什么92%的AI电商设计项目失败?——3大认知陷阱与48小时急救修复方案

为什么92%的AI电商设计项目失败?——3大认知陷阱与48小时急救修复方案

更多请点击: https://kaifayun.com 第一章:为什么92%的AI电商设计项目失败?——3大认知陷阱与48小时急救修复方案 行业调研数据显示,近一年内启动的AI电商设计项目中,高达92%未能交付预期商业价值。失败主因并非技术…

2026/7/29 1:39:56 阅读更多 →
【年度总结】用了半年AI Agent,这10条经验让我从怀疑到离不开——附完整工具链

【年度总结】用了半年AI Agent,这10条经验让我从怀疑到离不开——附完整工具链

文章目录 写在前面 系列写了11篇,从CRUD框架到MCP协议到Redis到RabbitMQ到Elasticsearch到Prometheus,每篇都是一个技术点的深度拆解。今天换个视角——不聊具体代码,聊这半年踩出来的10条核心经验。 如果你刚开始用AI Agent,或者…

2026/7/29 1:39:56 阅读更多 →
# 鸿蒙 HarmonyOS 应用开发实战(第26期)|石头剪刀布(Rock-Paper-Scissors)— 游戏逻辑与胜负判定精讲

# 鸿蒙 HarmonyOS 应用开发实战(第26期)|石头剪刀布(Rock-Paper-Scissors)— 游戏逻辑与胜负判定精讲

一、应用概述 石头剪刀布(Rock-Paper-Scissors) 是一款经典的人机对战游戏,用户与电脑进行石头剪刀布对决。应用提供了直观的图形化选择按钮(✊✌️🖐️),玩家点击选择后,电脑随机出…

2026/7/29 1:38:56 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻