很多人做 Dify 多轮对话,第一反应都是:怎么把上下文记住?于是很快就会开始堆:会话变量历史消息槽位填充各种状态字段刚开始看起来还挺顺。Demo 能跑,追问也像回事,模型好像也“记住了前面说过的话”。但项目一旦往前走,问题就会马上变味:为什么用户明明改了需求,系统还沿着旧任务继续跑?为什么一插入人工审核,状态就开始混乱?为什么外部系统已经返回失败,流程还在往“成功”方向推进?为什么同一个助手,前几轮还正常,越到后面越容易串状态、串字段、串结果?这时候你就会发现:多轮状态从来不是一个“功能点”,而是一道系统设计题。如果一开始拆错了,后面每多接一个节点、每多接一个外部系统、每多加一层人工确认,复杂度都会往上翻。这篇文章,我就想把这件事讲透:为什么 Dify 的多轮状态本质上是系统设计问题?真正该怎么拆,后面才不会越做越乱?