#2432·airi

# 功能建议:双轨对话机制(内心话 vs 说出口的话),提升角色"活人感"

Author: Zhaohaoyang625Created Sep 1, 2026Updated Sep 11, 2026
Labelsscope/agentscope/uifeature

Clear and concise description of the problem

作为使用这个项目的开发者,我希望 AIRI 支持双轨对话机制,这样角色可以有"内心话和口头话不一致"的活人质感。

背景

我是 AIRI 用户 + AI 伴侣自研项目作者。在让 AI 伴侣"像真人"这件事上,我验证过一个效果显著但 AIRI 目前缺失的机制:双轨对话——角色的"内心想法"和"说出口的话"分开,允许不一致。

现状问题

  1. AIRI 目前角色卡只能通过系统提示词"描述"内心活动(比如"嘴上说没事,心里要让人感觉到吃醋"),但没有结构化机制,LLM 输出的内心话和口头话混在一起,效果不稳定
  2. 真人感的质感恰恰来自"不一致":心里吃醋委屈,嘴上却说"没事啦~你忙你的吧";心里开心得要命,嘴上说"才、才没有那么想你咧"。心里话和口头话有落差,才是活人的质感

Suggested solution / Ideas

期望功能

  1. 角色卡 Schema 支持双轨:角色回复时可输出 inner_thought(内心话)+ spoken(说出口的话)两个字段
  2. UI 可选呈现
    • 默认只显示 spoken(保持自然)
    • 提供开关:内心话以小字/气泡旁注的形式显示,让用户"偷看她的心"(这是很强的伴侣体验卖点)
  3. 内心话的呈现规则可配置(总是显示 / 从不显示 / 只在特定角色卡显示)

接入建议

  1. 角色卡 V3 schema 增加可选的双轨输出约定(不破坏现有格式)
  2. 后端将 inner_thought 与 spoken 分流:spoken 走正常对话流程(TTS 也只念 spoken)
  3. UI 在聊天气泡上提供"心声"切换开关,默认关闭

Alternative

内心话的呈现规则可配置(总是显示 / 从不显示 / 只在特定角色卡显示)

Additional context

参考实现(我的实战验证)

在我的项目中,双轨是核心机制,已稳定运行:

  • LLM 每次回复输出 JSON:{"inner_thought": "...", "spoken": "...", ...}
  • 内心话短、真实、口语化,像一闪而过的念头(一两句);说出口的话可以更收敛、更甜、或嘴硬
  • 实测反馈:台湾甜美风格的角色,如果"句句甜、句句语气词",用户会觉得做作("那种语言比较做作");引入双轨后,角色可以心里甜甜的、嘴上正常说话,既自然又有反差萌——对话仿真度提升明显

附加价值

  • 对"仿真感"的提升是体验级的:AI 伴侣的核心魅力不是"能说漂亮话",而是"有内心"
  • 角色卡创作者(如我)可以写出更立体的角色
  • 后续可与情绪系统、记忆系统联动(内心话是情绪的天然载体)

如果需要我提供角色卡示例、prompt 写法或双轨对话样本,我可以补充。谢谢!

Validations