1.Agent 基本概念
在人工智能领域,我们经常会提到一个概念:Agent。那么什么是 Agent 呢?简单来说,Agent 可以被定义为一个 拥有一定的意图、目标,并且可以自主进行决策和行动以完成这些目标的计算实体。
Agent 的主要特性包括:
- 自主性(Autonomy):没有人类直接干预的情况下,可开展一定程度的自主探索和决策,并对其行动和内部状态拥有一定程度的控制;
- 反应性(Reactivity):可以感知周围环境的变化,并迅速采取适当的行动;
- 主动性(Pro-activeness):或者翻为“自驱性”,指可以积极主动地采取以目标为导向的行动,在行动中进行推理、制定计划和采取主动措施,以实现特定目标或适应环境变化;
- 社会能力(Social Ability):具备通过自然语言与其他 Agent(包括人类)进行交互的能力。 —— The Rise and Potential of Large Language Model Based Agents: A Survey
Why Agent?
LLM 能够作为 Agent 的全新大脑或基座,是由于:
- LLM 体现出强大的推理能力(演绎能力),可以自主地根据目标,拆解出具体、可行的实施方案,体现出了“自主性”和“主动性”;
- LLM 具备较强的摘要和抽象能力(归纳能力),可以根据外界反馈,调整下一步方案,判断与目标的偏差,体现出了“反应性”和“主动性”;
- LLM 本身通过自然语言输入和输出,体现出良好的“社会能力”。
Agent = LLM + Planning + Feedback + Tool use
—— LLM-based Agent 基础概念
2. agent 基本构成
来自于引用 2
一般来说,agent 分为四个模块:profile、memory、planning、action.
具体一个场景:小明想要吃树上的苹果,首先通过感官系统感知到苹果树上的苹果,然后在大脑中思考如何采摘苹果,最后借助采摘工具,拿到苹果后成功地放到嘴巴里津津有味地吃了起来。我们将场景抽象成模型,其实就形成了 AI Agent 的大致框架:
分以下几个模块:
- 感知模块:小明看到苹果树上的苹果
- 规划模块:想尝一尝苹果,并思考和规划如何才能吃到苹果
- 行动模块:借助采摘工具,拿到苹果后放入嘴中
- 反馈模块:苹果是甜的,津津有味地吃了起来~
其中最关键的是大脑部分(规划 & 决策),由 ChatGPT、Llama2、Gemini 这样的大语言模型作为 Agent 的大脑,增强了 Agent 的规划与决策的能力。
3. agent 实际各个模块的作用
LLM Powered Autonomous Agents 中,认为 agent 主要有Planning、Memory、Tools use 3 个组件。
- Memory 记忆模块:分为长期记忆和短期记忆。
- 短期记忆:prompt 中的上下文,类似于人类的感知功能,是外部信息的输入,如文本、图片、视频和音频。
- 长期记忆:如向量库检索,数据库等等
- Planning= 规划模块
- 思维链 COT
- 子目标分解 Subgoal Decomposition, 将复杂目标、任务分解,直到找到最优执行路径。Tree of Thoughts: Deliberate Problem Solving with Large Language Models中对两者的图示。
- Action&Tools- 行动和工具调用模块: 调用各种工具和 api 来执行任务。
参考
[3] LLM Powered Autonomous Agents
[4] AgentLLM 最佳实践
正文完