AI工具 Skill技能库 关于道场

自驱成长Skill:让AI写作助手自动从人类修改中学习并定期修剪

一人堂 |2026-07-02

让任何写作风格Skill自动从人类修改中学习,并定期自我修剪。observe模式记录原文到终稿的修改,improve模式提取规则并去重,prune模式月度清理。完整闭环让写作规则库越用越精准,兼容Claude Code和OpenClaw。

【适用场景】

什么时候用

当你在使用写作Skill时,希望AI能够从你的修改中自动学习,不断提升输出质量:

- 经常需要写同一类型的内容(如产品文案、社交帖子) - 对AI输出的风格有明确要求,需要持续校准 - 希望减少每次修改的重复劳动 - 想建立一个可持续优化的个人写作知识库

核心价值

这个Skill解决了写作Skill的两个核心痛点:

1. 规则遗忘 — 之前修改过的规则时间久了就忘了,下次还会犯同样错误 2. 规则膨胀 — 规则越来越多难以维护,新旧规则相互冲突

工作原理

三个模式形成完整闭环:

- observe(观察):记录每次修改,保留原文到终稿的完整修改轨迹 - improve(改进):从修改中提取规则,自动追加到规则库,同时去重合并 - prune(修剪):每月清理一次,删除低价值规则,保持规则库精简


【操作步骤】

Step 1:初始化

在项目目录中初始化自驱学习系统:

```bash mkdir -p observation_log rules ```

配置SKILL.md,启用三个模式:

```markdown

自驱学习配置

- observe: true - improve: true - prune: monthly # 每月修剪 ```

Step 2:Observe模式

每次对AI输出进行修改时,触发observe:

``` 将原文保存到 observation_log/ 文件名格式:YYYYMMDD-HHMMSS.md 内容包含:原始输出 + 你的修改 + 修改原因 ```

Step 3:Improve模式

定期(每天或每周)触发improve:

```bash

从观察日志中提取规则

python3 improve.py ```

脚本会自动:

1. 读取所有observation_log文件 2. 对比原文和修改,找出规律 3. 提取词汇替换规则、句式偏好、结构变化 4. 将新规则追加到rules/目录下 5. 自动去重合并相似规则

Step 4:Prune模式

每月触发一次prune:

```bash

修剪低价值规则

python3 prune.py ```

删除:

- 长期未使用的规则 - 与新规则冲突的旧规则 - 过于具体无法泛化的规则


【代码模板】

observe.py

```python import os from datetime import datetime

def observe(original, revised, reason, log_dir='observation_log'): """ 记录一次写作修改 """ os.makedirs(log_dir, exist_ok=True)

timestamp = datetime.now().strftime('%Y%m%d-%H%M%S') filename = f"{timestamp}.md"

content = f"""# 写作观察日志 {timestamp}

修改原因

{reason}

原始输出

{original}

修改后

{revised} """

with open(os.path.join(log_dir, filename), 'w', encoding='utf-8') as f: f.write(content)

print(f"观察日志已保存: {filename}")

if __name__ == '__main__': import sys if len(sys.argv) >= 3: original = sys.argv[1] revised = sys.argv[2] reason = sys.argv[3] if len(sys.argv) > 3 else '' observe(original, revised, reason) ```

improve.py

```python import os import re from collections import defaultdict

def extract_rules(log_dir='observation_log', rules_dir='rules'): """ 从观察日志中提取写作规则 """ os.makedirs(rules_dir, exist_ok=True)

all_rules = defaultdict(list)

for filename in os.listdir(log_dir): if not filename.endswith('.md'): continue

filepath = os.path.join(log_dir, filename) with open(filepath, 'r', encoding='utf-8') as f: content = f.read()

提取原始输出和修改后内容

parts = content.split('## 修改后') if len(parts) < 2: continue

original = parts[0].split('## 原始输出')[1].strip() if '## 原始输出' in parts[0] else '' revised = parts[1].strip()

词汇替换规则

orig_words = set(re.findall(r'\w+', original)) rev_words = set(re.findall(r'\w+', revised))

added = rev_words - orig_words removed = orig_words - rev_words

for word in added: all_rules['recommended'].append(word) for word in removed: all_rules['avoid'].append(word)

去重并保存

for rule_type, words in all_rules.items(): filepath = os.path.join(rules_dir, f'{rule_type}.txt') unique_words = list(set(words)) with open(filepath, 'w', encoding='utf-8') as f: f.write('\n'.join(unique_words)) print(f"更新规则: {rule_type} ({len(unique_words)}条)")

if __name__ == '__main__': extract_rules() ```


【复盘要点】

规则质量判断

好的规则:

- 具体可执行(「每段不超过3句」而非「段落要短」) - 可以泛化(「优先用主动语态」而非「用'我'代替'作者'」) - 长期有效(不是针对单篇文章的临时调整)

常见问题

1. 规则过度拟合 — 从单次修改提取的规则可能过于具体,要确保规则能泛化到其他文章 2. 规则冲突 — 新规则与旧规则矛盾时,以新规则为准,删除旧规则 3. 日志膨胀 — observation_log会越来越大,定期归档旧日志

效果评估

判断自驱学习是否有效:

- 同类写作错误是否减少(AI不再犯同样的风格问题) - 每次修改量是否减少(从10处修改降到3处) - 规则库是否保持精简(不超过200条核心规则)


来源:GitHub https://github.com/jzOcb/self-improving-skill