最近到处有人在说 agentic RAG。
简单说,就是让模型自己去查。看完查回来的结果,再决定下一步查什么。
这词这两个月被讲得太密,我拿一篇论文当标本,讲一遍。
ClinAgent,半个月前挂上 arXiv,CIBB 2026 收了。做的是让临床医生和研究人员用自然语言查临床试验信息。编号我不记,搜 ClinAgent 能找到。
普通 RAG 是先替你找好资料,塞进上下文,让模型答。agentic 加在前面,等于把"找"这一步也交出去了。
我本来没打算收这条,临床那块离大多数人太远。但这篇的骨架值得拎出来讲一次。
它只给 agent 配了三件工具
一件是临床试验的检索接口。一件是 PubMed 模块。还有一件是 Python 分析器,跑在本地缓存的一份临床试验数据集上。
就这三件。
一个 agent 能不能把一件活干完,很多时候不取决于它脑子里那个模型有多聪明,取决于它手里的工具有没有边界。
三件工具,每一件都能被调用,有返回值,结果能被核对。有边界就是这个意思。
三件工具,分三个类别
检索接口管原始数据。PubMed 管文献背景。Python 分析器管算。
检索一类,背景一类,计算一类。这三类基本能覆盖任何一种调研型的活。换到别的领域,工具得换,分类不变。
顺带说一句缓存。那件分析器跑在本地缓存的数据集上,不是每次现去拉。我猜是为了让每次跑出来的结果稳定、可复现。论文里没细讲,属于我的猜测,先标出来。
它的下一步,看上一步返回了什么
论文里说这个 agent 走 ReAct 那一套。对着查询反复推理,从工具集里挑一件,看完中间输出再调整后续动作。
这是它跟一问一答最实在的区别。前一步返回的东西,直接改变后一步去调哪件工具。
假设你问的是一类药在一类人群里的试验进展。它可能先去检索接口拿回一批,发现字段不够,转去 PubMed 补背景,最后把一批试验数据丢给分析器算个分布。
这个例子是我编的,论文里没这么写,但流程大致是这个形状。
还有一点,论文里说这是多轮交互。多轮的意思不只是能接着问,是前面几轮问过什么得留在它能看见的地方。你要让它干一长串的活,中间那些信息不能掉出去。
工具不是越多越好
我见过有人给 agent 挂上十几个接口,然后指望模型自己挑。
挑错的机会也跟着变多。
三件够用的工具,配一个会看结果再决定下一步的循环,比一堆接口堆在那儿靠谱。这篇论文能讲清楚,有一部分原因就是它只配了三件。
规划最好的那个,整体不是第一
评估部分比了三个后端。Gemini 3.0 Flash,DeepSeek V3.2 的思考模式,还有 DeepSeek V3.2 的非思考模式。
结果两句话能说完。DeepSeek 的思考模式规划质量最好。Gemini 整体性能最高,专家打分也最高。
这两句放一起看,比单看任何一句都说明问题。规划那步想得最对的那个,最后没拿整体第一。中间隔着工具那一段。
瓶颈不在一个地方。换模型不一定能救,换工具也不一定能救。
还有一个附带发现。同一个模型,思考模式和非思考模式,在规划质量上差出来了。多花的那点推理时间,在多步骤任务里是实打实的。
评估我没全吃透
老实说,这篇的三阶段评估框架我只看懂一半。
它从运行有效性、规划质量、工具使用效率,还有专家定性判断这几个角度去评。前几项具体怎么折算成数字、每项占多少,我没吃透。先放在这里,等我搞明白再补一句。
有一处我觉得挺对。它专门留了一项专家定性判断。有些东西算不出数,就该让人来说。这比硬凑一个总分诚实。
回到你自己手里的活
不用去看生物医学。回头翻你自己手里的事。
有没有那种要跑三四个地方取数、每次都得手动拼起来、拼完还要再核对一遍的活。
那就是该配 agent 的地方。三四个来源,正好对应三到四件工具。
别一上来想全自动。先给它两件工具,把范围划小,看它能不能自己跑完一轮。跑不完,多半不是模型的锅,是工具没切干净。
范围窄不是缺点。这篇论文能被评估清楚,就是因为它的范围窄到能评估。
这条我犹豫过要不要收
临床这个领域我懂得不多。收它的理由只有一个,agentic RAG 这阵子被讲得太密,得有个白话版放在这里。
上面有任何一条你试过,或者觉得我讲错了,欢迎告诉我。讲错的我补,没讲清的我改。
本周就这些。下周见。
