从 0 设计 AI 陪伴产品:陪伴产品的内核是什么?
聊天软件AI角色卡、车载语音助手、桌面陪伴机器人,它们看似形态迥异,实则共享同一内核——为用户创造“有人陪伴”的主观体验。本文从定位、人格系统到情绪系统,层层拆解陪伴类产品的设计基准,助你跨场景打造有温度的产品。

先抛出一个问题:
聊天软件 AI 角色卡、车载语音助手、桌面实体陪伴机器人、儿童成长陪伴设备,它们到底算不算一类产品?
从外在看,形态、技术栈、商业模式完全不一样。可仔细琢磨又会产生疑惑:划为同类,差异巨大;当作无关产品,又能感受到底层相通。
很多人都有这种模糊感受,但很少有人深究本质。
我的观点:相比外在差异,它们的共性才是关键。不管软件还是硬件,这四类产品都在实现同一个核心目标 —— 带给用户 “有人陪伴” 的主观体验。
提炼出这个内核意义重大。掌握它,跨场景做产品就有设计基准;抓不住它,每一次新需求,都只能从零摸索。

该不该做,做的深度与增量,取决于你的用户是谁、场景是什么、想解决哪种情感需求。这也正是产品的差异性。
第一步:定位——先问三个问题,不是先想功能
这一步不产出任何功能,但它决定后面所有设计的基调。
- 谁:年龄、生活状态,以及个人独占还是多人共用?靠真实调研,别靠想象。共用设备(车载、客厅硬件)要处理记忆的归属与可见权限,独占设备没这负担。
- 什么场景:碎片化(车载,短时、易被打断)还是沉浸式(大段时间,随时随地)?等等
- 什么情感需求:陪伴要填的空虚是哪一类?——这里我拿四类举例:

很多用户是带着具体问题来的,聊着聊着才变成陪伴。同样是陪伴产品,这三个问题的答案不同,会导向完全不同的产品。
还有一条:这个场景独有的红线
红线不是模块,是约束。但它决定了各模块最低要做到哪儿,所以必须在这一步就定下来。
- 车载的红线是驾驶安全——必须能被随时快速打断,绝不能抢占注意力
- 校园或成人陪伴的红线是心理健康边界——不能替代专业咨询,识别到严重倾向必须有转介机制
- 教育家庭场景的红线是未成年人保护——不能替代家长,不能诱导依赖
红线的作用是往上抬底线。比如车载场景,情绪系统最低必须能识别疲劳驾驶——这不是加分项,是识别不出来就算失职。
第二步:人格系统——定义”它是谁”
人格系统要解决的其实只有一件事——一致性:用户能不能对它形成稳定的预期。
下面四层,是四种越来越难保证的一致性。
1 · 让人设可执行
1)人格锚点:3-5 个核心特质,不能多
人格锚点就是 AI 角色的性格骨架。控制在 3-5 个,不是为了省事——特质一多就容易互相打架,模型拿到一堆彼此矛盾的形容词,语气收敛不了。
2)表达一致性:软描述没用,要硬约束
语言风格、语气词、称呼方式,这些必须落到 Prompt 层面的硬约束。写在设计文档里的人格,模型看不见。需要固化的是三类规则:
- 语言风格:句式长短、口语还是书面、爱不爱开玩笑
- 语气词库:允许哪些、禁止哪些
- 称呼方式:固定怎么称呼用户、禁止怎么称呼
差别在这儿:
“说话活泼” —— 这是软描述,模型每次理解都不一样
“允许用:哇、哈哈;禁止用:宝、亲亲;统一称’你’;以短句为主,少用长从句” —— 这才是能执行的
3)边界:它绝对不会做什么、说什么
这条最容易被跳过,但边界比特质本身更能定义一个角色。
“温柔”是个虚词,一百个人有一百种理解。但”绝不追问用户不想说的事”是个实约束,谁拿到都知道怎么执行。负空间和正空间同样重要。 说清它不做什么,往往比说清它做什么更有效。
2 · 让特质之间不打架
上一层是把单个特质写清楚。再进一步,是让特质之间形成结构——把锚点拆成类目,类目之间互相约束。
比如拆成三类:
- 星座底色(可选):天蝎、处女……提供底层行为倾向,用来排除和它冲突的性格与表达
- 内在性格:勇敢直率、成熟自律、慢热踏实、爱恨分明……角色的本心和处事倾向
- 外在表达风格:戏精本精、顶嘴抬杠、务实冰冷、话痨搞怪……说话时的外在表现
分类目的价值在于,类目之间必须对得上:
你不会想要一个「性格:慢热踏实」+「表达风格:顶嘴抬杠」的角色。内在和外在互相矛盾,用户感觉到的是”它在演”,而不是”它就是这样”。
但锚点不是越多越好,得匹配产品定位。
工具属性强的产品——比如帮小朋友解题的学习陪伴——堆一大套人格锚点大概率是负担。用户来这儿不是为了认识”一个谁”,是为了把题做出来。这类产品的人格,做到稳定、不出戏、语气一致就够了;堆得越多越鸡肋,还会把产品重点带偏。
锚点该设几个,取决于用户会不会真的把它当成”一个人”来看待。
3 · 人格的落地载体:跨多通道统一人设表达
当产品具备语音、表情交互、实体动作等多模态能力时,人格设定不能仅局限于文本 Prompt,需要向下游各交互通道做同步定义,覆盖文本语言、语音韵律、表情状态、肢体动作、事件应激反应等维度。
仅依靠文本 Prompt 完成的人格定义,只能作用于文字会话链路;在实体机器人等硬件载体上,该部分人设无法被用户感知。若多模态组件(灯效、运动动作、表情模组)缺少对应的人格规范,硬件能力将无法承载角色性格,造成文本人格与实物表现割裂,用户感知人设断层。
第三步:情绪值/状态系统——定义”它怎么感受”
什么意思呢?其实就是定义角色如何感知与感受
1 · 情绪输入:从语义 + 语气 + 行为判断当下情绪
综合这三个信号识别用户此刻的情绪状态,作为角色反应的触发依据。
举例:用户发”今天太倒霉了”——语义负面 + 消极表情,判定为情绪低落;如果是连续发感叹句、反问,则识别为激动烦躁。
三个信号缺一不可。只看文字内容,”我没事”会被判成中性;加上语气和行为(比如说完就沉默了很久),才能判出真实状态。没有这一层,”陪伴”就只是”应答”。
2 · 情绪输出:不是无脑迎合,要有”自己的反应”
角色拒绝无脑附和,需要给出带有自身立场的回复。这里提供两种深浅不同的实现思路,也可结合产品自定义其它方案。
做法一:情绪坐标轴—— 策略由用户情绪状态驱动
以情绪建立二维坐标轴,例如横轴:难过 ↔ 开心;纵轴:平静 ↔ 激动,原点(0,0)代表不悲不喜。
示例坐标轴:横轴「难过 ↔ 开心」,纵轴「平静 ↔ 激动」,原点(0,0)代表不悲不喜。
-用户每轮输入,会对情绪坐标点施加偏移量;
-停止交互:没有新输入,坐标仅受回归力牵引,匀速直线回到原点;
-持续对话:回归力持续向原点牵引,同时用户每句输入持续施加新偏移,两股力量叠加,坐标自然形成波动曲线。

设计关键点:
第 2 句用户字面表述偏向正向,但情绪带有历史惯性,坐标不会直接跳转到正向区间。
如果采用无状态设计,单句独立判定为正向,直接输出 “太好了!那我们聊点开心的!”,用户会感觉角色翻脸太快,产生出戏感。
⚠️工程落地约束:情绪坐标轴、情绪数值不存入策略层 JSON,属于外部独立变量。
对话决策层只负责对话动作决策,只输出结构化 JSON,不生成面向用户的回复文本,对话决策层与生成层职责解耦。
怎么应用呢?以下只是举例
对话决策层

生成层

做法二:分层评价响应 —— 策略由「角色对事件的价值判断 + 用户情绪状态」驱动
执行链路:
提取事件触发点 → 角色基于人设价值观评估这件事 → 结合用户当下情绪 → 匹配应答策略:共情接纳 / 客观评述 / 温和反驳 / 陪伴疏导
示例:用户吐槽 “我想直接摆烂辞职”
- 事件触发点:冲动离职
- 角色内在评估:理解压力,但不认同冲动裸辞
- 用户情绪:疲惫、沮丧
- 输出策略:先接纳疲惫、表达共情,再客观分析风险,不怂恿摆烂,也不生硬说教
3 · 情绪的持久性:区分”这一轮的情绪”和”长期关系状态”
情绪分为两层,不能混为一谈:
- 单轮瞬时情绪:当前这一句话带来的即时心情,变化快,只代表当下瞬间感受。
- 长期关系状态:多轮对话沉淀下来的相处底色,包含信任、心结、委屈、亲密感;不会用户一句 “没事” 就直接消失。
示例
上一轮用户倾诉,情绪很难过;下一轮用户说:“算了,不提这个了。”
✅正确:瞬时情绪有所缓和,但依旧保留委屈底色,语气保持温和,不立刻亢奋闲聊。
❌错误:仅看当前语句,判定情绪完全归零,马上欢快聊天,角色显得出戏、不共情
落地要点
- 单轮瞬时情绪:作为偏移量输入情绪坐标轴。
- 长期关系状态:作为情绪底色保存在外部情绪模块,不进入对话决策 JSON,供给回复输出模块调节语气。
- (和前面方案关联)情绪坐标轴:依靠情绪惯性实现长期关系状态,情绪不会单轮直接清零。
- 分层评价响应:事件 + 角色价值观判断时,会叠加读取这份长期相处底色。
核心:用户这一句话的情绪 ≠ 双方真实的相处状态。
第四步:记忆系统——定义”它记得什么”
1 · 短期上下文
至少要记住这一轮对话聊到哪儿了。没有它,连基本对话都不成立。
2 · 短期与长期必须分层,不能混
长期记忆是”人情味”的主要来源——它记得你上周说过想去看的那个展,比它今天回答得多聪明更打动人。
但分层是硬要求。短期上下文和长期记忆混在一起,会导致上下文被无关的历史信息挤满,同时长期记忆里混进大量一次性的碎片。
3 · 记忆的准入门槛
这一层是我认为整个记忆模块里最值钱的。
不是听到什么都记。
上一层的问题是:模型听错了、理解偏了,也会被当成事实存进去。然后在某一次对话里,它会带着一个错误的”记忆”跟用户说话。
在陪伴产品里,假装记住了比没记住更伤。 没记住,用户觉得它笨;记错了,用户觉得自己被骗了——因为它明明表现得”我记得你”。
可行的做法是候选态机制:

没确认的不参与后续对话,写入失败的不展示”已记住”。
4 · 归属隔离(只有多人共享设备需要)
这一层只在车里、客厅里、教室里这类多人共享的场景需要。
而这里有个特别容易被漏掉的点:
记忆归属正确,不等于这句话现在能被说出口。
“这条记忆属于谁”和”这句话此刻能不能被在场的其他人听见”,是两个独立的风险维度。
而且——不要试图去分辨”现在在场的这个人是谁”。 技术上不可靠,产品上还有伦理风险。
可行的做法是保守的一刀切:
- 记忆按敏感度分级。低敏内容随便说;高敏内容(关系、姓名、健康、财务)需要过关卡
- 做占用检测,但只判断”有没有别人”,不判断”是谁”——座椅压力传感器这个级别的信号就够了
- 一旦检测到非本人独处,高敏内容默认降级:泛化表达、转到私人屏幕、或者干脆推迟
原则是:不确定该不该说的时候,选择不说,比赌一把说错要安全得多。
第五步:技术落地
前四步定的是”做什么”,这一步是”怎么做出来”。
先做一个切分:哪些外采,哪些自研
这是很多团队一开始就该定、但经常拖到很晚才定的事。
判断标准很简单:这件事做得比别人好,用户会不会因此选你? 会,就自研;不会,就外采。
TTS 音色好一点用户感知得到,但不会因此换产品;人设不一致用户会直接走人。

架构:三层处理输入
无论各模块配置到多深,落地时都建议把输入分三层处理:

举个例子:「放首周杰伦」是明确指令,意图和槽位都能被规则精确命中,直接执行,根本不需要进模型;「今天真是够累的」判断不出指令,走情绪路径进模型。能确定的绝不交给模型,这是做分层时的第一原则。
为什么要分层?三条理由,每一条都够硬:
- 成本——不是每句话都值得过大模型
- 可控性——人格边界不能交给大模型自由发挥
- 可解释性——出了问题要能定位在哪一层
多通道分发时的一个坑:表情和语音必须同源
如果表情标签是一套系统生成的、语音是另一套流程合成的,两者会不同步——说着开心的话配着难过的表情,或者语气和表情差半拍。
一个可行的做法是让表情标签直接内联在模型产出的回复文本里,语音从同一份文本做合成。这样表情和语音天然同源同步。代价是要在输出要求里加硬约束:每个分句必须带标签、只能用规定的那几个、不许自造、不许拿 emoji 顶替。而且——光靠提示词约束是不够的,必须有代码层的后处理兜底(标签归一化、分句补全)。这是我做这块时得到的最实在的一条经验。
最难的一关:冷启动数据从哪来
自研 NLU 和情绪模型都要数据和语料。但一个还没上线的产品,哪来的真实用户语料?
这是从 0 做陪伴产品最现实的一道坎,而且几乎没人讲。 六种办法,可以组合着用:
a. 内部试测。 用原型机、模拟器,先让公司内部的人用起来。优点是快、可控;缺点是内部人的说话方式和真实用户差得远,只能解决”有没有”,解决不了”像不像”。
b. 真人扮演 AI(绿野仙踪法)。 前端看起来是 AI 在回复,后台其实是真人在打字。用户以为在和 AI 聊,产生的是真实的用户侧语料——这是这个方法最大的价值。客服团队通常能承接这件事,最好有原有数据,更好做。
c. 同类产品语料迁移。 去看已上市同类产品的用户测评、应用商店吐槽、社区讨论。这些内容里藏着用户的真实预期——他们期待 AI 怎么回应、什么情况下觉得被冒犯。从吐槽里反推评价标准,比自己拍脑袋定标准准得多。
d. AI 模拟生成 + 少量真实记录。 用大模型批量生成对话语料,再用少量真实记录做校准和抽检。量能上去,但要警惕生成语料的同质化——它会让模型学到一种”AI 味”。
e. 先上线一个轻量版本,灰度收集。 比如先做一个功能收窄的语音助手版本上线,用真实流量换真实数据,再迭代。这是最有效但也最需要勇气的一条。
f. 预售期 / 封闭测试期收集。 实体产品尤其适合——预售到发货之间有一段窗口期,招募种子用户做封闭测试,这批人的容忍度高、反馈质量也高。
我的建议是 b + c 先行。 这两个不需要产品上线就能做,而且拿到的都是真实的用户表达和真实的用户预期——冷启动阶段最缺的从来不是数据量,是”真实感”。
贯穿全程:评估与迭代
这一步不是做完前五步再做,是从第一天就要想。定量指标

第三个指标很少被提到,但我认为它最贴近陪伴产品的价值本质——用户来的时候不开心,走的时候好一点了没有。 其他指标都是过程,这个是结果。–之后我们可以再探讨下,关于AI陪伴的评测指标。
定性
badcase 收集 + 用户真实原声。陪伴产品的 badcase 尤其重要,因为很多问题是数字反映不出来的——用户不会因为”它今天有点不像它”就流失,但这种感觉会一点点积累。
验证
AB 测试确认新设计是不是真的提升了体验,而不是团队自我感觉良好。
尤其是人格和情绪这类主观性强的改动,最容易出现”团队觉得变好了、用户没感觉”的情况。
最后
- 这份能力清单不是满分考核表,也不是场景能力上限限制,而是能力地板图:定义每个模块最低合格标准,同时说明进阶能力可以带来什么收益。
- 地板由场景红线决定,低于地板标准产品就无法成立;地板之上无天花板,每多实现一层能力,角色和用户的关系就更厚重。(举例:车载可以实现情绪持久性;角色扮演可以做长期关系累积,但需要匹配自身商业模式。
- 优先保证地板达标,再去做深度能力。
- 陪伴产品常见坑:不是高阶能力不足,而是根本不知道存在某一层设计。等到用户反馈 “总忘事”“人设前后变化” 才发现缺失模块,后期修补成本极高。
- 关键认知:主动选择不实现某项能力,和完全不知道这项能力需要设计,是两件完全不同的事。
本文由 @肥源 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
- 目前还没评论,等你发挥!

起点课堂会员权益




