一句话回答
短期状态,就是 Agent 为了完成当前任务临时保存的信息。它关心的不是“永远记住用户”,而是“这件事现在做到哪了”。
01 什么叫短期状态?
task workbench
读取需求
查询日历
找到空闲时间
确认联系人
创建日程
返回结果
用户要约谁?
哪一天?
什么时间范围?
已经查询过什么?
找到了哪些时间?
会议创建成功了吗?
这些围绕当前任务临时保留的信息,就是当前任务的短期状态。
02 为什么 Agent 特别需要它?
multi-step task
理解需求
查资料
调工具
获得结果
做判断
再调工具
最终完成
重复查询
刚刚已经查过订单,又从头查一遍。
丢失限制
用户说下午开会,后面却安排到上午。
重复执行
工单已经创建成功,又重复创建一次。
03 本轮任务到底该记什么?
four fields
任务目标
用户最终想完成什么,不能执行到一半就丢掉。
找到高意向客户,并创建销售跟进任务。
关键条件
时间、对象、范围、预算、限制等,会影响后面的每一步。
今天、新客户、预算 5 万元以上。
执行进度
哪些已经完成,哪些正在进行,哪些还没开始。
已查客户,正在判断意向,尚未创建任务。
重要结果
工具返回的关键数据,可能成为下一步依据。
新增 28 人,预算达标 7 人,高意向 3 人。
已查询新客户
已获取客户资料
已筛选预算
正在判断客户意向
尚未创建跟进任务
04 举个订单处理的例子
order state
当前目标
查询订单
查询物流
AI 判断
创建工单
任务处理订单物流异常
订单号A10086
订单状态已发货
物流状态5 天未更新
判断物流异常
处理已创建客服工单
工单号TK-10028
任务状态已完成
05 状态管理不是记得越多越好
remember right
应该留下
订单号、退款原因、金额、处理进度。
不必塞进来
三个月前用户问过的一篇文章怎么写。
状态管理的重点不是“记得多”,而是“记得对”。
06 原始对话和任务状态不是一回事
from messy to clear
原始对话
我昨天买了专业版,付了 3980,现在不想用了,想看看能不能退款……
整理后的状态
任务:申请退款;产品:专业版;金额:3980 元;订单:待查询;原因:不再需要;状态:等待查询退款资格。
07 短期状态会不断变化
live update
一开始
订单号:未知
退款资格:未知
退款状态:未处理
获得订单号
订单号:A10086
退款资格:待查询
退款状态:未处理
查询完成
订单号:A10086
退款资格:符合
退款状态:等待人工确认
确认以后
订单号:A10086
退款资格:符合
退款状态:已提交退款
短期状态,就是 Agent 的任务进度表。
08 什么时候应该清理短期状态?
cleanup
任务开始
创建短期状态
执行中更新
任务完成
保留必要结果
清理临时信息
09 短期状态和长期记忆有什么区别?
state vs memory
短期状态
解决这件事情现在做到哪了。
当前订单号是 A10086
已经查询过物流
下一步需要创建工单
长期记忆
解决以后还值得知道什么。
用户长期偏好的语言
用户常用工作方式
长期项目核心规则
10 什么不该随便进长期记忆?
not everything
今天查询了上海天气
某次工具调用失败一次
本次文章临时控制在 800 字
正在调用订单工具
临时任务信息,就留在短期状态里。
11 一个简单判断方法
ask first
任务结束以后,这条信息还有必要继续影响未来的任务吗?
没有必要放短期状态,完成后清理。
长期有用再考虑进入长期记忆。
12 状态可以帮助 Agent 恢复任务
resume
目标分析 100 个客户
当前进度已完成 63 个
剩余37 个
数据获取已完成
当前阶段客户评分
如果系统中断,清楚的任务状态能让 Agent 有机会从之前的位置继续执行。
13 从聊天上下文走向任务状态
agent mindset
普通聊天 AI
我刚刚聊了什么?
真正的 Agent
我要完成什么、已经做了什么、现在做到哪了、下一步该做什么?
用户目标
关键条件
工具结果
执行进度
待完成步骤
本节练习
为一个订单异常任务写状态表
把“检查订单 A10086 的物流,异常时创建工单”拆成任务目标、关键条件、执行进度、重要结果和清理规则。
目标最终要完成什么?
条件订单号、时间、限制是什么?
进度已经做到哪一步?
结果工具返回了什么?
清理完成后哪些状态要放下?
本节小结
- 短期状态是当前任务的工作台,不是用户的一辈子档案。
- 一般先记录任务目标、关键条件、执行进度和重要结果。
- 状态会随着任务推进不断更新,帮助 Agent 知道下一步该做什么。
- 任务结束后,只保留必要结果,清理不再需要的临时信息。