什么是 Agent?核心概念与能力边界
Agent 的定义
大模型 Agent 是一个能感知环境、自主推理、调用工具、执行行动的智能系统。它不只是"聊天机器人"——它能做决定、执行多步操作、然后根据结果调整行为。
Agent vs 普通 LLM 调用
| 维度 | 普通 LLM 调用 | Agent |
|---|---|---|
| 交互 | 一问一答,单轮 | 多轮推理 + 行动循环 |
| 工具使用 | 不能调用外部工具 | 能调用 API、数据库、搜索等 |
| 记忆 | 静态上下文窗口 | 有结构化记忆(短期+长期) |
| 规划 | 无 | 可分解子任务、制定计划 |
| 反馈循环 | 无 | 观察结果 → 调整行动 |
| 自主性 | 被动回应 | 可主动发起行动 |
Agent 的核心能力
- 推理(Reasoning):理解目标、分解问题、制定策略。ReAct、Chain-of-Thought 是常用方法
- 工具使用(Tool Use):通过 Function Calling 调用外部 API、数据库、搜索引擎等
- 记忆(Memory):短期记忆(上下文窗口)和长期记忆(向量数据库/结构化存储)
- 规划(Planning):复杂任务自动拆解为子步骤,如 Plan-then-Execute、DAG 调度
- 反思(Reflection):自我评估结果质量、错误修复、迭代改进
Agent 的常见架构模式
1. ReAct (Reason + Act)
最经典的 Agent 模式。循环执行:Thought(思考下一步)→ Action(调用工具)→ Observation(观察结果)→ Thought... 直到得出最终答案。
用户: "北京的天气怎么样?"
Thought: 用户想知道北京天气,我需要调用天气查询工具
Action: get_weather(city="北京")
Observation: {"temp": 28, "condition": "晴"}
Thought: 拿到了天气数据,可以回答
Answer: 北京今天晴,28°C
2. Plan-then-Execute
先规划再执行,适合复杂任务。Planner 将任务分解为 DAG,Executor 按拓扑序依次执行。
3. Multi-Agent Debate
多个 Agent 各自推理、交叉评审,通过讨论达成共识。适合需要高准确度的场景。
4. Supervisor + Workers
一个 Supervisor Agent 管理多个 Worker Agent,分解子任务并汇总结果。OpenAI 的 Swarm、CrewAI 都采用此模式。
Agent 的两条实现路径
- 框架路线:使用 LangGraph、CrewAI、AutoGen 等现成框架,开发速度快但受框架约束
- 自研路线:从零实现 ReAct 循环、路由、工具系统,灵活性高但开发成本大
选型建议:原型验证用框架,生产系统按需自研,或者两者结合(框架做编排 + 自研做核心逻辑)。
Agent 的能力边界
- 幻觉问题:Agent 可能"自信地"编造不存在的工具结果
- 循环陷阱:ReAct 循环可能陷入死循环,需要最大步数限制
- 工具可靠性:Agent 依赖的工具出错时,错误会传导
- 成本控制:每次推理 + 工具调用都要消耗 token
- 安全风险:Prompt 注入、权限提升、数据泄露