Agent速查手册

一、Agent 的工作循环(Perception–Thinking–Action)

几乎所有 Agent 框架都遵循同一个主循环:

while not done:
    observe(state)
    think(plan or react)
    act(action)
    reflect(feedback)

这与经典的认知科学模型如 Sense → Think → Act → Reflect 一致。现代 LLM-Agent 在此基础上会加两层:

  • 外循环 (Outer Loop):任务 / 规划层
  • 内循环 (Inner Loop):推理 / 工具调用 / 自校验

典型 ReAct Agent 流程:

Observation → Thought → Action → Observation' → Thought' → ...

这种模式非常贴合人类的“试错式推理”。


二、规划与任务分解(Planning & Decomposition)

Agent 面对复杂目标时要能自动拆分任务,构建计划。
常见方法:

方法说明 / 示例
Goal Decomposition把大目标拆为若干子目标,层层细化(如 “写论文” → “查资料” → “生成提纲” → “写引言”)。
Hierarchical Task Networks (HTN)使用层级任务网络,定义可复用的任务模板和预条件。
Self-Ask / Self-Plan模型先生成“我该做什么?为什么?顺序如何?”的思考,再执行。
LLM-Planner + Executor 模式分为规划者(生成行动序列)与执行者(按步骤执行)。
AutoGPT / BabyAGI 风格循环Agent 在每一轮生成目标、任务列表、执行、反思并更新目标列表。
Dependency Graph / DAG Planner任务被建模成有向无环图,子任务可以并行或顺序执行。

在多 Agent 系统中,Planner Agent 通常充当总指挥,生成 DAG / prompt 链路,再调度下游执行者。


三、反思与元认知(Reflection & Self-Improvement)

一个优秀的 Agent 不只是执行任务,更要能审视自己。这被称作 元认知回路 (Metacognitive Loop) 或 “Self-Improving Agent”。

常见反思机制:

类型描述 / 示例
Self-CritiqueAgent 在输出后用另一轮 LLM 对结果进行评估、找出缺陷。
Self-Refine / Re-Prompt输出后自我修正:“我能写得更好吗?” 再重新生成。
Reflexion 框架论文《Reflexion: Language Agents with Verbal Reinforcement Learning》提出:Agent 将执行经验转换为自然语言反馈,下次任务中作为提示。
Trajectory Replay保存历史决策轨迹,分析成功 / 失败样本并调整策略。
RLHF / RLAIF 微调闭环用人类或模型反馈强化 Agent 行为。

这种机制让 Agent 拥有“学习的影子”——虽然不是持续学习,但能积累经验性改进。


四、评估与度量(Evaluation & Benchmarking)

Agent 的好坏很难量化,因此出现了新的测评维度:

维度示例指标
任务成功率在定义任务中成功完成率
推理一致性多次执行相同任务输出的一致性
工具使用效率平均调用次数 / 成功率
响应时间平均延迟 / 95% 延迟
成本控制平均 token 消耗 / 执行时间
稳定性 / 错误率失败、超时、异常比例
自反性评估Agent 对自身输出的质量判断与实际评价差距
可解释性 / 轨迹可重现性是否能回放 Agent 决策路径
安全性是否出现越权、幻觉、或有害指令

常用的开源测评集包括:

  • AgentBench(评估工具使用与规划能力)
  • GAIA / HELM-Agent / MetaGPT-Eval(任务执行效率)
  • BBH-Agent / MMLU-Reasoning(推理链条准确率)

五、记忆与知识整合进阶

记忆系统是智能体的“意识连续体”。除了之前提到的短期 / 长期记忆,还可以这样分类:

1. Episodic Memory(情节记忆)

记录过去的交互事件、对话、失败、经验。
常用结构:

{
  "timestamp": "...",
  "observation": "...",
  "action": "...",
  "result": "...",
  "reflection": "..."
}

2. Semantic Memory(语义记忆)

抽象的世界知识、事实、规则。通常用向量库或知识图谱存储。

3. Procedural Memory(程序性记忆)

存储“怎么做”的知识:操作流程、函数调用序列。

4. Working Memory(工作记忆)

当前上下文窗口内容——Agent 的“意识焦点”。


六、通信与多智能体协作(Multi-Agent Systems)

多 Agent 系统让 AI 团队合作成为可能。关键在于通信协议与角色分化。

模式说明
Master-Worker一个主控 Agent 分派任务给多个执行 Agent
Peer-to-Peer 协作多个 Agent 对等交流,互相评估结果
Debate / Argumentation两个 Agent 就一个问题辩论,最终投票 / 聚合答案
Team of Experts不同领域专家 Agent 各司其职,交由一个协调者综合输出
Supervisor Loop一个监控 Agent 监督多个工作 Agent 的状态与质量
Federated Agent Systems多个独立 Agent 在网络上协作,类似去中心化网络中的节点。

LangGraph、AutoGen、CrewAI 都提供这种多 Agent 编排接口。


七、控制与决策学习(Reinforcement & Planning)

在复杂环境中,Agent 可以学习控制策略,而不仅仅依赖语言模型规则。

范式说明
Reinforcement Learning (RL)通过奖励信号优化策略,常用于游戏、机器人、自动化执行。
Model-Based RL使用环境模型进行预测规划(类似世界模型 World Model)。
LLM-as-PolicyLLM 直接生成动作;可用强化信号进行微调。
Policy Distillation将 LLM 的决策转化为小模型策略(压缩 Agent)。
Hybrid Symbolic + Neural ControlLLM 负责语义规划,符号规划器负责精确求解。

在复杂任务里,可采用“语言模型 + RL Controller”的混合系统。


八、认知结构与理论映射

从认知科学视角,Agent 架构可与人脑功能对应:

模块类比人类功能
Perception感知系统(视觉、听觉输入)
Working Memory前额叶短期记忆
Semantic Memory长期知识存储
Procedural Memory运动皮层、技能记忆
Planning / Reasoning前额叶计划区域
Reflection / Evaluation自我监控网络
Emotion / Motivation 模拟奖励信号 / 自定义价值函数

一些研究(如 Cognitive Architectures for LLM Agents, 2024)试图用这一映射指导新架构设计。


九、Agent 调试与诊断

问题类型常见原因调试思路
行为不稳定Prompt 不一致、上下文膨胀固定模板 + 参数化变量
工具调用错误参数格式不匹配定义 JSON Schema + 验证器
幻觉 / 胡编乱造缺乏检索 / 置信校验使用 RAG + Re-check Agent
无限循环 / 死循环缺乏终止条件增加 step 限制 + stop criteria
成本过高Token 冗余 / 记忆膨胀Prompt 压缩 / 摘要记忆
延迟过大串行调用过多并行化 + 缓存 + streaming 输出
输出异常非法 JSON / 格式错误使用 pydantic 或 JSON Schema 验证
Agent 互相干扰状态共享未隔离使用独立 memory space 或 namespace

专业 Agent 调试工具:

  • LangSmith / Weave / Traceloop:跟踪 prompt → response → tool 调用链
  • Weights & Biases Agent Ops:监控执行轨迹与性能指标
  • OpenDevin / Camel:交互式调试多 Agent 协作

十、未来方向与研究热点

方向简述
World Models + LLMs结合环境建模与语言理解,实现可预测的世界交互。
长时记忆与终身学习 (Continual Learning)让 Agent 能长期学习、避免遗忘。
情感 / 社会智能 (Affective Agents)模拟情绪、共情、社交判断。
多模态 Agent感知图像、视频、声音、代码、传感器等多源信息。
社会代理 (Societal Agents)在群体中形成文化、规范与协作策略。
自治经济体 (Auto-Economy)由 Agent 组成的经济网络,自发交易与生产。
Agent Alignment & Ethics如何保证智能体价值对齐、安全、公正。

研究中出现的关键词包括 “LLM Cognitive Architecture”“Meta-Agents”“Autonomous Organization”“Agentic Workflow”


十一、参考与框架地图(可进一步探索)

领域代表项目
多 Agent 框架LangGraph · CrewAI · AutoGen · MetaGPT · CAMEL · ChatArena
单 Agent 工具化LangChain · Semantic-Kernel · ModelScope-Agent
记忆系统MemGPT · GPT-Memory · Vector-RAG 系统
规划 / 控制ReAct · Reflexion · Voyager · GITM (Goal Iterative Task Model)
评估体系AgentBench · GAIA · HuggingFace AgentEval
知识代理LlamaIndex · MindOS · K-Agent
认知架构研究ACT-R · Soar · Sigma · CogAgent (THU)

附录 agent流程图

graph TD
    A[环境 Environment] --> B[感知 Perception]
    B --> C[状态更新 State Update]
    C --> D[决策 Decision Making]
    D --> E[行动执行 Action Execution]
    E --> A
    
    C --> F[记忆系统 Memory System]
    F --> D
    
    D --> G[学习系统 Learning System]
    G --> F
    
    %% 记忆系统子图
    subgraph Memory
        F1[短期记忆 Short-term]
        F2[长期记忆 Long-term]
        F3[工作记忆 Working]
        F1 --> F2
        F2 --> F3
    end
    
    %% 决策系统子图
    subgraph Decision
        D1[目标管理 Goals]
        D2[策略选择 Policy]
        D3[价值评估 Value]
        D1 --> D2
        D2 --> D3
        D3 --> D1
    end
    
    %% 学习系统子图
    subgraph Learning
        G1[经验回放 Experience Replay]
        G2[模型更新 Model Update]
        G3[策略改进 Policy Improvement]
        G1 --> G2
        G2 --> G3
    end

    %% 样式设置
    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#e8f5e8
    style D fill:#fff3e0
    style E fill:#ffebee
    style F fill:#fce4ec
    style G fill:#e0f2f1
    style F1 fill:#f8bbd9
    style F2 fill:#f48fb1
    style F3 fill:#ec407a
    style D1 fill:#ffcc80
    style D2 fill:#ffb74d
    style D3 fill:#ffa726
    style G1 fill:#80deea
    style G2 fill:#4dd0e1
    style G3 fill:#26c6da

🔄 AI Agent 核心工作流程详解

1. 感知阶段 (Perception)

输入源:
├── 文本输入 (Text Input)
├── 视觉数据 (Visual Data) 
├── 传感器数据 (Sensor Data)
├── 用户指令 (User Command)
└── 环境状态 (Environment State)

处理过程:
✅ 数据预处理 → 特征提取 → 模式识别 → 信息编码

2. 状态更新 (State Update)

class AgentState:
    def update_state(self, perception_data, memory):
        # 当前环境状态
        self.current_state = self.encode_perception(perception_data)
        
        # 结合历史上下文
        self.context = memory.retrieve_relevant_memory(
            self.current_state, 
            max_items=10
        )
        
        # 更新信念状态
        self.belief_state = self.update_beliefs(
            self.current_state, 
            self.context
        )
        
        return {
            'current_state': self.current_state,
            'context': self.context,
            'belief_state': self.belief_state
        }

3. 决策制定 (Decision Making)

graph LR
    A[状态输入] --> B{目标检测}
    B --> C[主动目标 Active Goals]
    B --> D[被动响应 Passive Response]
    
    C --> E[计划生成 Planning]
    D --> F[反应式决策 Reactive]
    
    E --> G[行动选择 Action Selection]
    F --> G
    
    G --> H[可行性检查 Feasibility Check]
    H --> I[价值评估 Value Estimation]
    I --> J[最终决策 Final Decision]

4. 行动执行 (Action Execution)

行动类型:
┌─────────────────┬────────────────────────┬─────────────────────┐
│  行动类别       │        示例            │        输出         │
├─────────────────┼────────────────────────┼─────────────────────┤
│  物理行动       │ 移动、抓取、操作        │ 电机控制信号        │
│  通信行动       │ 说话、发送消息          │ 文本/语音输出       │
│  数字行动       │ 点击、输入、查询        │ API调用/界面操作    │
│  认知行动       │ 思考、规划、学习        │ 内部状态更新        │
└─────────────────┴────────────────────────┴─────────────────────┘

🧠 高级 Agent 架构流程图

graph TB
    A[用户输入/环境信号] --> B[输入处理器 Input Processor]
    
    B --> C[对话管理器 Dialog Manager]
    B --> D[任务识别器 Task Recognizer]
    B --> E[情感分析器 Sentiment Analyzer]
    
    C --> F[状态追踪器 State Tracker]
    D --> F
    E --> F
    
    F --> G[策略网络 Policy Network]
    G --> H{决策类型}
    
    H --> I[对话行动 Dialog Action]
    H --> J[工具使用 Tool Usage]
    H --> K[任务执行 Task Execution]
    
    I --> L[响应生成器 Response Generator]
    J --> M[工具执行器 Tool Executor]
    K --> N[任务执行器 Task Executor]
    
    L --> O[输出格式化 Output Formatter]
    M --> O
    N --> O
    
    O --> P[用户输出/环境行动]
    
    Q[记忆数据库 Memory DB] --> F
    F --> Q
    
    R[知识图谱 Knowledge Graph] --> G
    S[工具库 Tool Library] --> J
    
    style A fill:#bbdefb
    style P fill:#c8e6c9
    style Q fill:#fff9c4
    style R fill:#ffccbc
    style S fill:#d1c4e9

⚡ 实时决策循环

class IntelligentAgent:
    def __init__(self):
        self.memory = MemorySystem()
        self.planner = PlanningModule()
        self.executor = ActionExecutor()
        self.learner = LearningModule()
    
    def run_cycle(self, perception_input):
        """主决策循环"""
        # 1. 感知与状态更新
        current_state = self.process_perception(perception_input)
        context = self.memory.retrieve_relevant_context(current_state)
        
        # 2. 目标管理
        active_goals = self.update_goals(current_state, context)
        
        # 3. 决策制定
        if self.needs_replanning(current_state, active_goals):
            plan = self.planner.generate_plan(current_state, active_goals)
        else:
            plan = self.memory.get_current_plan()
        
        # 4. 行动选择
        next_action = self.select_action(plan, current_state)
        
        # 5. 执行与学习
        result = self.executor.execute_action(next_action)
        self.learner.update_from_experience(current_state, next_action, result)
        
        # 6. 记忆更新
        self.memory.store_experience(
            state=current_state,
            action=next_action,
            result=result,
            context=context
        )
        
        return result

🎯 多智能体协作流程

graph TB
    A[Agent 1] --> B[协调器 Coordinator]
    C[Agent 2] --> B
    D[Agent 3] --> B
    
    B --> E[任务分配 Task Allocation]
    B --> F[冲突解决 Conflict Resolution]
    B --> G[进度同步 Progress Sync]
    
    E --> H[子任务执行]
    F --> I[资源协调]
    G --> J[状态共享]
    
    H --> K[结果聚合 Result Aggregation]
    I --> K
    J --> K
    
    K --> L[全局状态更新]
    L --> A
    L --> C
    L --> D
    
    M[共享记忆 Shared Memory] --> B
    B --> M

🔧 工具使用扩展流程

工具使用决策树:
感知输入
    │
    ├── 需要信息查询? → 搜索工具 → 获取信息 → 更新知识
    │
    ├── 需要计算? → 计算工具 → 执行计算 → 返回结果
    │
    ├── 需要外部操作? → API调用工具 → 执行操作 → 检查结果
    │
    ├── 需要创意生成? → 生成工具 → 创建内容 → 质量评估
    │
    └── 需要决策支持? → 分析工具 → 数据分析 → 生成洞察

工具执行监控:
✅ 工具选择 → 参数验证 → 执行调用 → 结果解析 → 错误处理

添加新评论