大语言模型与 Agent
模型负责推断和生成,Agent 系统负责上下文、工具、循环、状态和结果控制。
学习目标
- 能说明大语言模型与 Agent解决什么问题,以及何时适用。
- 能解释为什么“把幻觉当成工具执行结果”是误区。
学习前需要掌握
背景与问题
语言模型可以生成计划、工具参数和解释,但单次生成本身不会自动读取磁盘、等待服务响应或确认副作用。要把“提出下一步”变成“完成外部任务”,应用还需要执行器、状态与反馈。
区分 LLM 与 Agent,有助于解释一种常见现象:模型说“文件已保存”,但工具轨迹中从未出现写文件操作。自然语言声明不能代替外部系统的执行证据。
概念定义
LLM 是根据输入生成输出的模型;Agent 是围绕模型建立的目标驱动运行系统。
直观理解
LLM 能提出下一步,Agent 运行器才决定是否允许、如何执行、如何记录以及是否继续。
核心原理
LLM 根据输入上下文生成输出,可以是文本,也可以是符合接口形式的工具调用候选。参数可能在语法上正确、语义上却错误;模型生成路径或订单号,并不证明该对象真实存在。
Agent 把模型与任务状态、可用工具、运行循环和终止规则组合起来。应用读取模型候选,执行参数与权限检查,再调用真实工具;工具结果成为下一轮决策的观察,而不是由模型自己假定成功。
模型上下文不是唯一的状态载体。长期任务需要在应用中保存已完成动作、引用证据和审批记录;否则上下文压缩或进程中断后,模型可能重复执行有副作用的动作。
是否需要 Agent 取决于任务是否需要随观察调整行动。固定的数据转换可以直接由代码完成;一次写作任务也可能只需要单次模型调用。加入循环会增加工具错误、延迟和停止控制的责任,不能仅凭名称判断系统更强。
案例:查询库存与真正预留库存
用户要求查看某商品是否有货。LLM 可以提出库存查询调用,运行器校验商品标识后调用服务,拿到“可用库存 3 件”的结果,再让模型组织答复。数字来自服务观察,而不是来自语言模型训练时的知识。
如果用户进一步要求预留 1 件,系统还要确认授权、检查库存版本并执行预留工具。查询成功不意味着预留成功;预留返回冲突时,Agent 应重新查询或报告失败。整个闭环由应用组织,模型负责其中的理解与候选决策。
理解与实践步骤
- 模型接收状态
- 产生回答或工具请求
- 运行器验证并执行
- 结果回填
- 判断继续或结束
实际应用
- 区分模型评测与系统评测
常见错误
- 把模型写出的工具名称或执行语气当作已经发生的外部动作。
- 认为换成更大的模型即可替代参数校验、授权与完成验收。
- 用同一个“成功”标签混淆内容生成成功、工具执行成功和用户目标达成。
输入、输出与执行边界
输入
- 提示与上下文
- 工具 Schema
输出
- 文本、结构化输出或工具调用意图
能力
- 区分模型评测与系统评测
安全风险与信任边界
语言模型生成计划与 Agent 实际执行计划之间存在行动边界。接入工具和循环后,错误可能从文本扩展为真实操作,因此需要核对动作参数、执行反馈与任务状态,不能把流畅解释视为操作已正确完成的证明。
性能与失败模式
Agent 的延迟和费用来自多轮推理、工具等待与验证,通常不能只用单次模型响应速度衡量。用相同任务比较直接回答与 Agent 流程,检查额外步骤是否增加有效证据,还是只产生重复搜索和自我确认。
推荐学习资料
参考库不会生成虚假资源或无效外部链接。