Dify 保姆级教程之:零代码打造个性化记忆助手
来源:互联网
时间:2026-05-31 11:00:17
说实话,想在本地把环境配置好,确实有点烦人,对新手来说尤其不友好。
那有没有更省事的办法——比如直接在 Dify 上搭一个智能体,让它拥有大模型的“长期记忆”?
琢磨了一下,发现 Dify 官方案例里其实就有一个现成的模板,叫“个性化记忆助手”。今天就把这个搭建过程拆开揉碎了说一说,希望能给有类似需求的朋友一些启发。
如果你已经按之前的教程搞定了 Dify 本地安装,那很棒;资源不够的话,直接用官方的在线体验地址也行。
1. 官方案例
在 Dify 首页的第一个 Tab 里,官方内置了不少已经搭好的智能体案例:
其中就有一个叫“个性化记忆助手”的智能体。点击“添加到工作区”:
它就会被复制到你的“工作室”里:
点进去就能看到完整的编排逻辑,然后根据自己需要直接改就行:
1. 了解会话变量
Dify 里有个内置的全局变量,叫“会话变量”,就在右上角:
这个“会话变量”是干什么用的?
和多轮对话里的内容类似,它也能作为 LLM 的上下文,但它的自定义程度更高。
举个例子,在这个智能体里,就定义了一个叫 memory 的会话变量,专门用来存放那些需要大模型记住的信息。
那问题来了:这个 memory 具体是怎么起作用的?
咱们一步步往下看。
2. 智能体拆解
第一步,信息过滤
第二步,条件判断
第三步,提取记忆
在提示词里,指定了三种记忆类型:
"facts": [],
"preferences": [],
"memories": []第四步,存储记忆
memory 里。第五步,根据记忆回复
memory 转成字符串,也就是下面图中的 {x}result,放到角色提示词里,让大模型根据这些记忆来做出回答。到此为止,基于“对话内容中有需要缓存的记忆”这个场景,上方“提取记忆”的分支就算搞定了。
如果第二步判断为 No,那就不提取新信息,直接基于已有记忆进行回复,也就是下面的分支。整体流程图长这样:
3. 效果展示
和它聊了几轮之后,点开右上角的“会话变量”,可以看到 memory 里已经缓存了好几条事实类的“记忆”:
效果还挺理想。不过,真的完美了吗?
相比直接把多条聊天记录当作上下文,这种方式确实优雅很多,也大大减少了 Token 消耗。
但客观来说,至少还有两个地方可以优化:
- 随着记忆内容的累积,每次对话都把全部记忆拿来当上下文,会显得很冗余,这时候可以考虑结合 RAG 来做;
- 每次只从单轮对话里提取记忆,缺少足够的上下文,容易造成断章取义。理想的做法应该从多轮对话中提取更有价值的信息。