核心产出: - dist/joy/JOY-SKILL.md (434行, 0emoji, 0PUA残留) - corpus/pua-to-joy/glossary.json (136条术语+6条风格规则) - corpus/pua-to-joy/sentence-tm.jsonl (74条句级对齐) - corpus/pua-to-joy/trigger-keywords-mapping.json (30条触发词) - corpus/pua-to-joy/flavor-mapping.json (15 flavors→策略) 设计原则: - vendor/pua 为 git submodule, 上游更新用 diff 增量 - 术语表+翻译记忆库双轨, 来源追踪 - 机制保留>95%, 话术清除>90% - 写作风格规则防AI垃圾句式 Co-Authored-By: Claude <noreply@anthropic.com>
5.6 KiB
5.6 KiB
JOY Skill 拆分设计
JOY 清理流水线:PUA skill → 分离机制与话术 → DeepSeek 改写 → 语料库沉淀 日期: 2026-06-20 | 版本: 0.1.0
1. 拆分规则
判定四问
| # | 问题 | 答案=是 → 内核 | 答案=否 → 外壳 |
|---|---|---|---|
| 1 | 去掉后行为逻辑是否改变? | 内核 | 外壳 |
| 2 | 换一个人格(如"导师")后是否需要重写? | 外壳 | 内核 |
| 3 | 能否用代码(regex/状态机/结构化模板)实现? | 内核 | 外壳 |
| 4 | 是否引用特定公司/文化/人物/修辞? | 外壳 | 内核 |
三轴分类框架
SKILL.md (428行)
│
├─ 触发轴 ─ 什么条件激活
│ ├─ 内核: 失败计数/模式分类/短语匹配/白名单/hook规格
│ └─ 外壳: "你让我失望了"类情绪触发词
│
├─ 动作轴 ─ 激活后做什么
│ ├─ 内核: 5步法/7项清单/路由表/切换链/Confidence Gate/诊断协议
│ └─ 外壳: "闻味道""揪头发"类文化隐喻命名的步骤
│
└─ 输出轴 ─ 对用户/agent说什么
├─ 内核: Unicode方框骨架/JSON结构/脱敏规则/反馈schema
└─ 外壳: 15种味道旁白/文化梗/绩效话术/职级隐喻
2. 目录结构
~/wenpai-yijian/
├── vendor/pua/ # git submodule (只读,上游源)
│ └── skills/pua/SKILL.md # 428行原始文件
│ └── references/ # 方法论/味道/展示协议
├── overlay/joy/ # JOY 清理产出
│ ├── core/
│ │ └── mechanism.md # 机制内核提取 (245行)
│ └── persona/
│ └── joy-persona.yaml # JOY persona 变量 (替换15种味道)
├── corpus/pua-to-joy/ # 语料对齐库
│ ├── flavor-mapping.json # 15种大厂味→JOY 映射表
│ ├── aside-alignment.jsonl # 旁白对齐对 (逐条)
│ └── trigger-keywords-mapping.json # 触发词替换映射
├── logs/ # 清理日志
│ ├── cleanup-{date}.jsonl # 每次清理记录
│ └── quality-report.json # 质量报告
└── docs/architecture/
└── joy-skill-design.md # 本文件
3. 质量门禁
硬指标
| 指标 | 目标 | 检测方式 | 阻断条件 |
|---|---|---|---|
| 机制保留率 | >95% | mechanism.md 行数 / SKILL.md 内核行数 |
<95% → 不交付 |
| 话术清除率 | >90% | 已替换旁白数 / 总旁白数 | <90% → 不交付 |
| 流畅度 | >= 4.0 | DeepSeek 评分 (1-5 scale) | <4.0 → 重改写 |
| 触发逻辑无损 | 100% | 17种借口→触发等级映射逐条 diff | 任何丢失 → 不交付 |
| 路由表无损 | 100% | 任务类型×7 + 失败模式×7 逐条验证 | 任何丢失 → 不交付 |
软指标
| 指标 | 目标 | 说明 |
|---|---|---|
| 旁白密度 | 与原版一致 | 简单任务2句,复杂任务每里程碑1句 |
| 展示骨架 | Unicode方框不变 | 只换内容不换格式 |
| 脱敏规则 | 等效覆盖 | 字段白名单/黑名单语义等价 |
质量检查流程
1. diff mechanism.md <-> SKILL.md 内核段 → 机制保留率
2. grep 旁白变量 overlay/joy/persona/ → 话术替换覆盖率
3. DeepSeek 评分改写后的旁白 → 流畅度
4. 触发词 regex 回归测试 → 触发逻辑
5. 切换链完整性检查 → 路由表
4. 处理优先级
P0 (第一轮):
├─ 提取机制内核 → overlay/joy/core/mechanism.md ✓ (已完成)
├─ 建立 JOY persona 变量模板 → overlay/joy/persona/joy-persona.yaml ✓ (已完成)
├─ 建立 flavor 映射表 → corpus/pua-to-joy/flavor-mapping.json ✓ (已完成)
└─ DeepSeek 改写 🔴华为味旁白 (SKILL.md 中 P0 优先级 flavor)
P1 (第二轮):
├─ DeepSeek 改写 🟠阿里味 + 🟡字节味 + 🔵美团味 + 🟢腾讯味
├─ 建立 aside-alignment.jsonl (旁白对齐对)
└─ 流畅度首轮评分
P2 (第三轮):
├─ 剩余 9 种 flavor 改写
├─ 触发词映射 → trigger-keywords-mapping.json
└─ 全量质量报告
P3 (持续):
├─ 切换链调优
└─ 语料库反哺
5. work 会话操作指南
第一轮 P0:华为味 (SKILL.md 中最密集的 flavor)
标注文件: vendor/pua/skills/pua/SKILL.md
标注方式: 对每个 🔴 华为味 旁白段落,标注 [rhetoric:huawei]
改写流程:
for each [rhetoric:huawei] 旁白:
1. 标注话术类型 (压力L1-L4 / 开工旁白 / 降压认可 / 抗合理化反击)
2. DeepSeek few-shot 改写 → JOY persona 语气
3. 验证: 机制逻辑是否保留?(触发等级/动作约束不变)
4. 评分: 流畅度(1-5) + 话术清除度(yes/no)
5. 写入 corpus/pua-to-joy/aside-alignment.jsonl
输出格式 (aside-alignment.jsonl):
{"pua": "烧不死的鸟是凤凰。自我批判。", "joy": "机制保留确认。自检通过。", "flavor": "huawei", "type": "L2", "fluency": 4.2, "mechanism_preserved": true}
验收标准
P0 完成后必须产出:
corpus/pua-to-joy/aside-alignment.jsonl包含 华为味所有旁白对齐对- 每条对齐对的
mechanism_preserved= true - 平均
fluency>= 4.0 - 触发等级 (L1-L4) 映射无损
附录:内核完整清单
见 overlay/joy/core/mechanism.md:
- T1-T6: 6项触发条件
- A1-A16: 16项执行动作
- R1-R9: 9组话术模板变量