Agent系列第一篇,后续持续更新
更多 LLM 架构文章点击查看:LLM 架构专栏
大模型架构专栏文章阅读指南
欢迎加入大模型交流群:加群链接 https://docs.qq.com/doc/DS3VGS0NFVHNRR0Ru#
公众号【柏企科技说】【柏企阅文

随着大语言模型(LLMs)的问世,人工智能实现了巨大飞跃。这些强大的系统彻底革新了自然语言处理领域,但只有当它们与智能体能力(即推理、规划和自主行动的能力)相结合时,其真正潜力才得以充分释放。这便是LLM智能体的用武之地,它代表了交互及利用方式的重大变革。

本文旨在全面介绍AI智能体,深入探讨其特征、组件和类型,同时探索其发展历程、面临的挑战以及未来可能的发展方向。

一、从大语言模型到AI智能体

大语言模型应用的形态演变,堪称我们在现代应用中见证的发展最为迅猛的领域之一。

(一)从传统聊天机器人到基于大语言模型的聊天机器人

聊天机器人并非新鲜事物,早在生成式人工智能(gen AI)这一概念出现之前,你或许就曾在网站上与聊天机器人打过交道。生成式人工智能时代之前的传统聊天机器人,与如今基于人工智能的对话智能体有着本质区别。它们通常的运作模式如下:

  • 基于启发式的响应:传统聊天机器人基于规则逻辑(“如果-那么”语句)运行,受限于预定义规则,无法处理复杂或模糊的查询。
  • 固定回复:回复是静态且预先设定好的,通过检测特定的关键词或短语来触发,缺乏灵活性和对话深度。
  • 转接人工:总会设置一个“联系人工”按钮,用于处理无法解决的查询,人工干预对于处理复杂问题依旧至关重要。

(二)基于大语言模型的聊天机器人的出现

  • ChatGPT的推出:2022年11月30日,OpenAI推出了由GPT-3.5驱动的ChatGPT,它是首个主流的大语言模型应用。ChatGPT保留了人们熟悉的聊天机器人界面,但背后依托的是在庞大的互联网语料库上训练的先进大语言模型技术。
  • Transformer架构:GPT(生成式预训练变换器)基于谷歌2017年推出的Transformer架构。它运用自注意力机制分析输入序列,能够更深入地理解上下文。
  • 大语言模型的能力:与传统聊天机器人不同,大语言模型可以生成类似人类语言、上下文相关且新颖的文本。其应用场景涵盖代码生成、内容创作、增强客户服务等多个领域。
  • 局限性
    • 个性化:在长时间的对话中,难以保持一致的个性化交互体验。
    • 幻觉现象:可能会生成事实上错误但逻辑连贯的回复,因为其输出是基于概率,而非经过验证的知识。
  • 解决局限性的方法:人们正在探索诸如检索增强生成(RAG)等技术,以便将输出建立在可靠的外部数据基础之上。这些进展旨在减少不准确之处,提高基于大语言模型的系统的稳健性。

(三)从基于大语言模型的聊天机器人到RAG聊天机器人和AI智能体

  • RAG聊天机器人:检索增强生成(RAG)将外部数据检索与大语言模型的能力相结合,以生成准确且基于上下文的回复。
    • 知识来源
      • 非参数知识:从互联网或专有数据库等外部来源检索的实时数据。
      • 参数知识:大语言模型在训练过程中嵌入的知识。
    • 优势:减少幻觉现象,提供最新信息,并确保回复可验证。
    • 提示工程:上下文学习(一次性、少样本)、思维链(CoT)和ReAct等技术,通过引导大语言模型的推理和输出生成过程,提高回复质量。

  • AI智能体:AI智能体是由大语言模型发展而来,增强了工具使用、多步规划和推理能力。
    • 工具使用:大语言模型可以通过分析任务,并通过结构化模式(如JSON)分配参数,来调用编程定义的函数或API。
    • 环境:AI智能体在迭代执行环境中运行,能够根据反馈进行动态决策和持续适应。
    • 智能体系统:这些是具有自主智能体的计算架构,能够集成多个系统组件、做出决策并实现目标。
    • 智能体RAG:将大语言模型的推理、工具使用和规划能力与语义信息检索相结合,使动态系统能够分解任务、执行复杂查询,并利用工具解决问题。

}

从基于大语言模型的聊天机器人向RAG聊天机器人和AI智能体的转变,标志着我们正朝着更智能、更具适应性和工具集成性的系统迈进,这些系统能够实时解决复杂问题。

二、什么是AI智能体?

AI智能体是一个系统,它能够通过传感器感知其所处环境,处理这些信息,并通过执行器对环境采取行动,以实现特定目标。可以把它想象成一个数字实体,能够观察、思考和行动,这与人类和周围环境交互的方式颇为相似,只不过AI智能体是通过编程有目的地进行这些活动。

AI智能体的概念建立在理性行为的基本理念之上:一个智能体应该采取行动,以最大化其实现既定目标的成功概率。正是这种理性,将AI智能体与简单的响应程序区分开来。

(一)AI智能体的特征

AI智能体具备几个关键特征:

  • 自主性:无需人工干预即可运行,能够独立做出决策。
  • 反应性和主动性:对环境变化做出反应,并主动采取措施实现目标。
  • 适应性:通过处理新信息和经验进行学习和进化。
  • 目标导向:致力于实现预先设定的目标或优化结果。
  • 交互性:能够与其他智能体或人类进行通信和协作。
  • 持续性:持续运行,监控并响应动态变化的环境。

三、AI智能体的核心组件

AI智能体的核心由以下组件构成:

  • 感知
  • 推理
  • 行动
  • 知识库
  • 学习
  • 通信接口

}

}

(一)感知(传感器)

这些组件使智能体能够感知其环境,可以是物理传感器(如摄像头、麦克风),也可以是数字输入(如数据流、用户交互)。

(二)推理(处理器)

推理是智能体的“大脑”,它处理来自传感器的信息,并确定适当的行动。该组件实现智能体的决策算法,并维护任何必要的内部状态。

AI智能体使用各种决策机制,如基于规则的系统、专家系统和神经网络,来做出明智的选择并高效地执行任务。

(三)行动(执行器)

执行器是智能体影响其环境的手段,简单来说,就是使智能体能够采取行动的部件,可以是物理的(如机器人手臂、扬声器),也可以是数字的(如数据库更新、显示输出)。

(四)知识库

知识库是智能体用于决策的信息存储库,包括预编程的知识和学习到的信息。

(五)学习

学习使智能体能够随着时间的推移,从数据和经验中学习,从而提升其性能。它运用强化学习、监督学习和无监督学习等技术,逐渐提高AI智能体的表现。

}

(六)通信接口

通信接口允许智能体与其他智能体、系统或人类进行交互。

我们将在以下部分详细介绍每个组件,并详细说明智能体的工作原理。

四、AI智能体如何与环境交互

这种交互循环通常被称为“感知 - 规划 - 行动”循环或“感知 - 行动”循环。让我们以自动驾驶汽车为例,来理解每个阶段:

(一)感知阶段

可以将这个阶段视为智能体的“感知”阶段:

  • 传感器 → 处理 → 状态更新
  • 智能体通过传感器接收输入
  • 信息被处理和解释
  • 根据新信息更新当前状态

(二)决策阶段

这是智能体的“思考”阶段:

  • 当前状态 + 目标 → 评估选项 → 选择最佳行动
  • 智能体评估可能的行动
  • 考虑目标和约束条件
  • 根据可用信息选择最优行动

(三)行动阶段

这是“执行”阶段:

  • 执行行动 → 观察变化 → 开始新循环
  • 选择的行动通过执行器执行
  • 环境因此发生变化
  • 智能体通过传感器观察结果,开始新的循环

这个循环持续不断地重复,通常每秒会重复多次。这个循环之所以强大,原因在于:

  • 适应性:如果发生意外情况,智能体可以在下一个感知阶段检测到并相应地调整其行动。
  • 学习机会:智能体可以将预测结果与实际结果进行比较,以改进未来的决策。
  • 目标导向行为:每个循环都使智能体在遵守约束条件的同时更接近其目标。

为了从编程角度理解它,让我们通过一个恒温器的类比,来比较三个复杂程度不同的程序:

  • 简单程序
if temperature > desired_temperature:
    turn_on_cooling()
- 只是遵循固定规则
- 不考虑后果
- 没有学习或适应能力
  • 响应式程序
if temperature > desired_temperature:
    if time_of_day == "peak_hours":
        turn_on_cooling_eco_mode()
    else:
        turn_on_cooling_normal()
- 规则更复杂
- 有一定的上下文感知能力
- 仍然没有真正的智能
  • AI智能体
class SmartThermostat:
    def perceive(self):
        current_temp = get_temperature()
        time = get_time()
        electricity_price = get_current_price()
        weather_forecast = get_forecast()
        user_preferences = get_preferences()
        return Environment(current_temp, time, electricity_price,
                           weather_forecast, user_preferences)

    def think(self, environment):
        possible_actions = [
            NoAction(),
            CoolNormal(),
            CoolEco(),
            PreCool(),
            WaitForOffPeak()
        ]
        best_action = None
        best_utility = float('-inf')
        for action in possible_actions:
            predicted_state = predict_future_state(environment, action)
            utility = calculate_utility(predicted_state)
            if utility > best_utility:
                best_action = action
                best_utility = utility
        return best_action

    def act(self, action):
        action.execute()
        monitor_results()
        update_learning_model()
- 考虑多个因素
- 预测结果
- 从经验中学习
- 优化长期目标
- 平衡相互竞争的目标

同样的循环适用于所有AI智能体:

  • 聊天机器人感知文本输入,决定适当的回复,并通过生成文本来采取行动。
  • 交易机器人感知市场数据,决定交易策略,并通过进行交易来采取行动。
  • 机器人吸尘器感知房间布局和灰尘情况,决定清洁模式,并通过移动和启动清洁机制来采取行动。

五、AI智能体如何运作?

AI智能体能够理解人类语言(得益于大语言模型)、通过信息进行推理、规划行动,并在无需持续人工输入的情况下执行任务。它们能够处理复杂问题,这使得它们比简单的自动化工具要先进得多。与基本脚本不同,AI智能体集成到软件系统中,能够与它们的环境进行复杂的交互。

}

(一)编排层(控制中心)

假设我想创建一个AI智能体会议调度器,我向调度器查询:“我想为我所有的学生举办一次网络研讨会”。这将被视为对AI智能体的一个触发条件。

}

查询可以是文本、音频、视频或图像(你已经知道,无论数据类型是什么,它总是会被转换为机器能够处理的数值)。查询将由编排层处理,编排层也就是AI智能体的控制中心。

编排层有4项主要工作:

  • 记忆:维护你整个交互过程的记忆。
  • 状态:存储整个过程的当前状态。
  • 推理:引导智能体的推理过程。
  • 规划:确定有哪些步骤以及下一步是什么。

}

编排层会与模型(大语言模型)进行交互。

(二)模型(大脑)

模型是整个智能体的中央决策器,通常是像大语言模型这样的AI模型。

AI智能体中的模型 作者:Himanshu Ramchandani

为了理解查询、制定计划并确定下一步行动,模型使用推理和逻辑框架,例如:

  • ReAct:(推理 + 行动)确保行动经过深思熟虑。
  • 思维链:通过中间步骤进行推理。
  • 思维树:探索多条路径以找到最佳解决方案。

模型确定要采取的行动,并使用特定工具来执行这些行动。

(三)工具(双手)

通过使用工具,智能体可以与外部世界进行交互。就像我之前说的,计算器、API、网络搜索、外部数据库等等都属于工具。

}

工具使智能体能够执行超出模型能力的行动、访问实时信息或完成现实世界的任务。