ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

18. Agent 的多轮对话状态如何管理?如何防止跑偏并支持中断恢复?

18. Agent 的多轮对话状态如何管理?如何防止跑偏并支持中断恢复?

18. Agent 的多轮对话状态如何管理?如何防止跑偏并支持中断恢复?

👔面试官:一个 Agent 要连续聊几十轮,还要执行复杂任务,你会怎么管理它的对话状态?
🙋‍♂️我:把所有历史消息都存进 Redis,每次完整传给模型,它就知道前面聊过什么了。
👔面试官:历史消息只是原始记录。任务目标、当前步骤、待调用工具和已经完成的动作都埋在自然语言里,模型每一轮都要重新猜。对话一长,不仅 Token 会爆,任务还很容易跑偏。
🙋‍♂️我:那我把第一轮需求保存成 ,以后永远不允许修改,这样就不会跑偏了。

👔面试官:如果用户明确说「刚才的任务先暂停,改成帮我订明天的票」呢?防跑偏不是不许用户换任务,而是不允许系统在用户没有授权时悄悄改目标。
🙋‍♂️我:明白了。再给每一步做 checkpoint,服务挂了以后从 checkpoint 继续执行,应该就能恢复了。

👔面试官:如果发送消息这个工具其实已经成功,只是响应在网络上丢了,恢复后再执行一次,不就发了两遍?只会保存状态还不够,你还得讲清楚恢复边界、幂等和外部副作用核对。
这道题考的是怎样把一段自然语言对话,变成一条可控、可追踪、可安全恢复的任务链。「聊天记录存在哪」只是最基础的一层。

💡-简要回答

我会先把信息分成四类,而不是把所有内容都塞进

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进