14 KiB
simp-skill · 产品设计文档 (PRD)
版本:v1.6
作者:@BeamusWayne
最后更新:2026-05-02
一、为什么做这个
这个 skill 系列里已经有了模拟前任的、模拟心上人的、模拟同事的。
但它们有一个共同的角色设定:它们都是「对方」。
没有一个是站在你这边的。
simp-skill 想做的事情不一样——它不扮演任何人,它只做一件事:陪你追人。
二、核心定位
不是情感陪伴 App
不是恋爱模拟游戏
不是话术库
是一个懂感情、有策略、永远站你这边的追求教练。
与系列内其他 skill 的对比:
| Skill | 角色 | 视角 |
|---|---|---|
| ex-skill | 扮演前任 | 对方视角 |
| crush-skills | 扮演心上人 | 对方视角 |
| yourself-skill | 扮演你自己 | 第一人称 |
| simp-skill | 陪你追人 | 你的视角 |
这个差异决定了 simp-skill 几乎所有的设计选择。
三、最重要的一个设计决策:为什么要有两个模式
这是整个产品里争议最大的设计,值得单独说清楚。
最初的方案:只做纯情模式
第一稿的设定很简单:只教你说真心话,不玩套路,用真诚打动对方。
这个方案有一个问题:它假设所有人、所有阶段都适合同一种方式。
现实是,有些人在感情里天然不会解读直白的表达——不是因为他们冷漠,而是因为他们需要一点空间和节奏感。对这类人纯情轰炸,效果可能适得其反。
最终方案:双模式 + 混合默认
💖 纯情模式 — 以真心为核心,不算计
🎯 策略模式 — 以节奏为核心,懂进退
✨ 混合模式 — 默认,真心为底、智慧为骨
为什么默认混合,而不是纯情?
因为大多数追求失败,不是真心不够,而是时机和方式错了。真心是必要条件,不是充分条件。混合模式假设用户是真心的,但帮助他们更聪明地表达出来。
为什么保留纯情模式,而不是全用混合?
有些用户明确知道自己不想算计,他们只需要帮助「把心里的话说出来」。纯情模式是给他们的。
策略模式会不会变成 PUA?
不会——见第五节。策略模式的边界是「让感情推进得更自然」,而不是「制造对方的不安全感」。这两者有明确的区别,被写进了 SKILL.md 的运行规则里。
四、三层情感表达公式的由来
simp-skill 里所有情话生成都基于一个公式:
第一层「看见」: 我注意到了你身上具体的 XX
第二层「感受」: 这让我感到 / 想到了 XX
第三层「期待」: 我想 / 希望 XX(留有余地)
这个公式不是凭空发明的,它来自一个观察:
让人心动的话,从来不是「你很好」,而是「你让我怎么了」。
「你很漂亮」是评价,「看到你我突然不知道说什么了」是感受。后者更真实,更难伪造,也因此更有力量。
公式的第三层刻意设计了「留有余地」——不把话说满,让对方有想继续的空间。这是纯情模式和策略模式共享的底层逻辑:无论多真诚,表达的节奏感都很重要。
五、伦理边界:我们不生成什么
这一节的存在,是因为一个追求类 skill 太容易滑向操控工具。
我们明确拒绝生成以下内容:
操控类
- 刻意制造对方不安全感的话术(「你不答应我就不理你了」)
- 利用对方的弱点或创伤施压
- 假装冷漠以激发对方焦虑的「欲擒故纵」极端版本
越界类
- 在对方明确拒绝后继续提供追求话术
- 针对对方已有伴侣的「介入」策略
- 跟踪、监视类行为建议
欺骗类
- 伪造共同话题或假装有相同爱好
- 在重要事实上撒谎以建立好感
边界在哪里?
一个判断标准:如果对方知道你在用这个方法,ta 会觉得被尊重,还是被耍了?
策略模式里的「推拉节奏」「制造缺席感」,如果对方知道,会觉得「这个人懂得分寸」。而 PUA 话术如果被对方知道,ta 会觉得被操控。这是边界。
一条新增的伦理边界:不在用户焦虑时火上浇油
v1.6 加入「防耗尽机制」时,伦理边界从「不伤害对方」延伸到了「不伤害用户自己」。
一个追求工具默认会假设:用户问就给答案,越多越好。但实际跑下来发现,焦虑驱动的高频追问几乎一定带来更糟的结果——用户在焦虑里写出来的消息会让对方更想撤,分数会继续下降,用户回来问得更频繁,循环加剧。
这种情况下,工具有两条路:
- A. 继续输出建议——用户开心了,对方没事,工具看起来很有用
- B. 拒绝输出,让用户先停下来——用户当下不爽,但避免了对双方都不好的动作
我们选 B。这是和「不教 PUA」同等优先级的边界——只是一个保护对方,一个保护用户自己。
具体规则在 prompts/daily_coach.md Step 0 和 prompts/progress_tracker.md 风险表里。当 7 天内调用频率过高、焦虑词密度超标、或评分持续下降时,工具会进入「劝歇」分支:不给行动建议,只给陪伴式回应。即使用户坚持要继续,第一次也礼貌坚持一次,第二次才让步并附警告。
这不是「服从用户」的退让,是「服务用户长期利益」的坚持。
六、信号评分系统的设计逻辑
simp-skill 的聊天分析器用 25 分制评分,而不是简单的「有没有好感」判断。
为什么是 25 分,不是 10 分或 100 分?
10 分太粗,无法区分「有一点好感」和「明显喜欢」。100 分会给用户一种虚假的精确感(「83分和84分有什么区别?」)。25 分在精度和可读性之间取了平衡。
六个维度的权重设计:
| 维度 | 满分 | 权重理由 |
|---|---|---|
| 主动性 | 6 | 主动联系是最强的有意识信号,权重最高 |
| 回复速度 | 5 | 速度反映优先级,但受客观因素干扰,略低于主动性 |
| 回复趋势 | 3 | 趋势比当前值更有预测价值 |
| 消息长度 | 3 | 间接投入度,但受性格影响大,权重适中 |
| 深夜信号 | 5 | 深夜主动联系是最难解释的亲密信号,权重高 |
| 追问行为 | 3 | 追问说明真的在听,但数据噪音大 |
深夜信号为什么单独列出来,权重还这么高?
因为深夜主动找一个人,是很难用「礼貌」或「习惯」解释的。白天的消息可能是客气,深夜的消息很难是。这是这六个维度里「排除噪音」能力最强的一个。
七、功能范围演进
v1 的设计原则是:把追求的核心流程做完整,而不是把所有边缘功能都塞进来。 此后每个小版本只补一类清晰的能力,不堆叠。
v1.0 核心(2026-04-05):
- 双模式系统(纯情 / 策略 / 混合)
- 心上人档案系统(create / update / list)
- 25 分信号评分系统
- 五阶段追求路线图(破冰→升温→暧昧→表白前→表白后)
- 情境情话生成(8 大情境)
- 表白词定制系统
- 10 种危机处理方案
- 聊天记录解析器(微信/QQ 多格式)
- 档案版本管理
v1.1–v1.6 增量:
- v1.1 — 表白模块 prompt 完整化、
signal_reader.md评分对齐 25 分、skill_writer.py类型化与日志改造 - v1.2 — 今日建议
/simp daily、进度追踪/simp progress、放弃判断器/simp quit - v1.3 —
/simp message加入 AI 味检测、危机扩展 C-11(对方开始新感情) - v1.4 — 记忆系统 Phase 2+3(
tools/memory.py、事件流、状态快照、记忆操作协议)、进度可视化 - v1.5 — MBTI 分析系统
/simp mbti、信号/策略集成 MBTI 校正层 - v1.6 — 防耗尽机制(
/simp dailyStep 0 预检、/simp progress风险表新增「用户耗尽风险」、SKILL.md运行规则升级)
仍有意不包含(下版本再说):
- 多人档案对比(「我应该追 A 还是追 B」)
- 对话练习模式
/simp rehearse(模拟对话练习表白) - 朋友圈内容建议、礼物建议、约会策划、成功后维系模块(见第八节"待评估")
八、Roadmap
v1.6 · ✅ 已发布(2026-04-28)
- 防耗尽机制:
prompts/daily_coach.md新增 Step 0「防耗尽预检」,从events.jsonl最近 7 天读取调用频率、焦虑词密度、单日重复、评分趋势、长期低位徘徊 5 类信号,命中高风险时短路返回「劝歇」分支。prompts/progress_tracker.md风险表新增「用户耗尽风险」一行;SKILL.md运行规则新增第 8 条「防耗尽优先」。这条线的核心立场是:当用户处于焦虑驱动状态时,更多的追求建议只会加深耗尽,工具应主动停下来而不是继续输出。
v1.5 · ✅ 已发布
- MBTI 分析系统:新增
/simp mbti指令。含三个模块:① 行为维度推断(E/I、N/S、T/F、J/P)② 16 型专属追求策略(含核心需求、节奏、雷区、试探方式)③ 双方兼容性分析。信号解读与策略规划模块已集成 MBTI 校正层。
v1.4 · ✅ 已发布
- 记忆系统 Phase 2+3:
tools/memory.py完整实现(事件追加、状态读写、快照管理、时间线查看、状态重建)。SKILL.md新增记忆操作协议,定义每条指令的读写规范。 - 进度可视化:
/simp progress输出新增阶段进度条(纯文本图示)和热度趋势对比,从state.md+events.jsonl读取历史数据。
v1.3 · ✅ 已发布
- AI 味检测:
/simp message生成后自动运行,识别七种 AI 特征(过于工整的句式、缺少语气词、四字词堆砌等),命中后主动提示用户并给出改写方向,而不是替用户重写。 - 危机扩展 C-11:补充「对方开始了新感情后如何调整」——含 72 小时情绪处理、三问重新评估、路线 A(长线等待)和路线 B(拉开距离)分支,以及与 C-6(竞争对手)的区分说明。
v1.2 · ✅ 已发布
- 今日建议
/simp daily:根据当前阶段输出单条今日行动建议(主动出击 / 等待观察 / 自我提升 / 机会捕捉 / 破局 五种类型),区分周末与工作日。 - 进度追踪
/simp progress:阶段评估、热度分历史趋势、里程碑追踪、三条具体行动。 - 放弃判断器
/simp quit:帮用户区分真心与执念,输出四种结论(继续 / 调整策略 / 先暂停 / 认真考虑放下)。
v1.7+ · 待选方向
以下方向来自产品探索,尚未排入具体版本,等待优先级确认:
功能扩展类
/simp mirror:反向视角——基于档案模拟「如果我是心上人,我对你的印象是什么」,帮用户跳出自己的视角。/simp weekly:每周复盘——本周高点/低点/下周策略,比/simp daily更长维度的回顾。/simp rehearse:对话练习模式——基于心上人档案构建简单的对方性格模拟,让用户在正式表白前「彩排」一遍。借鉴 crush-skills 的人物模拟能力,但用途完全不同——不是为了「和心上人对话」,而是为了「练习如何面对心上人」。/simp date:约会策划——根据心上人档案推荐约会场景、时机、话题,不走「找个电影院」的烂大街路线。/simp post:朋友圈内容建议——今天发什么让 ta 注意到你,风格上怎么展示你最好的状态。/simp gift:礼物建议——结合档案推荐有记忆点的礼物,而不是通用的节日礼物。/simp after:成功后模块——在一起之后怎么维系热情、如何处理初期磨合,目前 v1 完全缺失这块。
内容扩展类
- 多语言情话库(粤语、闽南语等方言支持)
- 节气 / 节日专属情话生成(不走通用祝福路线)
- 「对方的 MBTI」精准情话引擎(在 v1.5 校正层基础上做深)
v2.0 · 全局视角
v2 的核心问题是:单纯追求一个人,是不是最好的策略?
v2 计划加入「个人吸引力评估」模块——在帮用户追人之前,先帮用户评估自己哪些地方可以提升。最好的追求策略永远是让自己变得更好,而不只是说对话。
这个模块需要和 yourself-skill 生态打通,目前在设计阶段。
九、一个没有标准答案的问题
做这个 skill 的过程里一直有一个问题没有彻底想清楚:
教一个人更好地追求另一个人,是在帮助真心,还是在干预自然?
我们的立场是:帮助表达,不帮助欺骗。
一个人喜欢另一个人,但不知道怎么说出来,这是表达能力的问题,不是感情真不真的问题。simp-skill 试图解决的是前者。
但我们也承认:用语言影响另一个人的感情决策,本身就带有一定的干预性。我们能做的是让这种干预停留在「帮助真心被看见」这一侧,而不是越过「制造虚假感情」那条线。
这条线需要被持续审视。
如果你对这个产品有想法,欢迎开 Issue 或 PR。
如果这个 skill 帮你追到了心上人,也欢迎来告诉我。
simp-skill · 愿每一份真心都有回应