大型语言模型 (LLMs) 革新了我们获取和理解信息的方式。这些先进的 AI 系统经过大量数据的训练,使它们能够识别语言中的模式和意义。通过理解上下文中的单词,它们使探索想法、学习新事物和快速高效地找到答案变得更加容易。 LLM 正在塑造我们日常生活中与信息互动和使用的新时代。
早期的传统 LLM 完全依赖于其静态训练数据中提供的知识。这一局限性常常导致幻觉,即模型由于数据过时或不完整而生成不正确或虚构的信息。认识到这些问题后,提出了检索增强生成 (RAG) 的概念。
# 检索增强生成 (RAG)
检索增强生成 (RAG) (opens new window) 的理念是为 LLM 提供一个可靠的数据库,以提高其响应质量。RAG 使 LLM 能够通过使用 向量数据库 (opens new window)(如 MyScale (opens new window))作为知识库,访问实时数据,而不仅仅依赖于它们在训练期间学习的信息。
如上图所示,查询过程分为两个部分,即 检索 (opens new window) 和 生成: (opens new window)
检索:模型在外部 知识库 中搜索相关文档。它将用户的查询转换为向量,并与存储的数据进行比较。最相似的文档被检索并根据与查询的相关性进行排名,确保模型提取准确和最新的信息。
生成:在检索到相关文档后,模型使用检索到的信息和其预训练知识来创建响应。它将新找到的数据与已知信息结合,生成一个在上下文上准确且与用户问题相关的答案。
毫无疑问,RAG 提高了响应的准确性和质量。然而,它的管道以静态方式运行。每当用户发出查询时,都会遵循相同的过程:从向量数据库中检索相关信息并提供给 LLM 以生成响应。这种一致性确保了可靠性,但限制了系统在特定上下文或场景中动态适应的能力。
为了克服 RAG 静态管道的局限性,提出了新的方法,如 ReACT (推理与行动) (opens new window) 和 Agentic (opens new window)。这些工具通过增加以下内容帮助系统更好地响应用户查询:
- 推理
- 决策
- 任务执行
它们是像Agentic RAG 这样的高级系统的构建块,将逻辑思维与简单行动结合在一起,使事情更加准确和灵活。
# 什么是 ReACT
ReACT,即“推理与行动”,是 LLM 工作方式的突破。与传统模型快速给出答案不同,ReACT 帮助 AI 逐步思考问题。这种称为链式思维 (CoT) 的方法使模型能够更有效地解决复杂任务。
在 2022 年的一篇研究论文中,Yao 和团队展示了将推理与行动结合如何使 AI 更聪明。传统模型在处理复杂问题时常常遇到困难,但 ReACT 改变了这一点。它帮助 AI 暂停、批判性思考并提出更好的解决方案。
关键的区别在于解决问题的方法。ReACT 驱动的模型不是急于给出答案,而是系统地分解挑战。这使它们在处理现实世界问题时更加适应和可靠。
通过教导 AI 在行动之前进行推理,ReACT 正在推动人工智能的边界。它不仅仅是拥有信息——而是智能地使用这些信息。
# ReACT 如何工作
ReACT 通过将系统化的推理过程与可操作的步骤相结合,增强了 LLM 的能力。该框架通过以下阶段运作:
查询分析: 模型首先将用户的查询分解为可管理的组件。
链式思维推理: LLM 逐步推理,分析每个组件并确定所需的行动。例如,它可能会检索信息、交叉检查数据或逻辑地结合多个来源。
行动执行: 根据推理,模型采取行动,例如与外部工具交互、检索特定数据或在新信息可用时重新评估查询。
迭代改进: ReACT 可以在执行步骤的过程中细化其推理,动态调整基于中间结果。
这种逐步推理类似于人类解决复杂问题的方式,确保最终响应经过深思熟虑且与上下文相关。例如,如果查询问“ReACT 和Agentic之间的关键区别是什么?”模型首先识别组件(例如,定义 ReACT、定义Agentic),然后依次推理,最后综合出完整的答案。
# 什么是 Agent
虽然 ReACT 专注于 LLM 内部的推理,Agent则承担在模型外部执行特定任务的角色。Agent 是自主实体,根据 LLM 提供的指令行动,使系统能够与外部工具、API、数据库互动,甚至执行复杂的多步骤工作流。
# Agent 如何工作
- 任务识别: LLM 通常在 ReACT 推理的指导下,确定给定任务所需的 Agent。例如,关于最近天气状况的查询可能会激活一个 数据检索 Agent 来获取实时天气更新。
- 执行: 选定的 Agent 执行任务。这可能涉及查询数据库、抓取网页内容、调用 API 或执行计算。
- 反馈循环: 一旦任务完成,Agent 将结果返回给 LLM 以进行进一步推理或响应生成。
- 链式多个 Agent: 在更复杂的场景中,可以按顺序协调多个 Agent。例如,一个 Agent 检索原始数据,另一个 Agent 处理数据,第三个 Agent 可视化或格式化最终输出。
# Agent 与模块化
Agent 在设计上是模块化的,这意味着它们可以根据不同的应用进行定制。示例包括:
- 检索 Agent: 从向量数据库或知识图谱中获取数据。
- 摘要 Agent: 将检索到的信息浓缩为要点。
- 计算 Agent: 处理需要计算或数据转换的任务。
- API 交互 Agent: 与外部服务集成以获取实时更新。
这种模块化方法允许灵活性和可扩展性,因为可以添加新的 Agent 以满足特定需求。
# 什么是 Agentic RAG
Agentic RAG 将 ReACT 的推理能力与 Agent 的任务执行能力相结合,创建一个动态和自适应的系统。与遵循固定管道的传统 RAG 不同,Agentic RAG 通过使用 ReACT 根据用户查询的上下文动态协调 Agent,引入了灵活性。这使得系统不仅能够检索和生成信息,还能够根据上下文、不断变化的目标和与之互动的数据采取明智的行动。
这些进步使 Agentic RAG 成为一个更强大和灵活的框架。模型不再仅限于被动响应用户查询;相反,它可以主动规划、执行并调整其方法以独立解决问题。这使得系统能够处理更复杂的任务,动态适应新挑战,并提供更具上下文相关性的响应。
# Agentic RAG 如何工作
Agentic RAG 的关键创新在于其能够自主使用工具、做出决策并规划下一步。管道遵循以下核心阶段:
- 用户查询提交:
- 该过程始于用户向系统提交查询。此查询作为管道的触发器。
- 从向量数据库中检索数据:
- 一个 Agent 在 向量数据库 中搜索,文档以嵌入的形式存储,确保高效快速地检索相关信息。
- 如果检索到的数据不足,Agentic会细化查询并进行额外的检索尝试,以提取更好的结果。
- 使用功能工具进行外部数据获取:
- 如果 向量数据库 缺乏必要的信息,Agent 使用 功能工具 从外部来源(如 API、网络搜索引擎或专有数据流)收集实时数据。这确保系统提供最新和上下文相关的信息。
- 大型语言模型 (LLM) 响应生成:
- 检索到的数据传递给 LLM,它综合这些数据生成针对查询的详细、上下文感知的响应。
- Agent 驱动的改进:
- 在 LLM 生成响应后,Agentic进一步细化以确保准确性、相关性和连贯性,然后将其交付给用户。
# 比较:Agentic RAG 与 RAG
以下是比较表。
特征 | RAG (检索增强生成) | Agentic RAG |
---|---|---|
任务处理 | 在生成响应之前从外部来源(例如数据库、文档)检索相关信息。 | 通过添加 推理 和 行动 能力扩展 RAG,使其能够主动与环境互动并进行反馈学习。 |
环境互动 | 从外部来源检索数据。 | 主动与外部环境(API、数据源)互动,并根据反馈进行调整。 |
推理 | 没有明确的推理;依赖检索提供上下文。 | 明确的推理轨迹指导决策和任务完成。 |
反馈循环 | 不包含学习的反馈循环。 | 包含来自环境的反馈,以细化推理和行动。 |
自主性 | 被动;系统仅在检索数据后响应。 | 在推理和行动中具有主动自主性,动态做出决策和学习。 |
用例 | 适合需要上下文检索的任务(例如,问答)。 | 适合需要推理和与外部系统互动的任务(例如,决策、规划)。 |
# 结论
总之,Agentic RAG 代表了人工智能领域的重大进步。通过将大型语言模型的能力与自主推理和信息检索的能力相结合,Agentic RAG 提供了新的智能和适应性水平。随着 AI 的不断发展,Agentic RAG 将在各个行业中发挥越来越重要的作用,改变我们与技术的工作和互动方式。
要充分实现Agentic AI 的潜力,像 MyScale 向量数据库 (opens new window) 这样的强大而高效的向量数据库至关重要,它主要旨在满足大规模 AI 应用的苛刻需求。凭借其先进的索引技术和优化的查询处理能力,MyScale 使 Agentic RAG 系统能够快速检索相关信息并生成高质量的响应。利用 MyScale 的力量可以释放Agentic AI 的全部潜力并推动创新。