一、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-Critique | Agent 在输出后用另一轮 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-Policy | LLM 直接生成动作;可用强化信号进行微调。 |
Policy Distillation | 将 LLM 的决策转化为小模型策略(压缩 Agent)。 |
Hybrid Symbolic + Neural Control | LLM 负责语义规划,符号规划器负责精确求解。 |
在复杂任务里,可采用“语言模型 + 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调用工具 → 执行操作 → 检查结果
│
├── 需要创意生成? → 生成工具 → 创建内容 → 质量评估
│
└── 需要决策支持? → 分析工具 → 数据分析 → 生成洞察
工具执行监控:
✅ 工具选择 → 参数验证 → 执行调用 → 结果解析 → 错误处理