Coze智能体长期记忆功能如何做
引文
本文以语音小伴侣 [极速版]Coze智能体为示例,来阐述它是如何实现用户记忆功能的。
其智能体工作流如下图所示:
从上图我们可以看到该智能体工作流主要包含以下几个部分:
- 开始组件:引入用户输入(对话),自定义参数等
- 意图识别:根据用户输入,使用大模型,提取出用户意图(即需要走到哪个组件)
- 用户画像:引用用户变量user_profile
- 用户记忆: 引用用户变量user_memory_point
- IF选择器: 起到路由作用,根据意图识别的结果,路由到相关的组件(子工作流或闲聊组件)
- 子工作流:天气组件/搜索组件等,根据用户输入,进行具体内容的输出
- 闲聊组件:指定大模型的角色,使用大模型回复用户问题
- 用户记忆和用户画像的更新组件:根据用户输入,使用大模型提取出用户个人信息,然后去更新用户变量:user_profile/user_memory_point
- 结束组件:统一输出
核心实现原理
定义两个用户变量:
- user_profile:存储用户的基本特征
- user_memory_point:记录用户的交互记忆
使用流程:
- 用户说话 → 识别意图 → 调用相关变量 → 生成个性化回复
- 每次对话后自动更新用户档案和记忆点
用户记忆功能实现
定义用户变量
首先,在智能体配置页面,定义了user_profile和user_memory_point两个用户变量,如下图所示:
用户变量的使用
即如何把用户画像和用户记忆点给各个组件使用,以用户画像和闲聊组件为示例:
- 首先使用Coze文本处理组件,将用户变量提取出来放入该获取用户画像组件中,如下图:
2. 使用该用户画像
- 在闲聊组件,定义输入参数user_profile
- 在系统提示词里面,引入该参数user_profile
更新该用户变量
流程描述:
- 先使用大模型,从用户输入中,提取出用户画像/用户记忆变更点
- 再使用Coze代码工具,组合成全量的用户画像/用户记忆点信息
- 使用Coze变量赋值工具去更新用户变量