No.343
什么是 Agent?和普通的 LLM 应用有什么区别?
一句话回答
Agent 是让大模型自主决定下一步做什么的系统:模型在一个循环里"思考 → 调用工具 → 观察结果 → 再思考",直到完成目标。普通 LLM 应用(包括固定流程的工作流)每一步做什么由开发者写死;Agent 的执行路径由模型在运行时动态决定。
详细解析
核心组成
- 模型:理解目标、规划步骤、做出决策
- 工具:搜索、读写文件、调用 API、执行代码,让模型能获取信息、影响外部世界
- 记忆:短期记忆是当前的上下文;长期记忆是跨会话保存的信息,比如用户偏好、历史结论
- 循环:不断"行动 → 观察",直到完成任务或触发停止条件
怎么运转
最经典的思路是 ReAct:模型交替进行"推理 → 行动 → 观察",直到完成任务,详见 ReAct 模式。现在的模型原生支持工具调用,代码结构和工具调用的循环基本一样,可以看手写一个最小的 Agent 循环。区别在于任务更开放、步数更多,对规划、记忆和出错恢复的要求更高。
和工作流的区别
工作流的每一步由开发者预先写好,可控、成本可预期;Agent 由模型在运行时决定下一步,灵活但结果和成本都有不确定性。实践中的原则是能用简单方案就不上 Agent:从单次调用到工作流再到 Agent,按需逐步升级,取舍见工作流和 Agent 怎么选。
面试官可能追问
Agent 常见的失败原因有哪些?
- 工具描述不清楚,模型选错工具或传错参数
- 上下文越来越长,关键信息被淹没
- 陷入重复操作的死循环
- 工具报错没有反馈给模型,模型不知道失败了
- 任务目标和完成标准不明确
对应的措施:精简和优化工具定义、压缩上下文、设置最大步数并检测重复、把错误信息回传给模型、明确完成标准,详见怎么防止 Agent 失控。
多 Agent 一定比单 Agent 好吗?
不一定。多 Agent 适合能并行拆分、需要隔离上下文的任务,但会显著增加 token 成本和协调复杂度。一般先把单 Agent 做好,再考虑拆分,见多 Agent 的协作模式。
怎么评估一个 Agent?
看任务完成率,而不只是单步回答的质量;记录完整的执行轨迹,分析在哪一步出了错;同时关注成本、步数和耗时,见怎么评估 Agent 的表现。
易错点
- 不是"接上工具就是 Agent",关键在于模型是否自主决定执行路径
- Agent 的成本和延迟不可预测,生产环境必须设置上限
AI 模拟面试官
用自己的话回答,AI 对照参考答案打分、指出遗漏,再追问,最多 3 轮
登录后就可以和 AI 面试官对练,面试记录也会保存下来。登录
这道题你掌握了吗?
选一个最接近的状态,没掌握的题会出现在"我的进度 · 待复习"里。
学习记录暂存在本机浏览器。登录后自动同步到账号,换设备也能看到。