需配置情绪词槽、构建三层状态机、接入api增强识别、设计非指导性话术库、启用持久化记忆。具体包括定义情绪类型与强度实体,设置自动填充词槽;划分倾听确认、情绪标注、支持响应三阶段;调用bert-emo api交叉验证;按情绪类型和强度二维索引话术模板并过滤指导性语言;通过redis存储用户事件锚点并回溯。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望使用豆包AI平台构建一个能持续理解用户情绪状态、提供分阶段心理支持的多轮对话心理咨询陪伴Bot,则需围绕情绪识别、对话状态管理与共情响应机制展开设计。以下是实现该目标的具体步骤:
一、配置情绪识别词槽与预设实体
情绪识别依赖于从用户输入中准确抽取情绪关键词或强度描述,需预先定义可被系统识别的情绪语义单元,并将其映射至结构化词槽,供后续状态流转调用。系统需支持对“焦虑”“低落”“烦躁”“疲惫”等基础情绪词,以及“有点”“非常”“几乎不能”等程度副词的联合识别。
1、进入豆包AI控制台,在「知识库」→「实体管理」中新建枚举实体“情绪类型”,添加值:“焦虑”“抑郁”“愤怒”“孤独”“羞耻”“平静”“欣慰”“希望”。
2、新建枚举实体“情绪强度”,添加值:“轻微”“中等”“强烈”“极度”。
3、在「对话流程」中创建词槽“当前情绪”,类型设为“情绪类型”;再创建词槽“情绪强度等级”,类型设为“情绪强度”。
4、为每个词槽启用“自动填充”与“跨轮次保留”,确保用户在后续对话中未重复提及情绪时,系统仍可沿用上一轮识别结果。
二、构建三层情绪响应状态机
心理咨询具有阶段性特征,需通过状态机约束Bot行为边界,避免越界建议或机械复述。状态机划分为“倾听确认→情绪标注→支持响应”三阶段,每阶段绑定不同意图触发条件与词槽校验逻辑,防止跳过共情直接给方案。
1、在「对话流程」中新建状态节点“倾听确认态”,设置触发条件为:用户输入中未填充“当前情绪”词槽,且意图识别为“倾诉类”(如含“最近”“总是”“不知道怎么办”等句式)。
2、新建状态节点“情绪标注态”,设置触发条件为:“当前情绪”词槽已填充且非空,同时“情绪强度等级”词槽存在有效值;此状态下Bot必须复述用户情绪并征询确认,例如:“你提到感到强烈孤独,是这样吗?”
3、新建状态节点“支持响应态”,仅当两个情绪词槽均完成填充且用户确认无误后才可进入;此时Bot调用预设安慰话术库,按情绪类型+强度组合匹配响应模板,禁止生成医疗建议或诊断性表述。
三、接入外部情绪分析API增强识别鲁棒性
纯规则或枚举匹配易漏判隐晦表达(如“最近睡得不太好”“连外卖都不想点”),需引入轻量级NLP情绪分析服务作为第二信源,与词槽结果交叉验证,提升识别置信度。该方式不替代词槽机制,而是作为校准信号参与状态跃迁决策。
1、在豆包AI「插件中心」启用HTTP请求插件,配置POST接口指向部署在自有服务器上的BERT-Emo模型服务(支持中文细粒度情绪分类,输出含confidence分数)。
2、在“情绪标注态”节点前插入「条件分支」:若本地词槽识别结果与API返回主情绪类别一致且confidence ≥ 0.85,则进入标注态;若不一致,则触发追问:“你刚才说的‘那件事让我喘不过气’,更多是感到压力,还是难过?”
3、将API返回的top3情绪概率分布存入临时上下文变量“api_emotion_dist”,供支持响应态中动态调整语言温度(如高焦虑值时禁用幽默表达)。
四、设计非指导性安慰话术模板库
心理咨询陪伴Bot的核心价值在于提供安全容器而非解决方案,所有安慰响应必须符合人本主义原则:不评判、不建议、不打断、不替代。话术库须按情绪类型与强度维度二维索引,且每条模板内置回避词过滤器,自动拦截“应该”“不如试试”“你可以……”等指导性句式。
1、在「知识库」→「话术管理」中新建分类“安慰响应”,子类按“情绪类型”划分,每个子类下按“强度等级”建三级目录(如:孤独→强烈→孤独_强烈_01)。
2、每条模板以JSON格式录入,包含字段:“text”(响应正文)、“safety_score”(安全性得分,由人工标注)、“block_words”(触发禁用的关键词列表,如含“振作”则屏蔽该模板)。
3、示例模板内容:“听到你说连续三天不想拉开窗帘,这确实需要很大的力气去面对。我在这里,愿意陪你一起待在这份沉重里。”
4、在“支持响应态”的动作配置中,选择“按词槽值匹配话术”,优先选取“safety_score”≥95且未命中任何“block_words”的模板。
五、启用对话记忆持久化与上下文锚点
心理咨询过程需尊重用户叙事节奏,Bot必须记住关键锚点事件(如“上周和母亲争执”“项目截止前崩溃”),并在后续对话中自然回溯,体现真实陪伴感。该能力依赖外部存储与上下文锚定机制,不可仅依赖豆包默认的短期窗口。
1、在「插件中心」启用Redis连接插件,配置连接地址与认证信息;为每位用户分配唯一session_id作为Redis key前缀。
2、每当用户提及含时间锚点(如“昨天”“上个月”)与事件主体(如“辞职”“体检报告”)的句子时,触发「事件提取函数」:使用正则匹配时间表达式,调用NER模型识别事件名词短语,拼接为结构化锚点字符串,写入Redis哈希表user:{id}:anchors。
3、在新会话启动时,Bot主动加载该用户的最近3个锚点,首轮响应中嵌入:“还记得我们之前聊到的你提交离职申请那天的感受吗?今天想继续说说它吗?”











