关于 voice-learn
voice-learn 根据审阅后文本与用户最终编辑之间的差异,改进现有写作风格档案。它追踪反复出现的模式,并在用户批准后提出档案更新。
主要功能
- 01比较审阅后与编辑后文本
- 02将编辑归类为模式
- 03在累积记录中追踪证据
- 04标记矛盾和过期模式
- 05提出更新供用户批准
适用场景
- 01根据编辑后的草稿完善风格档案
- 02区分反复偏好与一次性修改
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill voice-learn安装后在 Claude Code 中输入/voice-learn确认已加载。
附带文件modules/pattern-analysis.mdmodules/snapshot-management.md
详细介绍
语音学习技能
从用户的编辑中学习,逐步改进语音配置。
不适用场景
- 创建第一个配置(使用
scribe:voice-extract) - 在不更改配置的情况下审阅文本(使用
scribe:voice-review)
方法:三阶段对比
每份内容都会经过三个阶段:
- 预审阅:原始生成结果(审阅 Agent 开始工作前)
- 审阅后:用户接受或拒绝建议性修改后
- 编辑后:用户手动编辑后的最终版本
学习 Agent 会比较阶段 2 和阶段 3(审阅后与编辑后),以识别用户所做修改中的规律。 这些规律将用于更新语域和规则。
核心规则
- 精炼,不要新增:修改现有规则以涵盖新的规律。规则膨胀会降低输出质量。
- 标注适用范围:特定语域的规律归入语域。通用规律归入写作规则或 Agent。
- 标记矛盾:不同内容中出现相反规律时,需要用户裁定。
- 证据门槛:规律至少需要 3 个实例(或 1–2 个与现有累积记录相符的实例),才可纳入规则。
- 检测表征:结构性更改会提高被 AI 检测出的可能性。写作层面的更改则不会。优先进行写作层面的更新。
- 检查规则数量:如果任何部分有 8 条或更多规则,建议合并。
必需的进度项
voice-learn:snapshots-loaded- 已读取所有三个阶段voice-learn:diff-analyzed- 已对更改进行分类voice-learn:accumulator-checked- 已检查先前规律voice-learn:proposals-generated- 已提出更新建议voice-learn:user-approved- 用户已接受更改
步骤 1:加载快照
加载:@modules/snapshot-management
PROFILE_DIR="$HOME/.claude/voice-profiles/{name}"
SNAP_DIR="$PROFILE_DIR/learning/snapshots"
# Find the most recent snapshot set
# Format: {piece-name}-{timestamp}-{stage}.md
读取目标内容的所有三个阶段。
步骤 2:差异分析
加载:@modules/pattern-analysis
比较审阅后与编辑后的版本。对每项更改进行分类:
| 类别 | 示例 |
|---|---|
| 语气调整 | 弱化某项主张,添加保留措辞 |
| 语音特征插入 | 添加括号补充、插话或幽默 |
| 结构更改 | 拆分段落、调整顺序 |
| 精确化编辑 | 将含糊表述替换为具体表述 |
| 删除 | 移除冗余内容或修饰 |
| 添加 | 添加背景信息、示例或锚点 |
步骤 3:检查累积记录
读取 learning/accumulator.json:
{
"patterns": [
{
"id": "pat-001",
"category": "tone_adjustment",
"description": "Softens confident claims about tool capabilities",
"instances": [
{"piece": "blog-post-1", "date": "2026-04-08", "diff": "..."}
],
"target": "register",
"status": "accumulating",
"first_seen": "2026-04-08",
"last_seen": "2026-04-08"
}
],
"staleness_threshold_days": 30
}
将新更改与现有规律进行匹配:
- 语义相似性(类别相同且描述相似)
- 如果找到匹配项:合并实例,并检查是否达到门槛
- 如果没有匹配项:创建新的累积记录条目
步骤 4:生成建议
对于达到门槛的规律(3 个或更多实例,或与先前累积记录中有 2 个或更多实例相符的 1–2 个实例):
应用(证据充分)
## Proposed Update
**Pattern**: {description}
**Target**: {register file or craft-rules.md}
**Evidence**: {N instances across M pieces}
| Piece | Date | Change Made |
|-------|------|-------------|
| ... | ... | ... |
**Proposed edit**:
- File: {path}
- Section: {section name}
- Current: "{current text or 'new addition'}"
- Proposed: "{new text}"
暂缓(证据不足)
将当前实例添加到累积记录。报告:
Holding: "{pattern description}" (N instances, need 3+)
矛盾
如果新规律与现有累积记录条目相矛盾:
Contradiction detected:
- Existing: "{accumulator pattern}"
- New: "{contradicting pattern}"
- Resolution required: user must choose
步骤 5:用户批准
向用户展示建议:
Learning found N patterns ready to apply:
[1] {pattern}: {proposed change}
Evidence: {N instances}
[a]pply / [s]kip / [v]iew evidence?
[2] ...
将获批的更改应用到目标文件。
过时
累积记录中的规律会在 staleness_threshold_days 天后过期(默认值为 30)。如果某项规律在此时间段内未再次出现,则它很可能只是一次性的偏好,而非语音特征。
每次学习时,都要清理过时条目:
# Remove patterns older than threshold with < 3 instances
快照捕获
语音审阅完成后,学习系统会自动捕获快照。快照命名方式:
{piece-filename}-{YYYYMMDD-HHMMSS}-pre-review.md
{piece-filename}-{YYYYMMDD-HHMMSS}-post-review.md
{piece-filename}-{YYYYMMDD-HHMMSS}-post-edit.md
用户完成手动编辑后运行
/voice-learn 时,会捕获编辑后快照。
退出标准
- 已加载并比较快照
- 已对更改进行分类
- 已检查并更新累积记录
- 已为达到门槛的规律生成建议
- 用户已接受或拒绝建议
- 已将获批的更改应用到配置文件
- 已清理过时的累积记录条目
评论
支持 Markdown