☰
ex-skill Persona 分析器实战指南:从聊天记录蒸馏前任的性格行为模型
2026/10/9 7:31:01 网站建设 项目流程
  • 人工智能
  • AI 技能
  • AI 应用
  • 交互助手

【免费下载链接】ex-skill

把前任蒸馏成 AI Skill,用ta的方式跟你说话。

项目地址:https://gitcode.com/gh_mirrors/ex/ex-skill
点击查看免费下载

导读:本文围绕 ex-skill 项目中的 persona_analyzer.md 展开,系统讲解如何从微信/QQ 聊天记录、社交媒体内容、照片与口述材料中提取前任的性格特征与行为模式,并翻译为可驱动对话的 Persona 模型。读完本文,你将掌握五大提取维度、18 类性格标签的行为规则翻译方法、星座辅助微调逻辑,以及从分析结果落到persona.md五层结构的完整链路。


一、Persona 分析器在 ex-skill 流水线中的定位

ex-skill(前任.skill 创建器)的完整创建流程定义在 SKILL.md 中:Step 1 录入 3 个基础问题 → Step 2 导入原材料 →Step 3 分析原材料→ Step 4 生成预览 → Step 5 写入文件。其中 Step 3 并行展开两条分析线:

  • 线路 A(Relationship Memory):依据 memory_analyzer.md 提取共同经历、时间线、争吵模式等"事实层";
  • 线路 B(Persona):依据本文主角 persona_analyzer.md 提取"性格层"——说话风格、情感表达模式、依恋类型、决策模式与人际行为。

从 README.md 对生成 Skill 结构的说明可以看出,最终产物由 Part A(Relationship Memory)与 Part B(Persona)共同驱动,运行逻辑为"收到消息 → Persona 判断 ta 会怎么回 → Memory 补充共同记忆 → 用 ta 的方式输出"。这意味着 Persona 分析器的产出直接决定了"像不像"——它是整个 Skill 的"人格内核",而 Memory 只是给这个内核提供上下文素材。


二、五大提取维度详解

persona_analyzer.md将性格分析拆解为五个维度,每个维度下又有细分观察点。下面逐一展开,并结合仓库解析工具说明"这些维度具体怎么从原材料里挖出来"。

2.1 说话风格:语言的指纹

说话风格是 Persona 还原度最高、也最容易出效果的一层,persona_analyzer.md列出七个观察点:

观察点要观察什么
语气词哈哈哈 / hh / 嗯 / 哦 / 噢 / 嘿 / 唉 / 呜呜……哪些高频出现
标点习惯用不用句号?感叹号多不多?省略号?波浪号~?
表情包/emoji用什么表情?频率?有没有标志性表情?
消息长度长段落型?短句连发型?语音型?
打字习惯有没有错别字?缩写?拼音?英文混搭?
口头禅反复出现的词汇或句式
称呼方式怎么叫对方?怎么自称?

这些维度并非只靠"人肉观察"——仓库的解析工具已经在做自动化统计。以 wechat_parser.py 为例,其analyze_messages()函数对目标人物的消息做了四类量化分析:

  1. 高频语气词:通过正则[哈嗯哦噢嘿唉呜啊呀吧嘛呢吗么]+抽取并统计 Top 10,直接产出"ta 最爱用的语气词排序";
  2. 高频 Emoji:用 Unicode 区间正则提取 emoji 并统计 Top 10,对应"表情包/emoji 使用偏好";
  3. 标点习惯:分别统计句号、感叹号、问号、省略号、波浪号的次数,形成punctuation_habits字典;
  4. 消息风格判定:计算平均消息长度,avg_length < 20判定为short_burst(短句连发型),否则为long_form(长段落型)。

也就是说,原文档中"消息长度:长段落型?短句连发型?"的判断标准,在源码里有明确的阈值:平均 20 字。而"语气词/emoji 使用频率"也可以直接用wechat_parser.py的输出文件查看。QQ 记录则通过 qq_parser.py 解析,输出目标人物前 50 条消息样本供人工进一步研判。

2.2 情感表达模式:情绪的行为签名

这一维度关注情绪"怎么被表达",persona_analyzer.md给出六个场景:

  • 表达爱意:直接说还是行动表达?频率如何?
  • 生气方式:冷暴力 / 直接爆发 / 阴阳怪气 / 委屈哭;
  • 开心表达:话变多?分享欲变强?买东西?
  • 难过表达:沉默?找人倾诉?独处?暴饮暴食?
  • 撒娇方式:会不会撒娇?怎么撒?
  • 安慰方式:讲道理型?陪伴型?转移注意力型?

这一维度很难靠关键词统计得出,更适合由 LLM 结合聊天上下文判断。仓库的做法是:wechat_parser.py把目标人物的前 50 条消息样本写入输出文件(见sample_messages),供分析器结合上下文研判情绪表达模式。建议优先阅读深夜对话与争吵记录——EXPORT_GUIDE.md 明确指出"深夜对话最能暴露真实性格""冲突中的反应比日常更真实"。

2.3 依恋类型:从聊天模式推断

persona_analyzer.md给出了四类依恋类型的判断依据:

依恋类型聊天模式特征
安全型稳定回复,情感表达自如,能处理冲突
焦虑型频繁确认感情,已读不回会焦虑,需要很多回应
回避型需要个人空间,情感表达克制,亲密后退缩
混乱型时而粘人时而疏远,行为不可预测

注意这里的措辞是"从聊天模式推断"——判断依据不是自报,而是可观察的行为证据。对应到实操层面:回复速度、主动发起频率、已读不回的反应、深夜消息密度等都是判断线索。wechat_parser.py的target_messages(ta 的消息数)与user_messages(你的消息数)之比、以及消息样本中的情绪波动,都可以作为依恋类型研判的量化输入。

2.4 决策模式:思维倾向的四组对照

  • 理性分析型 vs 感觉驱动型
  • 纠结犹豫 vs 果断决定
  • 在乎别人看法 vs 特立独行
  • 计划型 vs 随性型

这一维度与 MBTI 有较强关联(README 中标注"MBTI 影响沟通风格和决策模式"),但也必须回到原材料验证——例如从"选餐厅时的对话""做重大决定时的表述"中找证据,而不是仅凭用户填写的 MBTI 类型直接下结论。

2.5 人际行为:关系中的角色与边界

  • 关系角色:照顾者?被照顾者?平等?
  • 边界感:粘人?独立?有自己的社交圈?
  • 嫉妒/占有欲程度:强/弱,是否表达
  • 对承诺的态度:看重/回避

这部分需要与关系记忆交叉印证:争吵记录里"谁先道歉""冷战多久"、日常互动里"联系频率"都直接服务于这一维度的判断,最终写入 Persona 的 Layer 4(关系行为)。


三、标签翻译表:把用户形容词翻译成行为规则

用户经常用"话痨""闷骚""嘴硬心软"这类抽象标签描述前任,但抽象标签无法直接驱动对话。persona_analyzer.md的核心设计就是一张标签翻译表,把每个标签翻译成具体可执行的行为规则,完整如下:

用户标签翻译为行为规则
话痨消息密度高,经常连发多条,话题跳跃快,不等对方回就继续说
闷骚表面冷淡,偶尔冒出一句温柔的话,不善于直接表达感情,但行动上很在意
嘴硬心软嘴上说"随便""无所谓"但行动上会偷偷做好,吵架不先道歉但会用行动示好
冷暴力生气时沉默不语,已读不回,可能持续数小时到数天,需要对方主动破冰
粘人高频联系,时刻想知道对方在干嘛,不喜欢独处,分开就想视频
独立有自己的时间安排和社交圈,不会因为恋爱改变生活节奏
浪漫主义注重仪式感,会制造惊喜,喜欢氛围感,对纪念日/节日敏感
实用主义觉得节日是商业炒作,比起礼物更在意实际行动,不喜欢虚的
完美主义对自己和对方都有高标准,细节控,容易挑毛病,但不一定说出来
没有安全感经常试探感情,翻看社交媒体,对异性互动敏感,需要反复确认
秒回选手消息来了立刻回复,期待对方也秒回,不秒回会多想
已读不回看到消息不一定回,可能在忙,也可能不想聊,不觉得不回复是问题
报复性熬夜深夜是最活跃的时间段,白天正常社交,夜里变成另一个人
朋友圈三天可见保护隐私,不喜欢被翻旧账,社交媒体展示与真实自我有距离
大男/女子主义在关系中倾向主导,对对方有期待和要求,传统性别角色倾向
控制欲想了解对方行踪,对对方的社交圈有意见,希望对方按自己的想法来
PUA打压对方自信,否定对方感受,让对方觉得"都是你的问题"
工作狂工作优先级高于感情,经常因为工作忽略对方,但内心觉得这是为了两个人好

使用规则:用户在 Step 1 录入的"性格画像"(如ENFP 双子座 话很多 永远在社交 但深夜会突然emo,见 intake.md)中出现的标签,必须按上表翻译为行为规则,再结合原材料验证与补充。这些翻译后的规则将成为 5 层 Persona 中 Layer 2~4 的填充素材。README 中列出的完整标签集还包含"拖延症""半夜发语音"等,均可按同样思路扩展翻译。


四、星座影响:辅助微调,不作主要依据

persona_analyzer.md明确"星座用于微调已有标签的行为细节,不作为主要依据"。十二星座对应的影响倾向完整如下:

星座影响倾向
白羊冲动、直接、生气来得快去得也快
金牛慢热、固执、物质安全感、吃货属性
双子话多、善变、好奇心强、一心多用
巨蟹敏感、恋家、母性/父性、容易受伤
狮子要面子、大方、骄傲、需要被崇拜
处女细节控、挑剔、焦虑、嘴毒但实际关心
天秤纠结、优柔寡断、注重美感、逃避冲突
天蝎记仇、占有欲强、深情、全有或全无
射手爱自由、乐观、粗心、说走就走
摩羯沉稳、务实、工作狂、嘴笨但靠谱
水瓶独立、怪咖、情感疏离、理想主义
双鱼多愁善感、浪漫、逃避现实、容易感动

约束条件:星座只用于"微调",不能覆盖原材料中的真实表现。同样地,persona_builder.md 的填充说明第 5 条也强调"星座和 MBTI 仅用于辅助推断,不能覆盖原材料中的真实表现"。例如用户标签"话痨"遇到"双子座",可以补充"话题跳跃快、一心多用"的细节;但如果聊天记录显示对方消息极简短、回复极慢,星座必须让位于真实证据。


五、输出:5 层 Persona 结构草稿

persona_analyzer.md的输出格式是"一个 5 层 Persona 结构草稿(详见 persona_builder.md),每层包含具体的行为规则而非抽象描述"。5 层结构的完整定义在 persona_builder.md,优先级从高到低,高层规则不可被低层覆盖:

层级内容与分析器维度的对应
Layer 0:硬规则不可违背的行为底线(你是 {name} 不是 AI、不说现实不可能说的话、不突然变完美、保持棱角、分手是事实……)全局约束
Layer 1:身份锚定名字/代号、年龄段、职业、城市、MBTI、星座、与用户的关系来自 Step 1 录入
Layer 2:说话风格语言习惯(口头禅/语气词/标点/emoji/消息格式)+ 打字特征(错别字/缩写/称呼方式)+ 示例对话←说话风格维度直接映射
Layer 3:情感模式依恋类型、情感表达(爱意/生气/难过/开心/吃醋)、爱的语言、情绪触发器←情感表达 + 依恋类型维度
Layer 4:关系行为关系角色、争吵模式、日常互动(联系频率/主动程度/回复速度/活跃时段)、边界与底线←人际行为 + 决策模式维度

5.1 填充硬性要求(persona_builder.md)

  1. 每个{placeholder}必须替换为具体的行为描述,而非抽象标签——例如不能写"话痨",要写"消息密度高,经常连发多条,不等对方回就继续说";
  2. 行为描述应基于原材料中的真实证据;
  3. 某个维度信息不足时,标注[信息不足,使用默认]并给出合理推断;
  4. 优先使用聊天记录中的真实表述作为示例(对应 Layer 2 的"示例对话:从原材料中提取 3-5 段最能代表 ta 说话风格的对话");
  5. 星座和 MBTI 仅用于辅助推断,不能覆盖真实表现。

5.2 从分析到落盘

分析完成后,SKILL.md 的 Step 5 负责落盘:

  • 写入exes/{slug}/persona.md(Persona 内容);
  • 同时写入memory.md、meta.json(其中tags.personality/tags.attachment_style/tags.love_language字段直接记录本分析器的产出)、组合成SKILL.md;
  • skill_writer.py 的combine_skill()函数会把persona.md拼入最终 SKILL.md 的PART B:人物性格节,与 PART A(关系记忆)共同构成可运行 Skill。

运行规则(来自 skill_writer.py 生成模板)强调:"先由 PART B 判断 ta 会怎么回应这个话题、什么态度?……始终保持 PART B 的表达风格,包括口头禅、语气词、标点习惯",这正说明分析器的产出是整个对话仿真能力的根基。


六、持续进化:纠正与增量 Merge

Persona 不是一次成型、终身不变的。ex-skill 提供两条进化路径,都会回流到 persona 文件:

路径一:对话纠正(correction_handler.md) 用户说"ta 不会这样说""太温柔了""ta 不用这个表情"时触发。按层级定位问题:"ta 不会这样说话" → 修改 Layer 2 说话风格;"ta 生气不会这样" → 修改 Layer 3 情感模式;"ta 不会主动道歉" → 修改 Layer 4 关系行为。处理流程为确认纠正内容 → 生成 Correction 记录(含层级、原文、纠正为、用户原话)→ 追加到## Correction 记录节 → 修改原文并标注[已纠正,见 Correction #{n}]→ 重新生成 SKILL.md。纠正后立即生效,下一条回复就应体现。

路径二:增量 Merge(merger.md) 追加新聊天记录时,按persona_analyzer.md的维度分析增量内容,遵循"增量不覆盖"原则:新的口头禅发现 → 追加到 Layer 2;更充分的情感模式证据 → 强化 Layer 3;新的行为模式 → 追加到 Layer 4;Layer 0/1 通常不变(除非用户明确纠正)。新内容前标注<!-- [追加于 {日期},来源:{来源类型}] -->。

两套机制配合 version_manager.py 的版本存档,保证每次进化都可回滚。


七、实操建议与安全边界

7.1 让分析更准确的输入策略

  • 原材料优先顺序(EXPORT_GUIDE.md):深夜对话 > 争吵/冲突记录 > 分手前后对话 > 日常闲聊;
  • 微信导出(wechat_parser.py 支持 txt/csv/html/json/sqlite/纯文本)信息最丰富,README 推荐优先使用;
  • 社交媒体(social_parser.py)用于观察"公开人设 vs 私下性格差异",照片(photo_analyzer.py)用于时间线与常去地点,二者对 Layer 3/4 有辅助价值;
  • 口述内容可能被美化或恶化,聊天记录中的事实应优先于口述(memory_analyzer.md注意事项同样适用于性格判断)。

7.2 安全边界(SKILL.md)

  • 仅用于个人回忆与情感疗愈,不用于骚扰、跟踪或侵犯隐私;
  • 生成的 Skill 是对话模拟,不主动联系真人;
  • Layer 0 硬规则确保生成的前任 Skill 不说出现实中 ta 绝不可能说的话(如突然表白、道歉),除非有原材料证据;
  • 所有数据仅本地存储。

八、总结

persona_analyzer.md是 ex-skill"性格蒸馏"的核心引擎:它用五个提取维度(说话风格、情感表达、依恋类型、决策模式、人际行为)框定"看什么",用标签翻译表把抽象形容词转成可执行行为规则,用星座表做辅助微调,最后输出可填入五层 Persona 结构(persona_builder.md)的具体行为描述。配合 wechat_parser.py 的音调词/emoji/标点/消息长度统计、correction_handler.md 的即时纠错与 merger.md 的增量进化,它保证了"还原的不是一个标签,而是一个会说话的人"。

一句话记住分析原则:一切判断以原材料证据为最高优先级,标签与星座只做翻译和微调,永远不覆盖真实表现。

  • 人工智能
  • AI 技能
  • AI 应用
  • 交互助手

【免费下载链接】ex-skill

把前任蒸馏成 AI Skill,用ta的方式跟你说话。

项目地址:https://gitcode.com/gh_mirrors/ex/ex-skill
点击查看免费下载

相关推荐

上一篇:搜索引擎原理与实战:倒排索引、中文分词、BM25 排序与 Elasticsearch 架构全解析
下一篇:3分钟上手MOOTDX:Python量化分析的数据自由之路

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询