微信扫码
添加专属顾问
我要投稿
告别AI“金鱼脑”!本文带你30分钟内上手Dify的“上下文记忆”和“会话变量”两大开箱即用能力,打造能记住对话重点的智能体。核心内容:1. 上下文记忆:实现流畅多轮对话的基石,详解其底层机制与使用边界2. 会话变量:掌握短期记忆的核心,通过实例学习如何设置与应用3. 实战演练:手把手构建电影推荐Agent,验证记忆功能的有效性
本文是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的“瞬时记忆”——刚说完的话它还记得,但如果你不主动强调,重点就滑走了。
如果说上下文记忆是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: 偏好的住宿类型,如特色民宿、星级酒店、青年旅舍等如果用户没有提到某个字段的信息,请将该字段留空,不要猜测或编造。用户输入:{{
💡 关键配置:在【高级设置】中,建议打开【记忆窗口】 。因为用户的旅行偏好(天数、风格等)往往是通过多轮对话逐步透露的,开启记忆能确保信息被完整、准确地捕捉。
(3)模板转换节点
参数提取后,需要把分散的关键信息聚合成一个结构化变量,方便后续LLM一次性读取。通过模板转换节点实现:在【设置】中添加4个变量,分别指向“参数提取器节点”识别出的对应字段。
{"目的地":{{destination}},"旅行天数":{{travel_days}},"旅行风格":{{travel_style}},"住宿风格":{{ accommodation}}}
(4)变量赋值节点
会话变量通过变量赋值节点进行赋值,将5个会话变量对齐参数提取器及模板转换的输出变量。
💡 调试技巧:在“变量赋值节点”后接入一个“输出节点”直接打印聚合变量,可以快速验证会话变量是否有效赋值。
(5)LLM节点——最终生成
完成会话变量赋值,即捕捉到用户旅行的关键信息,通过“LLM节点”实现内容生成。提示词如下:
你是一个友好的旅行规划助手。根据以下已知的用户偏好,进行回复。如果信息还不完整(例如,缺少天数或风格),请自然地引导用户补充。如果所有信息都已收集齐全,则生成一份完整的、个性化的旅行建议。当前已知的用户偏好:{{第1轮交互:只输入旅行地点,助手自动引导用户补充天数、风格等信息。此时会话变量仅记录到目的地。
第2轮交互:输入旅行天数、风格和住宿要求后,助手捕捉到完整信息,生成了详细的每日行程规划。此时会话变量全部填充完毕。
(此处省略中间截图1M)
至此,我们完整掌握了Dify内置的两种记忆能力:上下文记忆解决“即时回忆”,会话变量解决“精准记录”。但两者都有一个共同局限——记忆止步于单次会话,会话结束即清零。
下篇将进入外部持久化记忆阶段,基于Mem0插件为Dify装上真正的“长期大脑”,实现跨会话、永不过期的记忆能力。
敬请期待!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-06-15
Dify也开始CLI了,来看看有啥用途?
2026-06-11
现在用 Dify 上生产?先搞清楚该用哪个版本 !
2026-06-03
Dify做门面,n8n当胶水,LangGraph扛大活——制造业Agent选型真相
2026-06-02
Dify 可观测性方案全解:从内置仪表盘到七大外部集成
2026-05-22
从零上手Dify:让大模型拥有Skill并跑通第一单
2026-04-18
Dify实战:不用写SQL,问就行
2026-04-12
Dify 和 OpenClaw 到底怎么选?不是取代,是分工
2026-03-28
Dify v1.13.3发布了:这次让AI工作流真正"懂"人话
2026-03-28
2026-04-18
2026-04-12
2026-05-22
2026-06-03
2026-06-11
2026-06-02
2026-06-15
2026-06-18