每个快速发展的领域,都会像雨后春笋般冒出许多新概念。而这些新概念,背后往往藏着新方案;新方案的诞生,又源于真实世界冒出的新需求。

用AI的时候,最常见的就是模型加提示词,直接一问一答。但问题来了:如果光靠单轮对话,根本没法高效搞定复杂目标,该怎么办?
这时候,RAG和智能体就派上大用场了。它们不是替代模型,而是给模型装上“外设”和“大脑”。
RAG
RAG的全称是“检索增强生成”,技术上说,它是一种通过从外部记忆源检索相关信息,来增强模型生成能力的方法。
通俗点讲,就是在你手动输入提示词之外,系统还能自动拉取辅助数据——这些数据可以来自内部数据库、用户的聊天记录,甚至整个互联网。
“RAG”这个术语最早出现在2020年的论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中。论文的动机很直接:面对知识密集型任务,你不可能把所有已知知识一股脑塞进模型,于是检索+生成就成了最自然的解法。
那么,一套RAG系统是怎么运转的?
检索与生成
一个完整的RAG系统包含两大核心零件:检索器(retriever)和生成器(generator)。检索器负责从外部记忆源捞取相关信息,生成器则基于这些信息生成最终的响应。
可以说,RAG的成败,十有八九取决于检索器的质量。检索器要做两件事:索引和查询。索引是把原始数据整理成方便快速查找的格式;查询则是根据当前问题,找出最匹配的数据块。
举个例子:假设外部记忆源是一个文档数据库,可能只有10个token,也可能有100万个。如果直接拿整个文档去匹配,上下文长度会迅速膨胀到失控。所以通常的做法是把文档拆成更小的块(chunk),每个查询的目标就是找出与问题最相关的那几个块。
把这些检索到的块和用户输入拼在一起,组成最终的提示词,再丢给生成式模型——这就是一个最简的RAG工作流程。通过这种方式,只有真正有用的信息才会被提取并送入模型,既省token,又能帮模型生成更详细的回答,还能明显减少幻觉,提升整体表现。
智能体
业界有个共识:智能体是AI的终极形态。那智能体到底是什么?
早在90年代,Stuart Russell和Peter Norvig在经典著作《人工智能:一种现代方法》中,就把AI研究定义为“对理性智能体的研究与设计”。那时候这听着还是个遥不可及的宏大目标。今天,基础模型展现出的前所未有的能力,正在让这个目标一步步变成现实。
智能体,简单定义就是“任何能够感知环境并对环境施加影响的事物”。注意,它不是指某个具体的硬件,也不是某个特定的软件,而是一类程序的统称——这类程序能应对不同场景,解决不同问题。
是不是很像“人”?没错,面对一项任务,人怎么做,智能体就要怎么做:接收信息,规划动作,接收反馈,判断任务是否完成。说白了,它的职责就是替人干活,而且不用你手把手教、一步步跟。
既然如此,智能体就不能“两手空空”。它必须拥有做事的工具,还得具备一定的规划能力。
工具
单看模型本身,通常只能执行单一类型的动作——要么生成文本,要么生成图像。这种能力限制很致命。外部工具则能极大拓展智能体的能力边界。
常见的工具有三类:
- 知识增强:比如联网搜索。网页浏览是最早被集成到ChatGPT等聊天机器人中的功能之一,它防止模型信息过时,让你随时能拿到最新数据。
- 能力扩展:比如数学插件。众所周知,基于预测机制工作的AI在数学计算上表现不佳。但如果模型能调用计算器,那些算错数的问题就迎刃而解了。
- 写入动作:比如辅助编程。平时我们讨论AI,多半是在说信息读取和查询。但借助工具,模型也可以执行写入动作——在授权范围内修改数据源。这是一种更强大、也更能显著提效的能力。
规划
复杂任务通常离不开规划。有效的规划要求模型理解任务、考虑不同方案,并从中选出最好的。那么,你的系统就需要具备三种能力:生成计划,验证计划,执行计划。
规划的核心是搜索。你需要在不同路径之间搜寻,预测每条路径的结果,然后选择最有希望的那条。因此,搜索往往需要回溯——说白了,就是允许走回头路。假设你有A和B两个选择,先执行A后发现结果不理想,这时就得回到之前的状态,转而选择B。
问题来了:怎么知道A的结果不理想?这就要求系统不仅要了解可用的动作,还得知道每个动作可能产生的结果。模型的海量训练数据对此已提供了很大支撑,但仍难免出现不理想的情况。这时候,提示词优化和模型微调就成了补丁。
反思
即使计划再完美,也需要不断评估和调整,才能提升成功的概率。反思在任务执行的多个环节都很有用:收到查询后,评估请求是否可行;计划生成后,评估计划是否合理;每一步执行后,评估当前是否走在正确轨道上;整个计划执行完毕,判断任务是否真正完成。
反思和错误修正是相辅相成的两种机制:反思产生洞见,有助于发现需要纠正的错误。一旦智能体没能完成任务,你可以提示它进行反思,并给出改进思路——这就是“从错误中学习”。
记忆
记忆是指模型保留和利用信息的能力。如果你正跟AI进行多轮对话,它却做了后面忘了前面,那将是灾难性的。
记忆机制主要有三种:
- 内部知识:来自模型自身,除非模型更新,否则不会改变。
- 短期记忆:即模型的上下文。对话中的历史消息可以被添加到上下文中,供后续使用。
- 长期记忆:模型通过检索访问的外部数据源,例如RAG系统。
选择哪种机制,取决于数据的使用频率——这就涉及到记忆的管理策略。这和开发者熟知的“缓存”如出一辙。在需要处理大量数据的场景下,人们总会尽可能利用“记忆”来提升检索的质量和效率。
最简单的策略是FIFO(先进先出)。它假设早期的消息与当前讨论的相关性较低。但这条假设并不总是成立,尤其在长对话中,最早的消息往往包含着最关键的目标信息。这时候,就需要转而选择其他更合适的策略。
结语
总而言之,使用RAG和智能体确实会耗费不少时间和金钱,也有一定门槛。但正所谓“磨刀不误砍柴工”:如果做一点额外工作,就能显著增强模型的能力,让它自主运行,那么节省下来的人力时间,绝对物有所值。
权衡的艺术,又一次得到了体现。
