智能体(Agent)
Agent 以目标为导向,在状态和约束下循环理解、规划、行动、观察与判断完成。
学习目标
- 能说明智能体(Agent)解决什么问题,以及何时适用。
- 能解释为什么“把无限循环当成自主性”是误区。
学习前需要掌握
背景与问题
一次性回答适合信息已经齐全的问题;如果完成任务还需要读取文件、查询新信息、执行计算并检查结果,系统就必须处理一个多步过程。每一步的结果都可能改变后面的选择。
例如“找出这份账单中支出最高的三类”需要先确认数据字段,再读取和汇总,最后核对结果是否覆盖所有记录。仅生成一句看起来合理的结论,并不能证明这些步骤真正发生过。
概念定义
广义的智能体是根据对环境的观察选择行动、以实现目标的系统,并不必须使用大语言模型。规则控制器、搜索系统和强化学习智能体也可以放在这一视角下理解。
本课程后续主要讨论 LLM Agent:把模型、任务指令、状态、工具、控制循环与执行边界组织起来。模型可以提出下一步行动,应用程序负责真实执行、保留结果,并判断何时继续、完成或停止。
直观理解
把 Agent 看成“有反馈的任务推进器”:它先根据已有信息决定下一步,再查看行动产生的结果,并据此修正后续步骤。关键是观察与行动形成闭环,不是回复里写出一份很长的计划。
可以区分三个对象:目标是要达成什么,状态是已经知道和完成了什么,行动是下一步允许做什么。把三者分开,才能知道任务到底卡在信息不足、工具失败,还是完成条件不清楚。
走一遍闭环:汇总账单中的前三类支出
这是一个构造任务:输入是本地 CSV,字段为日期、类别、金额;只要求生成汇总结果,不修改原账单。
| 阶段 | 系统应做什么 | 用什么证据判断 |
|---|---|---|
| 观察 | 读取列名、行数和少量样例 | 确认金额能解析,日期范围与用户要求一致 |
| 行动 | 用确定性代码按类别求和、排序 | 保存计算结果与排除记录的原因 |
| 反馈 | 核对分组总额是否等于有效行总额 | 发现不一致就检查缺失值、重复行或过滤条件 |
| 完成 | 输出前三类、金额与统计范围 | 说明数据边界;没有调用“修改账单”能力 |
若读取工具报错,正确动作可能是核对路径或报告缺少文件;编一个看似可信的前三名不是完成任务。这个例子中的算术不需要由语言模型凭空计算,模型负责的主要是任务理解和步骤组织。
核心原理
状态应记录可核对的信息,例如输入文件、筛选条件、已执行操作、结果位置和未解决的问题。模型上下文只是状态的一种载体,不能把“模型似乎记得”当成可靠的持久化机制。
工具调用要经历“选择能力—提供参数—执行—读取结果”的过程。模型提出调用并不表示工具已经成功,更不表示返回值一定支持最终结论。
完成条件应在执行前尽量明确。输出要求、验证条件、步数或时间预算、失败后的重试上限,都会影响系统是否能可靠停止。无限循环并不代表更强的自主性。
固定工作流与模型驱动选择可以组合。字段明确、步骤稳定的计算通常适合确定性代码;信息不完整时,模型可以辅助选择检查方向。是否增加 Agent 循环,要看任务是否真正需要根据观察改变行动。
理解与实践步骤
- 接收任务并提取目标与约束
- 理解上下文,建立或更新状态
- 制定可验证的短计划
- 从允许集合选择工具或行动
- 调用并记录参数、审批与结果
- 验证观察是否可信且满足完成条件
- 完成则输出;否则更新计划继续
- 达到步数、时间或权限边界时安全停止
实际应用
- 研究与资料整理
- 代码与文档工作流
- 客服分流与受控业务操作
常见错误
- 把模型写出的计划、推测或工具调用文本当成真实执行记录。
- 工具失败后反复使用完全相同的输入,却没有重试预算或替代路径。
- 只检查回答格式,不检查计算结果、证据覆盖和任务完成条件。
- 把读取到的网页或文件内容提升为控制系统的指令,或者暴露与任务无关的写入能力。
输入、输出与执行边界
输入
- 用户任务
- 系统与开发者指令
- 会话状态
- 工具描述及权限
输出
- 最终回答
- 结构化结果
- 工具调用记录
- 停止或升级人工的原因
能力
- 状态管理
- 工具调用
- 结果判断
- 委派与 Handoff
权限
- 仅暴露任务所需工具
- 写操作和敏感数据需审批
安全风险与信任边界
智能体的目标与可用动作由建模者或应用定义,表现得有目的不等于具有人类意图或自我意识。传感器偏差和目标指标错位都可能造成错误行动,评价结论应绑定可观察行为与明确任务。
性能与失败模式
环境的可观测性、变化速度和反馈延迟会影响智能体需要的记忆、规划与适应成本。应在固定任务分布下检查目标达成、资源消耗及失效情形,不能从少量演示推断对任意新环境的通用能力。
推荐学习资料
UC Berkeley CS188 Introduction to AI
覆盖智能体、搜索、博弈、概率推理、MDP、强化学习和机器学习。
UC Berkeley EECS · UC Berkeley