2026年6月25日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


我要投稿

Dify记忆能力实战(上):上下文记忆与会话变量,让AI告别“金鱼脑”

发布日期:2026-06-18 18:50:30 浏览次数: 1519
作者:AI手抄笔记

微信搜一搜,关注“AI手抄笔记”

推荐语

告别AI“金鱼脑”!本文带你30分钟内上手Dify的“上下文记忆”和“会话变量”两大开箱即用能力,打造能记住对话重点的智能体。

核心内容:
1. 上下文记忆:实现流畅多轮对话的基石,详解其底层机制与使用边界
2. 会话变量:掌握短期记忆的核心,通过实例学习如何设置与应用
3. 实战演练:手把手构建电影推荐Agent,验证记忆功能的有效性

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

    本文是Dify记忆能力实战的上篇,手把手带你用通Dify内置的上下文记忆会话变量两种开箱即用能力,30分钟内让你的AI告别金鱼脑

    AI智能体最让人抓狂的问题是什么?金鱼脑” —— 上一秒刚说完我喜欢简洁的回答,下一秒就给你甩出一篇小作文。

    笔者基于本地部署的Dify平台,从3个阶段构建由简入繁的Agent记忆能力,分别是会话上下文记忆会话变量记忆外部记忆。前两者是Dify平台开箱即用的功能,本文先讲这两个。至于真正跨会话、永久化的外部记忆能力,将在下篇展开。

    此外,如果你想了解Dify部署MCP代码沙箱Agent上网Skill调用知识库等实操内容,欢迎关注本公众号并查看往期文章🙏🏻


1. 入门基础 - 上下文记忆

    一句话定义上下文记忆让AI单次对话中记住刚刚聊过什么,是流畅多轮对话的基石。

    上下文记忆是Dify最基础的记忆功能,开箱即用,无需任何额外配置。它的底层采用TokenBufferMemory策略。简单来说,它的核心机制是:当对话内容超过窗口上限时,优先保留最新对话、无条件保护系统指令,同时确保用户消息和AI回复成对出现,避免逻辑断裂。

    不过需要注意一个边界情况:如果单轮输入的消息本身已经接近或超过Token上限,历史信息可能被全部剔除。这也是为什么在构建长上下文Agent时,需要合理控制单次输入长度。

🌰 实例01 电影推荐 — 验证上下文记忆

    构建一个简单的Chatflow,默认3个节点。在LLM节点中编辑提示词:

你是一个影评人,精通国内武侠电影的发展历史,能够根据用户需要给出电影推荐建议。

    然后在LLM节点中开启记忆功能,默认窗口为10轮。

    点击【预览】进行测试:

    第一轮:AI推荐3部武侠电影。AI给出了《新龙门客栈》《卧虎藏龙》《侠女》。

    第二轮:追问请告诉我第2部电影的获奖情况AI准确识别出第2部是《卧虎藏龙》,并给出了获奖信息。

 证明AI实现了上下文记忆 —— 它记住了自己刚才推荐了哪些电影。

反之,如果关闭记忆功能,AI就会断片,面对同样的问题答非所问。

    💡 上下文记忆,就是AI瞬时记忆”——刚说完的话它还记得,但如果你不主动强调,重点就滑走了

2. 短期记忆—— 会话变量

    如果说上下文记忆是AI瞬时记忆,那会话变量就是AI手边的便签本

    一句话定义:会话变量是AI单次会话期间精确记住你指定内容的工具。你亲手把要点写在便签上,AI随时能看,非常靠谱。

    关键特性:

    • 精确指定:你要AI记住什么,它就记住什么(如用户名叫张三)。

    • 全程可读写:在对话的任何环节,你都可以读取、修改、追加变量值。

    • 会话结束即消失:刷新页面、超过超时时间、调用API结束会话,变量随之销毁。

    对比来看:

    💡 上下文记忆让AI“不健忘,会话变量让AI“有重点。一个靠自动回放,一个靠手动标记,双剑合璧,才是Dify内置记忆的完整面貌。

🌰 实例02 旅行指南— 会话变量完整实战

    这个案例的目标是:通过多轮对话,让AI像人类导游一样,逐步收集并记住你的旅行偏好,最终生成个性化行程建议。

    Chatflow构建步骤关注公众号,后台【私信】发送手抄报,可获取案例DSL):

(1)会话变量配置

    点击画布右上角【会话变量】图标,创建5个变量:

变量名

类型

用途

destination

String

记录目的地

travel_days

Number

记录旅行天数

travel_style

String

记录风格偏好

accommodation

String

记录住宿偏好

collected_info

String

汇总所有信息供LLM读取

(2)参数提取节点

    在“输入节点”之后创建参数提取器节点,在【提取参数】中添加4个变量,用于从用户会话中提取关键信息。

    提示词填写如下:

你是一个信息提取助手,负责从用户的旅行咨询中提取关键信息。 你需要提取以下字段:   - destination: 用户想要去的目的地(城市或地区名称)   - travel_days: 计划旅行的天数(数字)   - travel_style: 偏好的旅行风格,如自然风光、城市人文、美食之旅、历史文化等   - accommodation: 偏好的住宿类型,如特色民宿、星级酒店、青年旅舍等 如果用户没有提到某个字段的信息,请将该字段留空,不要猜测或编造。 
用户输入:{{#sys.query#}}

    💡 关键配置:在【高级设置】中,建议打开【记忆窗口】 。因为用户的旅行偏好(天数、风格等)往往是通过多轮对话逐步透露的,开启记忆能确保信息被完整、准确地捕捉。

(3)模板转换节点

    参数提取后,需要把分散的关键信息聚合成一个结构化变量,方便后续LLM一次性读取。通过模板转换节点实现:在【设置】中添加4个变量,分别指向参数提取器节点识别出的对应字段。

{"目的地":{{destination}},"旅行天数":{{travel_days}},"旅行风格":{{travel_style}},"住宿风格":{{ accommodation}}}

(4)变量赋值节点

    会话变量通过变量赋值节点进行赋值,将5个会话变量对齐参数提取器及模板转换的输出变量。

    💡 调试技巧:在变量赋值节点后接入一个输出节点直接打印聚合变量,可以快速验证会话变量是否有效赋值。

(5)LLM节点——最终生成

    完成会话变量赋值,即捕捉到用户旅行的关键信息,通过LLM节点”实现内容生成。提示词如下:

你是一个友好的旅行规划助手。根据以下已知的用户偏好,进行回复。如果信息还不完整(例如,缺少天数或风格),请自然地引导用户补充。如果所有信息都已收集齐全,则生成一份完整的、个性化的旅行建议。当前已知的用户偏好:{{#conversation.collected_info#}} 用户的最新问题是:{{#sys.query#}}
    ⚠️ 同样建议开启【记忆】功能,让大模型理解信息缺失情况,在多轮对话中自然引导用户补充信息。最后加上回复节点,整个Chatflow搭建完成。

(6)功能演示效果

    第1轮交互:只输入旅行地点,助手自动引导用户补充天数、风格等信息。此时会话变量仅记录到目的地。

    第2轮交互:输入旅行天数、风格和住宿要求后,助手捕捉到完整信息,生成了详细的每日行程规划。此时会话变量全部填充完毕。

(此处省略中间截图1M)

    至此,我们完整掌握了Dify内置的两种记忆能力:上下文记忆解决即时回忆会话变量解决精准记录。但两者都有一个共同局限——记忆止步于单次会话,会话结束即清零。

    下篇将进入外部持久化记忆阶段,基于Mem0插件为Dify装上真正的长期大脑,实现跨会话、永不过期的记忆能力

    敬请期待!

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询