Note
什么是基于 LLM 的 Agent?核心组件有哪些?
从感知、规划、记忆与工具使用等模块理解智能体的运行方式。
你如何定义一个基于 LLM 的智能体(Agent)?它通常由哪些核心组件构成?
一个基于 LLM 的智能体(Agent)是一个能够自主理解环境、进行规划决策、并执行行动以达成特定目标的计算系统。其核心特征是利用一个大型语言模型(LLM)作为其“大脑”或“中央处理器”,来进行复杂的推理和决策。
与传统的调用LLM进行问答或文本生成不同,Agent具有自主性和循环执行的特点,它能主动地、持续地与环境或工具交互,直到完成任务。
一个典型的LLM Agent通常由以下四个核心组件构成:
-
大脑/核心引擎 (Brain/Core Engine):
- 组件: 一个强大的大型语言模型(LLM),如GPT系列、Gemini、Llama等。
- 作用: 这是Agent的认知核心。它负责理解用户目标、感知环境信息、进行常识推理、制定计划、并决定下一步的行动。所有其他组件的输出最终都会汇集到LLM进行处理。
-
规划模块 (Planning Module):
- 组件: 可以是LLM的内置能力(如通过CoT、ReAct等提示策略激发),也可以是独立的算法模块。
- 作用: 负责将一个复杂、长期的目标分解成一系列更小、更具体的、可执行的子任务。它还负责根据行动的反馈动态地调整 и修正计划。规划能力是Agent处理复杂任务的关键。
-
记忆模块 (Memory Module):
- 组件: 通常是外部数据库或数据结构的组合,如向量数据库、键值存储等。
- 作用: 弥补LLM有限的上下文窗口。它分为:
- 短期记忆: 记录当前的对话历史、中间步骤的“思考过程”(scratchpad),用于维持任务的连贯性。
- 长期记忆: 存储过去的经验、知识、用户偏好等,通过检索(通常是RAG)来为当前决策提供信息。
-
工具使用模块 (Tool Use Module):
- 组件: 一系列外部API、函数库或硬件接口。
- 作用: 扩展Agent的能力边界。LLM本身无法获取实时信息、执行数学计算或与物理世界交互。工具使用模块允许Agent调用外部工具来完成这些任务,例如:
- 信息获取: 调用搜索引擎、数据库查询API。
- 代码执行: 运行Python解释器、访问终端。
- 物理操作: 控制机器人手臂、调用智能家居API。