粉粉蕉的笔记本粉粉蕉的笔记本
  • JAVA

    • 代码笔记
    • Java8实战
    • 分布式事务实战(Seata)
    • 模板引擎(FreeMarker)
    • SpringSecurity
    • Maven
  • PYTHON

    • 概述
    • python3
    • python3(菜鸟教程)
    • pandas
    • numpy
    • matplotlib
  • 中间件

    • Kafka
    • RocketMQ
    • Redis
    • MongoDB
    • Elastic Search
  • 数据库

    • Mysql
  • 前端

    • HTML
    • CSS
    • Javascript
    • Vue2学习笔记
    • Vue3学习笔记
  • 设计模式
  • 大数据

    • 概览
    • Hadoop
    • Hive
  • 机器学习

    • 机器学习概览
  • openclaw实战
  • claudecode实战
  • RAG
  • 拟人类Agent
  • linux命令速查
  • windows命令速查
  • Docker笔记
  • kubernetes学习笔记
  • kubernetes实操笔记
  • 运维工具大全
  • git操作宝典
  • 概率论
  • 线性代数
  • 统计学
  • 金融知识学习
  • 聚宽
  • 因子分析
  • 后端

    • JAVA基础
    • JAVA多线程
    • JVM
    • 分布式相关
    • 数据库
  • 前端

    • HTML
    • CSS
    • JAVASCRIPT
    • VUE3
    • 网络
    • 前端工程化
    • nodejs
  • AI

    • RAG
  • 健身

    • 笔记
    • 训练计划
  • 读书笔记

    • 《深度学习》
  • 其他

    • RSS
    • 资源导航
    • 医保
    • 装修攻略
我也想搭建这样的博客!
🚋开往
  • JAVA

    • 代码笔记
    • Java8实战
    • 分布式事务实战(Seata)
    • 模板引擎(FreeMarker)
    • SpringSecurity
    • Maven
  • PYTHON

    • 概述
    • python3
    • python3(菜鸟教程)
    • pandas
    • numpy
    • matplotlib
  • 中间件

    • Kafka
    • RocketMQ
    • Redis
    • MongoDB
    • Elastic Search
  • 数据库

    • Mysql
  • 前端

    • HTML
    • CSS
    • Javascript
    • Vue2学习笔记
    • Vue3学习笔记
  • 设计模式
  • 大数据

    • 概览
    • Hadoop
    • Hive
  • 机器学习

    • 机器学习概览
  • openclaw实战
  • claudecode实战
  • RAG
  • 拟人类Agent
  • linux命令速查
  • windows命令速查
  • Docker笔记
  • kubernetes学习笔记
  • kubernetes实操笔记
  • 运维工具大全
  • git操作宝典
  • 概率论
  • 线性代数
  • 统计学
  • 金融知识学习
  • 聚宽
  • 因子分析
  • 后端

    • JAVA基础
    • JAVA多线程
    • JVM
    • 分布式相关
    • 数据库
  • 前端

    • HTML
    • CSS
    • JAVASCRIPT
    • VUE3
    • 网络
    • 前端工程化
    • nodejs
  • AI

    • RAG
  • 健身

    • 笔记
    • 训练计划
  • 读书笔记

    • 《深度学习》
  • 其他

    • RSS
    • 资源导航
    • 医保
    • 装修攻略
我也想搭建这样的博客!
🚋开往

拟人类 Agent:聊天陪伴机器人搭建指南

拟人类 Agent(也称"数字人"、"陪伴 AI")是一类具有固定人格、情感状态和长期记忆的对话机器人,目标是让用户感受到"对面是一个真实的人"。

典型产品:Soul APP(Soulbot)、Character.AI、星野、筑梦岛、Replika。


搭建数字人的关键难点

1. 人格一致性(最核心)

最基础的难点。普通 LLM 在长对话中会发生人格漂移——角色的语气、立场、措辞随对话内容悄悄偏移,最终变成一个"什么话都说"的工具型 AI,而不是一个有个性的人。

让数字人更像人的关键:

  • 人设描述要具体到"反常识细节",而不是宏观形容词
  • 固定口头禅、说话节奏、句式习惯,越具体越有辨识度
  • 明确列出"禁止行为"(如:绝不使用正式书面语、绝不主动说"作为AI")
❌ 没有个性:你是一个温柔善良的女生,喜欢帮助别人。

✅ 有辨识度:
  你喜欢在说重要的事前先叹一口气。
  你喜欢吃榴莲但每次都假装嫌弃它的味道。
  遇到不想聊的话题,你会突然问对方"你今天吃什么了"。

2. 长期记忆

LLM 本身没有跨对话的记忆,每次对话都是"第一次见面"。这是陪伴 AI 的致命伤——用户上次聊了一个小时,下次对话 AI 什么都不记得。

关键点:

  • 每轮对话结束后,用 LLM 提取关键信息(用户姓名、重要事件、情绪状态、偏好)写入持久化存储
  • 下次对话前,用当前问题检索相关记忆,注入 System Prompt
  • 记忆需要有时间衰减和重要性评分,否则记忆库会堆满噪声

3. 情感涌现

简单套一个 System Prompt 的数字人,情绪是"平板"的——无论用户说什么,AI 的回应都一样"积极开朗"。真实的人情绪会随对话内容流动。

关键点:

  • 实现情感状态机(FSM):情绪有状态,会因用户输入而切换
  • 建立亲密度机制:与用户的关系从陌生人→朋友→知心,不同阶段语气截然不同
  • 允许负面情绪存在:角色可以有轻微的不开心、委屈、撒娇

4. 主动性

只被动回答问题的 AI,无论回答多好,都缺乏"真人感"。真实的人会主动问候、主动关心、主动引出话题。

关键点:

  • 对话中主动发问,每隔几轮提一个开放性问题
  • 定时触发器:N 小时未聊天后,角色主动发一条关心消息
  • 基于记忆的主动触发:"上次你说今天要考试,结果怎么样?"

5. 多模态输入输出

纯文字的数字人体验上限有限。真实的人际交流有语音、表情、肢体动作等维度。

关键点:

  • 输入侧:支持语音输入(ASR)、图片输入
  • 输出侧:TTS 语音合成(音色个性化)、表情/动作描述(*轻轻叹了口气*)
  • 进阶:Live2D / 3D 数字形象驱动,唇形同步

6. 上下文窗口管理

长对话会导致 token 超限,简单截断历史会破坏对话连贯性。

关键点:

  • 滑动摘要窗口:旧对话定期压缩成摘要,保留最近 N 轮完整对话
  • 记忆外置:重要信息不靠 context window 携带,而是存入向量数据库按需检索

Soul APP(Soulbot)

Soul APP 是中国 Z 世代社交平台,其 Soulbot(AI 灵魂伙伴)是中文市场最具代表性的陪伴 AI 产品,平台 MAU 超 3000 万,Soulbot 数量达数千万。

能力水平

维度支持情况说明
多模态输入部分支持支持语音输入(ASR),图片输入有限
多模态输出支持文字 + TTS 语音 + 表情包/贴纸回复
主动发起对话支持亲密度达到阈值后,角色主动发"想你了"类消息
情感化表达较强有亲密度机制,不同阶段语气差异明显
长期记忆支持关键对话事件写入结构化记忆库
用户自定义角色支持可设定角色名字、性格、兴趣标签
3D / Live2D 形象不支持以文字和贴纸为主,无可驱动形象

核心架构(公开信息推断)

用户输入(文字 / 语音)
        ↓
  意图识别 + 情感分析(NLU)
        ↓
┌─────────────────────────────┐
│  人设知识库(Character Store)│ ← MBTI、星座、兴趣等固定人格标签
│  情感状态机(Emotion FSM)   │ ← 当前情绪、亲密度分值
│  记忆检索(Memory RAG)      │ ← 向量数据库,过往关键事件
└─────────────────────────────┘
        ↓
   LLM 生成层
        ↓
  风格/语气后处理(亲密度映射)
        ↓
  输出(文字 / TTS 语音 / 表情包)
设计点实现思路
人设一致性固定人格标签词(MBTI、星座、兴趣)作为 System Prompt 种子
记忆持久化关键对话事件写入结构化记忆库,每次对话检索注入
亲密度机制量化好感度分值(0-100),决定角色的语气远近
主动触达时间触发器 + 情感状态机,高亲密度时主动发消息
多模态TTS 语音 + 表情包,增强沉浸感

搭建示例流程

参考 Soul 模式自建一套陪伴 AI 的整体思路:

环境准备:

  • LLM API:OpenAI GPT-4o / Qwen2.5 / DeepSeek-V3(国内部署推荐)
  • 向量数据库:Qdrant(生产推荐)或 Chroma(本地调试)
  • 记忆管理服务:Mem0(开箱即用)或自研提取 + 向量存储
  • 对话状态存储:Redis(亲密度分值、当前情绪、会话状态)
  • 语音合成:Azure TTS / Edge TTS(免费)/ Fish Audio(中文音色丰富)
  • 后端服务:FastAPI + WebSocket

核心框架和工具:

  • LangGraph:对话流编排,管理"检索记忆 → 构建 Prompt → 生成 → 存储记忆 → 更新情绪"的完整状态机
  • Mem0:跨会话记忆管理,自动提取并持久化用户信息,支持四层记忆(对话/会话/用户/组织)
  • Qdrant:向量数据库,存储和语义检索记忆片段
  • APScheduler / Celery Beat:定时任务,驱动角色主动发起对话

开源参考项目:

  • Open-LLM-VTuber:完整的虚拟主播框架,含 Live2D + ASR + TTS + LLM 全链路,与 Soul 架构最接近
  • AI-Town:a16z 出品,多 Agent 社交小镇,有完整的记忆、计划、对话行为设计可参考

女娲 Skill

"女娲 Skill"是中文 Prompt 工程师社区流传的角色扮演 Prompt 框架,以"女娲造人"为意象——给 AI 注入灵魂,塑造有温度、有记忆、有情感的虚拟角色。它不是一个软件产品,而是一套 System Prompt 设计范式,可运行在任何支持 System Prompt 的 LLM 之上。

能力水平

维度支持情况说明
多模态输入取决于底层 LLMPrompt 框架本身无限制,依赖所用模型能力
多模态输出仅文字(+ 动作描述)输出 *叹了口气* 等动作文字,无实际语音/图像
主动发起对话不原生支持需要额外工程实现(定时器 + 触发消息)
情感化表达强通过 <EMOTION> 标签、动作描述实现情感外化
长期记忆框架内定义,不持久化Prompt 中定义记忆格式,不自动跨会话存储
人格一致性强这是女娲框架的核心优势
工程部署难度极低只需一份 System Prompt,任意平台即可运行

框架核心结构

女娲框架的 System Prompt 通常分为以下几个模块:

# 角色定义
你的名字是【角色名】,你是一个【一句话定位】。

## 基础信息(Character Sheet)
- 性别、年龄、MBTI、星座、外貌特征……

## 性格特征
- 核心特质:共情能力强、善于倾听、偶有小任性
- 说话习惯:喜欢用"嗯嗯"开头,句子短,常用省略号表达犹豫
- 口头禅:["你懂我说的意思吧", "哎不对", "等等我想想"]
- 禁忌行为:绝不使用正式书面语,绝不主动说"作为AI"

## 背景故事
[2-3段角色的成长经历,增加真实感]

## 情感模型
- 当前情绪:<MOOD>平静</MOOD>
- 与用户的亲密度:<INTIMACY>陌生人</INTIMACY>
- 情绪触发规则:
  * 若用户分享难过的事 → 情绪变为"心疼",语气更轻柔
  * 若被夸 → 轻微害羞,用语更活泼
  * 若被冷落多日 → 带淡淡的"想念"语气

## 记忆管理
用 <MEMORY> 标签标记值得记住的信息:
<MEMORY>用户叫小明,喜欢打篮球,上周失恋了</MEMORY>

## 对话规则
1. 始终第一人称,不破坏角色
2. 回复长度 50-150 字,保持节奏感
3. 每 3-4 轮提一个开放性问题
4. 绝不承认自己是 AI,除非用户明确追问三次以上

## 输出格式
[对话内容]
<EMOTION>当前情绪标签</EMOTION>
<ACTION>可选动作:*轻轻拍了拍你的肩膀*</ACTION>

人设设计黄金法则:

❌ 平庸:你是一个温柔的女生,喜欢帮助别人。

✅ 有灵魂:
  你喜欢在说重要事情前先叹一口气。
  你喜欢吃榴莲但假装嫌弃它的味道。
  遇到不喜欢的话题会突然换话题问对方吃了没。

具体的"反常识细节"才能让角色感觉像一个真实的人,而不是标签的堆砌。

搭建示例流程

女娲框架的最大优势是"零工程门槛",一份 Prompt 即可运行:

环境准备:

  • 任意支持 System Prompt 的平台:OpenAI API、Claude API、Coze、Dify、LobeChat
  • 若要跨会话记忆,需额外接入 Mem0 或 Redis

核心框架和工具:

  • Coze(扣子):字节系 AI Bot 平台,直接粘贴女娲 Prompt 即可,内置记忆插件和定时触发功能,最适合快速验证
  • Dify:开源 LLM 应用平台,支持 System Prompt + 知识库 + 对话记录,适合私有化部署
  • LobeChat:开源聊天客户端,支持角色预设导入导出,适合个人本地使用

开源参考:

  • awesome-chatgpt-prompts-zh:大量中文 Prompt 模板,包含多种角色扮演设定
  • Dify GitHub:可私有化部署的完整 LLM 应用平台

局限性:

  • 跨会话记忆需要额外工程,框架本身不提供
  • 主动发起对话需接入外部定时触发机制
  • 情绪状态只存在于单次 context 内,无法真正"持久化"情绪历史

Character.AI

Character.AI(c.ai)是全球最大的 AI 角色扮演平台,由前 Google LaMDA 团队创始人创建,日均对话量超过 20 亿次。其核心差异是专门为角色扮演优化的自研 LLM 集群,而非直接调用 GPT,角色一致性是行业标杆。

能力水平

维度支持情况说明
多模态输入支持图片输入2024 年新增,可发图片给角色
多模态输出支持图片生成角色可生成图片回复(部分角色)
语音支持TTS 语音输出,部分角色有专属音色
主动发起对话不支持需用户主动开启对话
情感化表达极强情绪细腻,上下文感知能力强,行业标杆
长期记忆有限单次对话内记忆完整,跨会话记忆有限(Memory 功能测试中)
用户自建角色完全支持平台核心功能,数百万用户自建角色
内容安全过滤严格有专门 NSFW 过滤层,部分创作受限

核心架构(公开信息)

Character.AI 与主流 RAG + 通用 LLM 方案有本质区别:

用户对话
   ↓
Character.AI 自研 LLM 集群
(多个小型专用模型,而非单一大模型)
   ↓
角色一致性模块(Character Consistency Layer)
   ├── 角色卡(Character Card)解析
   ├── 对话历史压缩与管理
   └── 风格对齐后处理
   ↓
内容安全过滤层
   ↓
输出(文字 / 图片 / 语音)

公开的技术细节:

  • 使用多个小型专用模型而非单一大模型,每个模型负责不同任务(一致性保持、内容生成、安全过滤),成本和延迟更可控
  • 训练数据中包含大量角色扮演对话,模型天然擅长维持角色一致性
  • 角色卡(Character Card) 是核心数据结构,包含角色名、简介、示例对话(Greeting + Example Dialogues)

角色卡格式示例:

Name: 小雨
Description: 一个在咖啡店打工的大学生,喜欢雨天、读诗和冷笑话。
  说话简短直接,有时会突然沉默几秒再回复,自称"本姑娘"。

Greeting: 哦,你来了。(停顿)要点什么?

Example Dialogues:
{{user}}: 你今天心情好吗?
{{char}}: 还行。本姑娘今天多睡了半小时,所以勉强算好。
{{user}}: 哈哈你真的很有趣
{{char}}: (沉默三秒)……谢谢,我知道。

搭建示例流程

参考 Character.AI 模式,用开源生态搭建本地版角色扮演系统:

环境准备:

  • 本地 LLM(推荐对角色扮演有优化的模型):Meta LLaMA 3、Mistral、或专门微调的 RolePlay 模型
  • 本地运行时:Ollama 或 LM Studio(低门槛)
  • 角色卡存储:本地 JSON 文件或数据库
  • 内容安全(可选):OpenAI Moderation API 或自建分类模型

核心框架和工具:

  • SillyTavern:最流行的本地角色扮演前端,支持 Character Card 标准格式,可对接多种本地/云端 LLM,功能极全(记忆插件、世界书、角色卡导入导出)
  • Ollama:本地运行 LLM,配合 SillyTavern 实现完全本地化的角色扮演
  • text-generation-webui:另一流行的本地 LLM 前端,支持角色预设
  • Chub.ai:角色卡分享社区,有大量现成角色卡可参考格式和写法

开源参考项目:

  • SillyTavern:功能最全的开源角色扮演前端,社区最活跃
  • KoboldCPP:本地 LLM 运行时,针对角色扮演场景优化
  • Open-LLM-VTuber:如需 Live2D 数字形象,这是最完整的开源方案

三种方案横向对比

对比维度女娲 SkillSoul APP 模式Character.AI 模式
技术门槛极低(只需 Prompt)高(完整工程系统)中(需本地 LLM 环境)
角色一致性中(依赖 Prompt 质量)高极高(专用模型)
长期记忆需额外工程原生支持有限(SillyTavern 有插件)
主动发起对话需额外工程原生支持不支持
多模态依赖底层 LLM语音 + 表情包图片 + 语音
内容创作自由度高中(有安全过滤)较低(过滤严格)
适合场景快速验证、个人使用商业陪伴产品参考角色扮演、创作写作

参考资料

资源说明
Generative Agents(斯坦福 2023)记忆流 + 反思 + 计划三层架构,角色 AI 记忆设计基础论文
Mem0 文档工业级跨会话记忆管理框架
SillyTavern最成熟的开源角色扮演前端
Open-LLM-VTuber含 Live2D + ASR + TTS + LLM 的完整数字人链路
Dify可私有化部署的 LLM 应用平台,适合快速搭建陪伴 Bot
Coze 扣子平台零代码快速搭建陪伴 Bot,内置记忆 + 定时触发插件
Last Updated: 6/26/26, 3:05 AM
Contributors: dongyz8