从零开始搞懂 AI Agent

一、AI Agent 核心本质:从被动响应到主动探索

1.1 AI Agent 与普通 AI 的显著差异

在人工智能的领域中,我们常常会接触到各种类型的智能系统。普通 AI 与 AI Agent 有着本质的区别。以日常与 ChatGPT 的交互为例,当我们询问 “AI Agent 的中文是什么?” 时,它会直接给出答案 “AI Agent 的中文是‘人工智能代理’”。这种交互模式体现了普通 AI 的特点,即严格遵循用户指令,完成既定任务后便结束交互,如同一个听话的工具,只能按照用户明确的要求做出单一动作,“一个口令一个动作” 是其最形象的描述。

与之形成鲜明对比的是 AI Agent。当我们向 AI Agent 下达 “帮我研究一下 AI Agent 的定义” 的指令时,它不会仅仅给出一个简单的翻译,而是会主动地去搜索相关资料,对不同的观点进行深入分析,并最终整理出一份全面的报告。这就像一个具有主动性的助手,用户只需设定目标,它就会自主规划达成目标的具体方式,包括确定行动步骤、选择合适的方法以及应对可能出现的问题,实现 “人类只给目标,AI 自己找路” 的高效工作模式。

相当于普通 AI 是「一个口令一个动作」,而 AI Agent 是「人类只给目标,AI 自己找路」。

这里我们再以一个「研究任务」为例,展示AI Agent如何工作:

1.2 AI Agent 的精确定义与工作循环机制

AI Agent 的工作机制可以通过一个清晰的框架来概括,其核心在于一个不断循环的过程。

这个过程主要包含以下几个关键环节:

  • 目标设定:目标是由人类为 AI Agent 设定的最终期望结果,它是整个工作循环的起点和导向。例如,在围棋对弈中,目标可以是 “赢一盘围棋”。这个目标明确了 AI Agent 的努力方向,为后续的行动提供了清晰的指引。
  • 环境观察:观察环节是 AI Agent 对当前所处环境状态的感知和理解。以围棋为例,AI Agent 需要观察棋盘上黑白子的具体位置、分布情况以及局势的发展态势等信息。这些观察到的信息将作为后续决策的重要依据,帮助 AI Agent 了解当前的局势和面临的挑战。
  • 行动决策:基于对环境的观察,AI Agent 需要根据自身的算法和策略做出相应的行动决策。在围棋中,这可能表现为 “在第 5 行第 7 列落子”。行动决策的质量直接影响到目标的实现进度和效果,因此需要综合考虑各种因素,包括当前局势、对手的可能反应以及自身的战略规划等。
  • 环境变化:AI Agent 的行动会引发环境的相应变化,这是工作循环中的反馈环节。在围棋对弈中,当 AI Agent 落子后,对手会做出回应,这就是环境的变化。这种变化会为 AI Agent 提供新的信息,促使它重新进行观察和决策。
  • 循环迭代:AI Agent 会不断重复观察、行动的过程,直到最终达成设定的目标。这种循环迭代的机制体现了 AI Agent 的自主性和反应式架构,类似于人类解决问题的方式。人类在面对问题时,也会先观察情况,制定解决方案,尝试实施,然后根据反馈进行调整,不断优化行动策略,逐步逼近目标。

以 AlphaGo 为例,它是一个典型的 AI Agent。其目标是在围棋比赛中获胜,通过观察当前棋盘的状态,做出落子的决策,然后根据对手的回应再次进行观察和决策,不断循环,直到赢得比赛。

这种工作循环机制使得 AI Agent 能够在复杂的环境中不断学习和适应,逐步提高解决问题的能力。

1.3 AI Agent 与强化学习(RL)的内在关联

对于熟悉机器学习的人来说,AI Agent 的工作循环与强化学习(Reinforcement Learning, RL)的思路有相似之处。强化学习的核心思想是让 AI 通过不断的试错来学会最大化 “奖励”(Reward)。在 AlphaGo 的训练过程中,赢棋会获得 +1 的奖励,输棋则会得到 -1 的惩罚。通过进行无数次的模拟对局,AlphaGo 逐渐学会了如何下棋才能赢得比赛,从而提高自己的胜率。

然而,传统的 AI Agent 大多依赖强化学习来构建,这种方式存在一定的局限性。以 AlphaGo 为例,它是专门为围棋训练的模型,当面临新的任务,如下象棋时,就需要重新进行训练,无法直接将在围棋中积累的经验应用到新的场景中,这在一定程度上限制了其通用性和灵活性。

近年来,AI Agent 再次成为研究热点,主要原因在于我们有了新的解决方案 —— 直接使用大型语言模型(LLM)作为 Agent。与传统的强化学习方法不同,LLM 无需为每个新任务进行重新训练,而是利用其已有的强大语言理解能力,直接对任务进行分析和决策,这是 AI Agent 发展的一个重要转折点,为其在更广泛领域的应用提供了可能。

二、大型语言模型(LLM):AI Agent 的新兴驱动力

2.1 LLM 转化为 AI Agent 的实现路径

过去,基于强化学习打造的 AI Agent 虽然在特定任务上表现出色,但局限性也较为明显,一个模型往往只能处理单一的任务,缺乏通用性。随着大型语言模型(LLM)的出现,如 ChatGPT、Grok 等,情况发生了显著变化。LLM 具有强大的通用性,能够理解文字、回答各种问题、编写代码,甚至可以进行图像识别和理解等多模态任务。那么,如何将 LLM 转化为 AI Agent 呢?具体实现方式如下:

  • 目标文字输入:用户将任务目标以文字的形式输入给 LLM,例如 “帮我下赢围棋”。这种方式使得用户可以方便地向 AI Agent 传达自己的需求,而无需进行复杂的编程或设置。
  • 环境信息转换:将 AI Agent 所处的环境信息转化为文字或图片的形式,以便 LLM 能够理解和处理。在围棋场景中,棋盘状态可以用文字进行详细描述,如 “黑子在 A1,白子在 B2”,也可以直接提供棋盘的图片。这样,LLM 就能够获取到准确的环境信息,为后续的决策提供依据。
  • 行动文字输出:LLM 根据输入的目标和环境信息,以文字的形式输出相应的行动决策,例如 “我要在 C3 落子”。然后,通过特定的接口或系统将这些文字指令转化为实际的操作,从而实现 AI Agent 在现实环境中的行动。

与传统的强化学习方法相比,LLM 作为 AI Agent 无需专门为每个任务进行训练,而是利用其已有的语言理解和生成能力,直接对任务进行推理和决策,大大提高了开发效率和灵活性。

2.2 LLM 作为 Agent 的优势与不足

LLM的优势

  • 高度灵活性:与只能专注于单一任务的 AlphaGo 不同,LLM 具有极高的灵活性,能够处理各种不同类型的任务,只要用户能够用文字清晰地描述目标。无论是文本生成、数据分析、问题解答还是决策制定,LLM 都能够在不同的领域发挥作用,为用户提供多样化的解决方案。
  • 无需手动定义奖励函数:在强化学习中,需要手动设计复杂的奖励函数来引导 AI 的学习过程,例如在围棋中设定 “赢棋 +1” 的奖励规则。然而,设计合适的奖励函数是一项具有挑战性的任务,需要对任务的目标和环境有深入的理解,并且往往需要进行大量的调试和优化。而 LLM 可以直接理解目标和反馈信息,例如当用户提供一个错误日志时,LLM 能够自动分析问题并尝试修改代码,无需额外定义明确的奖励规则,这大大简化了开发过程。
  • 无限的行动可能性:由于 LLM 能够输出任何文字内容,其行动空间几乎没有限制。相比之下,像 AlphaGo 这样的传统 AI Agent 只能在有限的棋盘空间内进行落子选择,行动范围受到较大的限制。而 LLM 可以通过文字指令与各种外部系统进行交互,实现更加复杂和多样化的任务。

LLM的不足

  • 结果可靠性较低:LLM 的本质是一个基于概率的 “文字接龙机”,它在生成回答时可能会出现猜测和不准确的情况,而不是经过深思熟虑的推理。在实际应用中,LLM 可能会给出一些不符合逻辑或与事实不符的答案,需要用户进行进一步的验证和修正。
  • 对环境描述的高度依赖:LLM 需要将环境信息转化为文字或图片的形式才能进行处理,如果环境描述不清楚或不准确,LLM 可能会产生误解,导致决策失误。例如,在一个复杂的场景中,如果对某些关键信息的描述不完整或存在歧义,LLM 可能无法正确理解任务需求,从而影响其行动的有效性。

曾经有一个新闻报道,有人让 ChatGPT 和 DeepSeek 进行象棋对弈,结果它们在对弈过程中出现了严重的错误,将 “兵” 误当成 “马” 进行移动,甚至凭空变出棋子,最后 DeepSeek 还出现了吃自己棋子并宣布胜利的荒谬情况,而 ChatGPT 则认输。这一事件充分说明了 LLM 在作为 AI Agent 时还存在一些不足之处,需要进一步的改进和优化。

DeepSeek-R1与ChatGPT国际象棋对弈:AI界的“疯狂大戏”

三、AI Agent 的三大核心能力:迈向智能助手的关键要素

文章开头的从零开始搞懂AI Agent的视频课程中将 AI Agent 的能力划分为三个关键方面,即根据经验调整行为、使用工具以及做计划。这三个能力是 AI Agent 从简单的 “听话工具” 进化为智能 “聪明助手” 的重要标志。

3.1 根据经验调整行为

调整能力的重要性

我们自己在日常生活和工作中,往往会根据以往的经验来调整自己的行为,以提高解决问题的效率和质量。同样,AI Agent 也需要具备这种能力。例如,在编写代码的过程中,如果遇到编译器报错提示 “缺个分号”,下次编写代码时就会记得添加分号。AI Agent 也应该能够从类似的反馈信息中学习,根据观察到的反馈结果调整下一步的行动,从而不断优化自己的表现。

LLM 实现调整能力的方式

LLM 可以通过一种称为 “上下文学习”(In-Context Learning)的机制来实现根据经验调整行为的能力。具体来说,LLM 不需要对模型参数进行调整,只需要将反馈信息作为新的输入添加到原有的上下文中,就可以改变输出结果。例如:

  • 初始输入:“写个加法函数。”
  • 初始输出:“def add (a, b): return a + b”
  • 反馈信息:“有错,b 没定义类型。”
  • 新输入:“写个加法函数,反馈说 b 没定义类型。”

通过将反馈信息融入到新的输入中,LLM 可以在不进行额外训练的情况下,生成更符合要求的输出结果,体现了其强大的学习和适应能力。

面临的挑战及解决方案

然而,当 AI Agent 的行动步骤逐渐增多时,如达到 1 万步,如果每次行动都将历史信息全部添加到输入中,会导致输入数据过长,超出了 LLM 的算力承受范围,从而引发 “记忆爆炸” 问题。为了解决这个问题,课程中提出了三个关键模块:

  • Write(写入)模块:该模块的主要作用是筛选出值得记录的信息。在复杂的环境中,并非所有的信息都对决策有重要影响,例如 “桌子在那儿” 这样的信息对于大多数任务来说并不关键,而 “对手下了关键一步” 这样的信息则可能对后续决策产生重要影响,因此需要将其记录下来。
  • Read(读取)模块:该模块负责从记忆中检索与当前任务相关的经验信息。可以借鉴 RAG(检索增强生成)技术,从海量的数据中筛选出有用的信息,为当前的决策提供参考。
  • Reflection(反思)模块:该模块用于对历史经验进行总结和反思,例如分析对手的行为模式,得出 “对手老爱走中间,我得防着点” 这样的结论。通过反思,AI Agent 可以更好地理解环境和任务,优化自己的决策策略。

实验研究发现,正面反馈(如 “这步对了”)对 LLM 的学习效果更为显著,因为 LLM 更擅长模仿和学习 “好例子”,从而更快地调整自己的行为,提高解决问题的能力。

3.2 使用工具

使用工具的必要性

尽管 LLM 具有强大的语言处理能力,但它也存在一定的局限性。例如,LLM 本身无法直接获取实时的天气信息,需要借助外部工具来实现。工具就像是 AI Agent 的 “外挂”,可以扩展其功能和能力范围,使其能够完成更多复杂的任务。

工具的使用方法

一种通用的工具使用方法如下:

  • 工具说明:首先,需要向 AI Agent 详细说明工具的使用方法和接口规范。例如,使用 “Temperature (地点,时间)” 函数来查询特定地点和时间的温度。
  • 问题输入:用户将具体的问题输入给 AI Agent,如 “今天武汉多热?”
  • 指令输出:AI Agent 根据问题和工具说明,生成相应的工具调用指令,如 “[Tool] Temperature (武汉,现在) [Tool]”。
  • 执行与反馈:系统执行工具调用指令,并将执行结果反馈给 AI Agent,如 “[Output] 28°C [Output]”。
  • 最终回答:AI Agent 根据工具执行结果,给出最终的回答,如 “武汉现在 28°C”。

常见的工具包括搜索引擎(用于查询资料,可结合 RAG 技术提高检索效率)、代码执行器(用于编写和运行程序)以及其他 AI 工具(如语音 AI 用于音频处理)等。

工具管理的挑战与解决策略

当可用的工具数量增多时,如达到上千个,LLM 很难记住所有工具的使用方法和适用场景。为了解决这个问题,可以引入 “工具选择模块”。该模块可以借鉴 RAG 技术,根据问题的语义信息从工具库中筛选出合适的工具。更值得一提的是,LLM 还具备一定的自主创新能力,它可以自己编写代码创建新的工具,并将其存储在工具库中供后续复用,从而不断扩展自己的能力边界。

3.3 做计划

计划的定义与重要性

计划是指在行动之前预先规划好具体的步骤和流程,以确保任务能够有序、高效地完成。在日常生活中,我们做很多事情都需要制定计划,例如刷牙的过程可以分解为 “找牙刷 → 挤牙膏 → 刷 → 漱口” 几个步骤。对于 AI Agent 来说,具备做计划的能力同样重要。如果 AI Agent 没有规划能力,每一步都随机尝试,不仅会浪费大量的时间和资源,而且很难达到预期的目标。

LLM 的计划能力现状

LLM 具备一定的计划制定能力,但目前还不够完善。当用户向 LLM 提出一个复杂的任务,如 “做百万订阅 YouTuber” 时,它能够列出一个大致的计划,如 “选主题 → 优化标题 → 做直播……”。然而,这些计划往往在细节上存在问题,例如在安排旅行计划时,可能会忽略预算限制,或者出现行程冲突的情况。

提升计划能力的思路

为了提升 LLM 的计划能力,我们可以尝试从以下几个方面入手:

  • 试错法(Tree Search):通过对每一步可能的行动进行尝试,并评估其结果,选择最优的行动路径。然而,这种方法的算力成本较高,需要对一些没有希望的路径进行剪枝,以减少计算量。
  • 脑内模拟(World Model):让 LLM 在内部模拟不同行动的结果,就像人类在脑海中 “做梦” 一样进行规划。例如,在进行网页购物时,LLM 可以先想象 “点这个按钮会跳到哪”,从而提前预测行动的后果,优化计划。
  • 借助工具辅助:对于一些复杂的限制条件,如预算限制,可以将其交给专门的求解器进行处理,LLM 则负责编写代码调用这些工具,实现更加精确和高效的计划制定。

通过不断提升这三大核心能力,AI Agent 将能够更好地适应复杂多变的环境,为用户提供更加智能、高效的服务,逐步实现从简单工具到智能助手的华丽转变。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐