引言
学习是一个持续的过程,无论是对于人类还是人工智能模型。然而,一个经常出现的问题是,这些人工智能模型能否像人类一样自主学习?根据最近的发展,它们可以。为了更好地理解这一点,让我们回顾一下计算机科学领域的学习过程。掌握 C++、Java 和 Python 等语言需要理解语法、语义、实际应用和问题解决。为了牢固掌握这些语言,我们不断地练习或接受训练。此外,我们还从同学和教授那里学到了很多。同样地,大型语言模型(LLMs)也可以从自己的思考、专业知识和其他媒介中学习。
然而,对于人类和大型语言模型来说,获得专业知识或成为某个领域的专家是一项相当艰难的旅程。我们了解人类的学习过程和推理能力,以及如何做出决策和完成任务,但 LLM 的训练过程是什么样的呢?
LLM 的训练通常包括以下步骤:
- 预训练:在这个步骤中,帮助模型学习模式,例如语法、句子结构和词与概念之间的关系。
- 指令微调(Instruction Tuning):使用包含指令和期望响应示例的精选数据集来微调模型。
- 带有人类反馈的强化学习(RLHF):人类评估者对模型响应进行排名,这进一步用于提高模型与用户期望的匹配度。
但这听起来有道理吗?如果我们构建一个具有代理工作流程,使模型在独立进行检查的同时学习和输出结果,会怎样呢?这就像拥有一个可以独立完成所有工作的个人助理。在这篇文章中,我们将讨论 4 种代理 AI 设计模式,用于构建更自主的 AI 系统。
概述
本文讨论了 AI 模型,特别是大型语言模型(LLMs)如 GPT,如何通过采用类似人类迭代问题解决的代理工作流程来自主学习。代理工作流程通过逐步细化任务来提高 AI 性能,类似于人类反复审查和改进他们的工作以获得更好的结果。文章介绍了四种关键代理设计模式——反思、工具使用、规划和多代理协作——作为使 AI 系统更加自主和有能力的策略。
什么是代理设计模式?
代理设计模式被引入作为使 LLMs 更加自主的解决方案。与其只给模型一个提示并期望得到一个最终答案(比如一次性写一篇论文),代理式方法涉及多次、分步骤地提示 LLM。每一步都细化任务,模型通过迭代改进其输出。
当我们以零样本模式提示 LLM 时,就像要求某人一次性写一个故事而不进行修改。LLMs 在这方面做得很好,但它们可以做得更好。通过使用代理式工作流程,我们可以分步骤多次提示 LLM。每一步都建立在上一步的基础上,细化响应。想象一下,要求 LLM 多次审阅论文,并在每次通过中改进它。
通过每一步,我的意思是:
- 制定大纲:将任务分解成更小的模块或函数。
- 收集信息:研究库、算法或现有解决方案。如有必要,进行网络搜索或检查文档。
- 编写初稿:实现基本功能,重点在结构而非完美。
- 审查代码:检查不必要的代码、错误或逻辑缺陷。
- 修改代码:重构、优化或添加注释以提高清晰度。
- 重复迭代:直到代码高效且干净。
通过允许模型独立完成这些步骤,代理设计模式增强了类似人类的推理和效率。这类似于人类如何分解复杂任务、收集信息、进行改进并迭代,直到最终结果令人满意。
必须了解的 4 种 Agentic 设计模式
在 Agentic AI 和关键设计模式中,了解每种模式如何赋予大型语言模型(LLMs)如 GPT 以更自主和有效的行为至关重要。这些设计模式通过鼓励自我评估、工具集成、战略思考和协作,推动了 AI 所能做到的边界。
1. 反思模式 (Reflection)
反思模式专注于提升人工智能评估和改进自身输出的能力。想象一下,一个大型语言模型像人类审稿人一样审查它生成的内容或代码,识别错误、漏洞或需要改进的领域,然后提出改进建议。
这个自我批评的循环不仅限于一次迭代。AI 可以根据需要重复反思过程,以达到精炼、完善的结果。例如,如果被要求编写软件,LLM 可以生成一个初始版本,批评其逻辑和结构,然后修改代码。反思的迭代性质随着时间的推移会导致更强大、更可靠的输出。
这种模式在需要精确性的任务中特别有用,例如内容创作、问题解决或代码生成。采用这种方法可以通过自我引导的修正来提高模型的准确性和可靠性。
一个有趣的例子是自我反思 RAG(SELF-RAG)。SELF-RAG 是一个框架,旨在通过将检索和自我反思整合到文本生成过程中来提高语言模型的质量和事实准确性。传统的检索增强生成(RAG)模型通过结合相关检索段落来增强响应,但通常无论相关性如何,都会检索固定数量的文档,这可能会引入噪音或不相关的内容。SELF-RAG 通过一种自适应方法解决了这些限制,该方法按需检索信息,并使用反思令牌来评估生成的质量。
SELF-RAG 如何使用反思? SELF-RAG 通过'反思令牌'整合自我反思机制,这些令牌用于评估文本生成的各个方面,如相关性、支持和整体效用。在生成过程中,模型评估检索是否必要,并通过在不同阶段自我批评来评估生成内容的质量。传统 RAG 首先检索固定数量的文档,而 Self-RAG 则根据生成的内容动态地执行检索。Self-RAG 评估多个生成的段落,对其质量进行评论,并选择性地结合最准确的信息。Self-RAG 的迭代过程使得生成步骤逐步优化,提高了输出的准确性和相关性。


