Agent

简介

Agent发展

Agent经历了以下几个阶段的发展:
符号式Agents:符号智能时代的产物,使用符号抽象规则和推理过程。
反馈式Agents
强化学习Agents
迁移学习、元学习Agents
大语言模型Agents

Agent架构与组件

下图展示了现代大模型Agent的核心架构和关键组件:

Agent架构图

图1:Agent架构与工作流程

核心组件解析

  1. 中央处理器 - Agents:作为整个系统的核心,负责协调各组件之间的交互。

  2. 记忆系统 (Memory)

    • 感知记忆 (Sensory Memory):存储感知输入
    • 短期记忆 (Short-term Memory):临时工作存储空间
    • 长期记忆 (Long-term Memory):持久化知识存储
  3. 规划模块 (Planning):负责确定行动步骤,可以独立规划也可由LLM辅助规划。

  4. 工具箱 (Tools):Agent可用的各种工具,包括搜索、资讯获取、天气查询、汇率转换、代码执行等功能。

  5. 大语言模型 (LLM):作为Agent的”大脑”,负责理解信息、观察反思,并通过FunctionCall、TaskWeaver和ReAct等机制与外界交互。

工作流程

  1. 理解信息:Agent通过Memory系统理解和存储相关信息
  2. 规划行动:通过Planning模块确定执行步骤
  3. 工具使用:选择并使用适当的工具完成任务
  4. 观察反思:使用LLM进行结果分析和反思

Agent可以根据任务需求进行自主协调,包括任务分解、Agent协作、LLM调用、工具使用和记忆存取等操作。

Agents主要组件

配置模块(Profile Module)

旨在指示agent角色的特征描述,这些评测通常被写入提示中以影响LLM行为。Agent profile通常包含基本信息,例如年龄、性别和职业,以及心理学信息(反映了agent的个性)和社交信息(详细说明了agent之间的关系)。描述agent信息的选择在很大程度上取决于具体的应用场景。

人工生成

LLM生成

基于LLM自动生成,例如,RecAgent首先通过手动制作一些agents的背景,如年龄、性别、个人特征和电影偏好,为他们创建种子档案(profile)。然后,它利用ChatGPT基于种子信息生成更多的agent profile(代理配置文件)。该方法高效但缺乏对Profile的精确控制。

数据集对齐方法

记忆模块(Memory Module)

短期记忆

长期记忆

长期记忆一般采用向量数据库实现

LangChain的Memory实现

CrewAI的Memory实现

CrewAI的短时记忆使用RAG机制实现
CrewAI的长时记忆使用

SmolAgents的Memory实现

AutoGen的Memory实现

规划模块(Planning Module)

执行模块(Action Module)

Agent设计模式

反思(Reflection)

自我反思是一个通过语言反馈来强化基于大模型的智能体的框架。根据 Shinn et al. (2023),”自我反思是一种’口头’强化的新范例,它将策略参数化为智能体的记忆编码与 LLM 的参数选择配对。”
在高层次上,自我反思将来自环境的反馈(自由形式的语言或者标量)转换为语言反馈,也被称作 self-reflection,为下一轮中 LLM 智能体提供上下文。这有助于智能体快速有效地从之前的错误中学习,进而提升许多高级任务的性能。

简单的自我反思由两个LLM组成,一个作为生成器,一个对生成器的结果进行Reflect。

Reflextion Agents由三个不同的大模型组成:参与者、评估者、自我反思。

自我反思的关键步骤:(1)任务定义;(2)生成轨迹;(3)评估;(4)执行自我反思;(5)生成下一条轨迹。
自我反思引入了自我评估、自我反思、记忆组建来拓展ReAct框架。

Reflextion Agents适用的任务:
(1)序列决策
(2)推理
(3)编程

规划(Planning)

规划(Planning)设计模式是一种通过提前计划和组织任务步骤来提高效率和准确性的方法。在这种模式中,模型将复杂任务分解为多个步骤,并依次执行每个步骤,以达到预期的目标.这类似于人类在处理复杂任务时所采用的分步计划和执行方法。每个步骤可以由不同的模型或工具来完成,增强了整体任务处理的灵活性和扩展性。
示例: HuggingGPT,采用ChatGPT作为控制器,利用其语言理解和生成能力进行任务规划,并根据Hugging Face中模型的描述选择合适的AI模型来执行子任务,最后汇总执行结果。

工具使用(Tool use)

工具调用(Tool Use)设计模式是一种让AI模型通过调用外部工具或库来增强任务执行能力的方法。
实现方式:(1)预先规划好;(2)自主调用

多智能体协作(Multi-agent collaboration)

多智能体协作(Multiagent Collaboration)设计模式是一种通过多个智能体之间的合作来提高任务执行效率和准确性的方法。在这种模式中,多个智能体分担任务,并通过相互交流和协作,共同完成复杂任务。

Agent框架对比

Auto-GPT

规划能力强
缺点:接口和变量的定义和Agent框架的概念没有对应,学习成本会高一些。

AutoGen

内置扩展LangChain工具、使用Assistant API、在Docker容器中运行模型生成的代码、分布式智能体等功能。

LangFlow

CrewAI

CrewAI提供了一组用于构建和编排AI Agents组而设计的通用工具和库,用于处理多代理系统的场景人物,如代理通信、协调和决策等。

MetaGPT

多智能体系统框架。

MetaGPT提供的RAG功能

Qwen-Agent

Auto-Gen

AutoGLM

LangChain

LangGraph

LangGraph:状态机框架。

LangChain的多智能体协作机制

LangChain的记忆功能是如何实现的

与AutoGen的核心差异

基于LangChain开发一个本地知识库系统

Flowise

拖拽式编排,支持多智能体协作。

优化与实践

大模核心能力

自主决策、任务规划、多模态交互、环境感知等

多任务调度

记忆管理

工具调用

外部环境交互

智能体相关进展

提升智能体推理能力

ReAct(Reasoning and Acting)框架

大模型本身具有推理能力和执行能力(比如生成执行计划),ReAct框架协同推理与执行,解决幻觉问题和COT推理中的错误传播问题、提高答案的可解释性。
ReAct采用few-shot in-context学习来生成解决问题的action和thought序列。每个in-context样例是由action、thought、observation构成的行为轨迹。
在推理占主导地位的应用中,我们交替生成thought和action,这样完整的行为轨迹就是多个thought-action-observation步骤。
在决策生成任务中(涉及大量action),thought只会在行为轨迹中最相关的位置稀疏出现,此时语言模型可用来决定thought和action的异步呈现顺序。

智能体记忆框架

Agent记忆包括短期记忆和长期记忆。
记忆内容包括:(1)内部任务信息;(2)跨任务信息;(3)外部知识。

Graphiti

Graphiti 构建了具有时间感知的知识图谱,这些图谱会随着时间推移,随着关系和上下文的变化而演变,从而适应智能体的需求。

Letta

Letta 是一个开源框架,用于构建具有高级推理能力和透明且长期记忆状态的智能体。Letta 框架是 “白盒” 设计,并且与模型无关。此外,它还允许用户在自己的服务器上以可视化方式测试、调试和观察智能体的行为。

Mem0

Mem0 是一个为智能体设计的智能记忆层,能够通过与用户的交互主动学习并适应变化。它结合了大语言模型(LLM)和向量存储技术。LLM 负责从对话中提取关键信息,而向量存储则用于语义搜索和记忆检索。

Memary

Memary 赋予 AI 智能体类似人类的记忆能力。它通过知识图谱跟踪实体知识、偏好和聊天历史记录,并且该知识图谱会随着智能体与用户的交互自动更新。

Cognee

Cognee 是一个 Python 库,将知识图谱与 RAG 结合起来,为智能体和应用程序构建不断演化的语义记忆。它利用动态知识图谱来维护不同信息之间的关系。

智能体应用发展

OpenAI

OpenAI已经推出和即将推出的三款Agent产品

  • Deep Research:可自主执行深入调研,自动总结并生成专业报告;
  • Operator:可充当线上“任务代理”,帮助预订机票、酒店、餐厅等;
  • A-SWE(Agentic Software Engineer):可以自行完成软件开发、QA、Bug 测试和文档撰写,相当于一个“自动化开发者”。

参考

项目

Google adk-python
AutoGen
LangFlow
flowise
CrewAI
OWL
MetaGPT
Dify
OmAgent
LangGraph
SmolAgents
intellagent
Optimized Workforce Learning
graphiti
Mem0
Motia
GenSpark

文档

Agent Development Kit文档
AutoAgent
windsurf.com/blog/what-is-an-agent
A Visual Guide to LLM Agents: Exploring the main components of Single- and Multi-Agents
Meta-GPT 智能体入门
ReAct
AI Agent(智能体)技术白皮书

论文

Advances and challenges in foundatation agents
LLM-Agent-Paper-List
The Rise and Potential of Large Language Model Based Agents: A Survey
ADVANCES AND CHALLENGES IN FOUNDATION AGENTS
Self-Refine: Iterative Refinement with Self-Feedback
Reflexion: Language Agents with Verbal Reinforcement Learning
CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing
Gorilla: Large Language Model Connected with Massive APIs
MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action
HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face
AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation
Multi-Agent Collaboration Mechanisms: A Survey of LLMs
A Survey on Large Language Model Based Autonomous Agents
A Survey on the Optimization of Large Language Model-based Agents

课程/教程

Multi AI Agent Systems with crewAI
AI Agentic Design Patterns with AutoGen
AI Agents in LangGraph
LLMs as Operating Systems: Agent Memory
LangFlow创建流程视频教程


Agent
https://summerchengh.github.io/tech-blog/2025/03/24/大模型-Agent/
Author
Your Name
Posted on
March 24, 2025
Licensed under