Agent架构
-
说明: 在 LLM-based Agent 中,架构指 如何组织 LLM 与其他组件协同工作 的系统设计模式。
-
ReAct (Reasoning + Acting): 目前最主流的架构。Agent 按照“思考-行动-观察”的循环来解决问题。
-
Plan-and-Execute 架构: 先整体规划任务步骤,再逐个执行(支持并行或顺序)
-
AutoGPT/BabyAGI: 强调自主性,自动生成目标列表并循环执行,直到任务完成
-
Multi-Agent 架构:
- 协作模式( Collaboration ): 多个拥有不同角色(Persona)的 Agent 互相配合(例如:股票基本面分析员、市场新闻分析员、情绪分析员、技术面分析员)
- 辩论模式(Debate): 多个 Agent 互相反驳以修正幻觉,提升准确率
-
Reflexion / Self-Reflection 架构: Agent 在任务失败后,自我评估并生成改进策略
Plan(计划)
-
说明: LLM Agent 的"自主性"体现在能否将模糊目标分解为可执行步骤。
-
Chain-of-Thought( COT ) :
- 思维链,通过生成中间推理步骤提升复杂问题的解决准确率,例如:要订机票,先查航班,再比价,再付款
-
Task Decomposition:
- 显式任务拆解,输入目标 → 输出带编号的子任务列表
-
Hierarchical Planning:
- 分层规划(高层目标 → 低层动作),例如:组织会议 → 协调时间]→ 发邀请]→ 准备材料
-
Dynamic Re-planning:
-
根据执行反馈调整计划,工具调用失败 → 生成备选方案
-
Memory(记忆)
-
说明: 由于 LLM 本身无状态,记忆模块用于维持上下文连贯性与长期知识积累。
-
短期记忆( Short-term Memory ):
- 实现方式:直接放入 prompt 的上下文窗口(context window)
- 限制:受 token 长度限制(如 128K),需做上下文管理(如滑动窗口、摘要压缩)
-
长期记忆 (Long-term Memory):
-
实现方式: 外部向量数据库(如 Pinecone、Chroma、FAISS)
-
工作流程:
-
将历史对话、任务结果、用户偏好等嵌入为向量
-
每次新任务时,根据当前 query 检索最相关记忆
-
将检索结果注入 prompt,辅助 LLM 决策
-
-
Tools(工具)
-
说明: LLM 本身不具备实时数据、计算或操作能力,需通过 工具调用(Tool Use / Function Calling) 扩展。
-
典型工具类型:
- 搜索工具: 调用搜索引擎获取最新信息(如 Google Search API)
- 计算工具: 执行数学运算、代码解释(如 Python REPL)
- API 工具: 访问数据库、天气服务、邮件系统等
- 专业工具: 如绘图(DALL·E)、语音合成(TTS)、代码生成(GitHub Copilot)
-
关键机制:
-
工具注册: 向 LLM 描述每个工具的功能、输入/输出格式(通常用 JSON Schema)
-
工具选择: LLM 根据当前目标决定是否调用、调用哪个工具
-
结果融合:将工具返回结果拼接进上下文,供后续推理使用
-
Action(行动)
-
说明: Action 是 Agent 对内外部世界的最终输出
-
与用户交互:
- 生成自然语言回复
- 主动提问澄清模糊指令(例如:您是指2024年还是2025年的数据?)
- 确认高风险操作(例如:即将删除文件,是否继续?)
-
与环境交互:
- 调用外部工具
- 修改外部状态(如更新数据库、发送邮件、控制 IoT 设备)
- 生成可交付物(如代码、报告、图表)