想让通义千问真正记住前几轮聊过的系统版本、角色设定或者刚确认的技术参数,而不是每问一次都要从头交代背景,那你就得掌握几个关键操作。否则对话容易断片,答案也老在摇摆——左边刚说好的配置,右边又给忘了。

说白了,长期记忆这件事,不是开了开关就万事大吉,还得用得对。以下三个环节,一个都不能少。
确保长期记忆功能已开启
这是所有连续对话的前提。没开这个开关,模型压根儿不会保留跨轮次的用户偏好和设定,问完即忘。
1. 打开通义千问网页端,登录你的账号;
2. 点击左下角头像 → 选择“设置” → 切换到“个性化”标签页;
3. 找到“长期记忆”开关,确认它是蓝色开启状态;
【若显示灰色,请点击开启,并等待页面提示“已启用,最多保存50个记忆项目”】
4. 关闭设置页,无需重启或刷新,这个状态立刻生效。
在单一会话窗口内自然延续提问
这是普通用户最常用、也最容易踩坑的操作路径——看似只是多打几行字,实则决定了上下文是否真正连贯。
方法一:网页/App端免操作维持法
全程在当前聊天框中输入新问题,不要点击右上角“+ 新建对话”按钮;
不关闭当前标签页或App界面;
不切换至无痕/隐私模式访问,否则本地会话数据无法持久化;
如果中途误点了“新建对话”,之前的所有上下文将不可恢复,必须重新设定角色与前提。
方法二:追问时嵌入轻量锚点(推荐用于技术类对话)
当问题涉及具体环境或参数时,在提问开头加一句简短复述,比如:“【Ubuntu 22.04 + Python 3.9】请写出检查SSL证书有效期的Python脚本。”
这比单纯说“请写个检查证书的脚本”准确率高3倍以上,模型能直接绑定执行环境,避免默认调用macOS命令或返回过时语法。
API调用时手动构造messages数组
对于开发者或自动化场景,前端界面的“自动记忆”完全失效,必须靠代码显式传递全部上下文。
第一步:初始化空列表 messages = [];
第二步:首轮添加用户消息,格式为 {"role":"user","content":"你是一名嵌入式Linux工程师,请说明如何在ARM64设备上启用USB OTG功能。"};
第三步:收到回复后,立即将其以 {"role":"assistant","content":"需修改dts文件并加载g_ether模块..."} 格式追加进数组;
第四步:下一轮提问前,再次向数组末尾插入新的用户消息,并将整个 messages 作为参数提交请求;
【关键提醒:每次请求都必须传入完整数组,不能只传最新一条】
