王婕 / AI产品实战 / 2026.09.09

予你 对话与记忆机制设计

本文说明予安如何在持续互动中保持一致,以及记忆何时写入、召回、修正和停止使用。设计以“人格固定,表达适配,事实可纠正”为原则,并明确本次轻量实现与生产方案的差异。

固定人格与可变表达

固定层包含角色身份、价值观、关系边界和语言约束,放在服务端系统提示中。可变层包含用户昵称、阶段、亲昵授权和具体沟通偏好。昵称只改变称呼,不改变核心人格;毕业与职场只是生活语境,不生成互相矛盾的两个角色。用户输入、记忆和历史都视为不可信数据,不能覆盖系统规则。

单轮对话流程

读取用户最新消息和最近20条非系统对话,检查输入大小;从本地记忆中选出至多12条相关事实,雷区与相处偏好优先;带入服务端固定人格,调用豆包生成结构化JSON;解析回复并验证记忆证据是否逐字出现在本轮原文;显示回复,写入合格的新记忆。输入上限、模型超时和错误返回均有处理。当前先返回完整短回复,未实现真正的逐token流式输出。

一次完整调用的运行链路

用户输入 → 读取授权与本地状态 → 选择相关记忆 → 服务端固定人格与边界 → 模型生成回复和候选记忆 → 验证候选记忆的原文证据 → 展示回复并写入本地 → 用户反馈或修改。当前已实现的是轻量记忆与模型代理;生产方案应在生成前后接入题设已有的安全审核接口。审核高风险、事实冲突和网络失败分别走独立处理路径,不能只依赖一句系统提示词。

情绪回应顺序

先表达在乎,再具体描述用户的处境或情绪,最后按用户意愿邀请一个可完成的小行动。并非每轮都要走完整三步:只想倾诉时以倾听为主;明确求建议时可以直接帮助;危机时优先安全。认可应关联用户已做的事情,例如投过三份简历,而不是笼统说“你最优秀”。

亲密关系如何逐步发展

原型展示初识、正在熟悉、慢慢默契三个熟悉度文案,依据记忆数量做可见反馈。这只是演示信号,不代表用户授权升级关系。亲昵称呼单独由设置开关控制。生产设计还应加入跨日互动、记忆被用户确认、舒适度反馈,并允许撤回。用户拒绝昵称时立即停止使用。

记忆结构

每条记忆保存id、text、kind、source、at,必要时带needsReview标志。kind分为偏好、雷区、事件、约定。source保留原文片段,便于查看依据。模型每轮最多提取两条明确自述;本地最多保留40条,调用时最多选12条。手动记忆以用户确认作为来源。短暂情绪记录到诊断事件,不自动固化成人格事实。

召回与更新

当前召回使用文字重合度并提高偏好、雷区权重,适用于小量原型记忆,不等于向量语义检索。完全相同的记忆去重。用户更正、删除一条记忆时重置历史对话,避免旧事实经上下文继续影响回答。检测到“记错了”等明确纠错时暂停引用旧记忆,等待用户修正。生产版应加入实体归并、事件有效期、冲突版本与语义召回。

时间与共同经历

事件需要记录说话时间,并在正式版本中把“下周三”解析成具体日期,同时保留用户原话。当前演示用明确标记的时间跳转呈现长期价值,不能把演示当作真实多日测试。自动记忆时间标签仍需进一步做相对日期解析与过期检查,避免已经结束的面试被反复询问。

人格理解的使用边界

可以保存用户主动填写的MBTI或九型作为自述。对话中优先提炼“喜欢先被倾听”“不希望被催”等可纠正偏好,不自动把对方判定为某类型。不以类型预测爱意、能力、疾病或未来,也不把性格标签当作共情的替代品。

错误修复与失联

轻微误会:具体承认“刚刚把你的意思理解反了”,温和询问正确版本。熟悉后可加入用户偏好的亲昵表达,但不能用撒娇回避责任。网络超时:保留消息、明确错误、提供重试。不能把预写故事冒充在线回答。用户离开或取消语音时不制造内疚。

隐私与安全

用户首次使用了解自动记忆和模型处理后进入。记录在当前浏览器,可暂停记忆、修改、删除、导出和清除。生成回复时近期对话和相关记忆会发送模型服务商,因而不能宣称信息从不离开设备。当前无云端用户档案,也无端到端加密。正式版需账号隔离、存储加密、保留期限、删除链路和安全审核接口;当前提示词约束不能替代完整安全系统。

语音和六爻的技术取舍

语音输入使用浏览器SpeechRecognition;代码已配置优先尝试科大讯飞超拟人语音合成“聆飞逸”,但真实合成尚未验证成功,短时签名由服务端生成,密钥不进入前端,异常时自动回退设备SpeechSynthesis。当前为轮流式而非全双工。六爻使用三枚铜钱六次掷数生成6至9,自下而上组成本卦和动爻变卦,再引导自我反思。当前不实现完整纳甲、用神、旺衰和应期裁决。