基本概念
AI Agent 是一个能在目标导向任务中,使用模型理解状态与规划行动、通过工具影响外部环境、并根据反馈持续修正的软件系统。一句话:模型是大脑,Agent 是整个系统。
LLM 本质是一个无状态的概率函数:输入一段文本,输出下一段最可能的文本。它不行动、不记忆、不闭环。Agent 在 LLM 外面包了一整套机制,让它能为一个目标持续工作。
四要素
Agent 的四要素
- 规划:把大目标拆成子步骤,根据中间结果调整计划。ReAct 的边走边想、Plan-and-Execute 的先规划后执行都是规划的不同粒度
- 记忆:短期记忆是当前任务的上下文状态,长期记忆是跨会话沉淀的用户偏好、项目约定和经验
- 工具:让 Agent 从“只能说”变成“能动手”的通道。搜索、读文件、跑代码、查数据库、调 API
- 行动:执行工具调用、观察结果、根据反馈修正的闭环。没有闭环只有调用,是工具增强而不是 Agent
Agent vs Chatbot vs 工作流
| 维度 | Chatbot | Workflow | Agent |
|---|---|---|---|
| 控制权 | 用户一步步推进 | 工程师预先写死 | 模型动态决策 |
| 路径 | 一问一答 | 固定流程 | 根据中间结果调整 |
| 典型输入 | 一个问题 | 固定格式任务 | 一个目标 |
| 状态 | 无状态 | 流程状态 | 目标导向的多步状态 |
判断一个系统是不是 Agent,标准只有一个:控制权在谁手里。加了联网搜索的 Chatbot 还是 Chatbot,因为流程是写死的;只有模型根据观察自己决定下一步做什么、用哪个工具、何时停止,才是 Agent。
Agent 的代价
Agent 的自主性换来了三个代价:
- 错误复合。多步行动中一步走错,后面层层放大,出错后难定位
- 成本不可控。每一步都可能调用模型和工具,任务越开放成本越难预估
- 权限是事故边界。能读文件时错误是内容问题,能发邮件、删数据时错误就是运营事故
所以生产级 Agent 需要轮数上限、工具权限控制、人工确认和可观测性兜底。人的参与不是失败的补丁,是系统设计的一部分。
面试追问
- Agent 和 LLM 的区别? LLM 是无状态概率函数,一次调用就结束;Agent 是围绕 LLM 构建的任务执行系统,有规划、记忆、工具和反馈闭环
- 四要素是什么? 规划(拆解和调整)、记忆(短期状态加长期经验)、工具(影响外部世界)、行动(执行观察修正的闭环)
- 加了工具的 Chatbot 是 Agent 吗? 不是。区别不在能不能调工具,而在流程是否由模型自主决策、有没有多步闭环和状态。单次固定调用是工具增强,不是 Agent
- Agent 的主要风险? 错误复合、成本失控、权限越界。解法是循环上限、工具权限、HITL 和可观测性
- 什么时候不该用 Agent? 步骤能预先写死、不需要根据中间结果调整策略的任务,Workflow 更便宜更可控