LLM 自主代理
代理系统概述 | Agent System Overview
以 LLM(大型语言模型)作为核心控制器构建代理是一个创新的概念。AutoGPT、GPT-Engineer 和 BabyAGI 等项目展示了其潜力。LLM 的能力不仅限于生成文本和代码,更可成为通用问题解决工具。
核心组件
-
规划(Planning)
- 子目标分解:将复杂任务拆解为可管理的子任务。
- 反思与优化:通过自我批评改进策略,提升结果质量。
-
记忆(Memory)
- 短期记忆:通过上下文学习实现即时推理。
- 长期记忆:借助外部向量存储实现信息持久化。
-
工具使用(Tool Use)
- 调用外部 API 补充模型知识(如实时数据、代码执行等)。
规划 | Planning
任务分解
- 思维链(CoT) :通过分步思考解决复杂问题,如提示模型“逐步分解任务”。
- 思维树(ToT) :探索多路径推理,结合广度/深度优先搜索。
- LLM+P 方法:利用经典规划器(如 PDDL)处理长期任务。
自我反思
- ReAct 框架:结合推理(自然语言)与行动(API 调用),通过
Thought → Action → Observation循环优化决策。 - Reflexion 框架:动态记忆与自我评估,通过失败轨迹生成改进策略。
- 后见之明链(CoH) :基于反馈历史微调模型,实现渐进式优化。
记忆 | Memory
记忆类型
- 感觉记忆:短期感官输入(如视觉/听觉)。
- 短期记忆:工作记忆(约 7 个信息块,持续 20-30 秒)。
- 长期记忆:外部向量存储,支持快速检索。
高效检索技术
-
近似最近邻(ANN)算法:
- LSH(局部敏感哈希)
- HNSW(分层可导航小世界)
- FAISS(Facebook 相似性搜索)
- ScaNN(各向异性量化)
工具使用 | Tool Use
关键框架
- MRKL 系统:模块化架构,LLM 作为路由调用符号/神经模块。
- HuggingGPT:利用 ChatGPT 协调 HuggingFace 模型,实现多任务处理。
- API-Bank 基准:评估工具增强型 LLM 的 API 调用能力。
实践案例
- ChemCrow:化学领域代理,集成 13 种工具完成合成设计。
- 生成式代理模拟:25 个虚拟角色在沙盒环境中交互,展现社会行为涌现。
挑战与展望
- 有限上下文:需平衡注意力范围与历史信息利用。
- 长期规划:面对意外错误时调整策略的能力不足。
- 自然语言接口可靠性:输出格式错误或拒绝对指令的响应。
参考文献
- Wei et al. "Chain of Thought Prompting Elicits Reasoning in Large Language Models." NeurIPS 2022.
- Yao et al. "Tree of Thoughts: Deliberate Problem Solving with Large Language Models." arXiv:2305.10601.
- Park et al. "Generative Agents: Interactive Simulacra of Human Behavior." arXiv:2304.03442.