什么是Agentic #RAG# ?作为AI工程师,为什么你得搞明白它?
简单的RAG系统,在现实里几乎用不上。我们一般都会给RAG系统加点“代理”能力,也就是让它能自己做点决策,不过最好还是越简单越好。
其实,没有哪个“万能模板”能告诉你,怎么扩展RAG系统才能刚好解决你公司的具体问题,这活儿得自己琢磨、自己改。
想搞懂 #Agentic RAG# ,得先明白它里面都有哪些“关键环节”,咱们来简单聊聊:
先分析用户的提问:我们会把用户的原始问题给基于大语言模型的代理,让它帮忙分析。这里有几个事儿:
➡️ 可能会对原始问题进行重写,甚至重写好几次,变成一个或者多个适合后续流程的查询。
➡️ 代理会判断,这个问题需不需要调用额外的数据源。
要是需要额外数据,那就启动检索环节。Agentic RAG这边,可能有一个或者多个代理帮忙决定去哪儿找数据,举几个例子:
➡️ 实时的用户数据,比如用户现在的地理位置,挺酷的吧。
➡️ 用户感兴趣的公司内部文档。
➡️ 网上公开的数据。
➡️ 还有别的各种可能……
把检索回来的数据收集起来,再用比普通向量嵌入器更强的模型重新挑选一遍,直接把数据量缩得小小的。
如果不需要多余的数据,我们就直接让大语言模型生出答案(可能是一个答案,也可能是多个答案,或者干脆是一堆动作指令)。
接着,对生成的答案做分析、总结,判断对不对,合不合适:
➡️ 代理觉得答案够好了,直接给用户。
➡️ 觉得答案还能改进,那就重新写用户提问,继续循环这个过程(循环次数一般会限定,别无限转圈)。
我真实的感受是:
✅ 能简化就简化,绝大部分场景其实用不上那么复杂的流程。
✅ 数据预处理和重新排序这两个步骤最关键,90%以上的需求都靠它俩就够了。
❗ 真正在大企业里玩Agentic系统,那是远超RAG的。尤其有意思的是,越来越不是单纯答问,而是把人工意图分类后,自动帮你去执行操作。这个部分我后面会写更多。
