热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >Dify记忆能力实战(上):上下文记忆与会话变量,让AI告别“金鱼脑”

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

来源:互联网 更新时间:2026-06-19 13:39

告别AI“金鱼脑”!本文带你30分钟内上手Dify的“上下文记忆”和“会话变量”两大开箱即用能力,打造能记住对话重点的智能体。
核心内容:
1. 上下文记忆:实现流畅多轮对话的基石,详解其底层机制与使用边界
2. 会话变量:掌握短期记忆的核心,通过实例学习如何设置与应用
3. 实战演练:手把手构建电影推荐Agent,验证记忆功能的有效性

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

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

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

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构建步骤

(1)会话变量配置

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

变量名

类型

用途

destination

String

记录目的地

tra vel_days

Number

记录旅行天数

tra vel_style

String

记录风格偏好

accommodation

String

记录住宿偏好

collected_info

String

汇总所有信息供LLM读取

(2)参数提取节点

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

提示词填写如下:

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

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

(3)模板转换节点

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

{"目的地":{{destination}},"旅行天数":{{tra vel_days}},"旅行风格":{{tra vel_style}},"住宿风格":{{ accommodation}}}

(4)变量赋值节点

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

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

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

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

你是一个友好的旅行规划助手。根据以下已知的用户偏好,进行回复。如果信息还不完整(例如,缺少天数或风格),请自然地引导用户补充。如果所有信息都已收集齐全,则生成一份完整的、个性化的旅行建议。当前已知的用户偏好:{{#conversation.collected_info#}} 用户的最新问题是:{{#sys.query#}}

⚠️ 同样建议开启【记忆】功能,让大模型理解信息缺失情况,在多轮对话中自然引导用户补充信息。最后加上回复节点,整个Chatflow搭建完成。

(6)功能演示效果

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

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

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

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

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

敬请期待!

AI自动绘画大师
AI自动绘画大师

类型:益智休闲

大小:5.72MB

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc