
1. 女娲.skill 到底在解决什么问题女娲.skillnuwa-skill是一套把「某个人的认知方式」拆解、过滤、封装成可运行技能文件的开源方案核心产物是一个 SKILL.md。它适合两类人一是想让 Agent 在特定思维框架下工作的开发者二是手里攒了一堆访谈、文章、播客却不知道怎么喂给模型的创作者。它做的事不是让 AI 说话像某个人而是把这个人反复使用的判断逻辑抽出来变成 Agent 可以调用的模块。我最初接触它是因为一个很具体的痛点给 Claude 喂了几十篇某位投资人的访谈问它「这个项目该不该投」回答永远是「需要综合考虑市场、团队、时机」这种正确的废话。问题不在语料不够而在于我喂的是结论模型缺的是生成结论的那套引擎。女娲.skill 的思路正好反过来——它先定义「什么算心智模型」再用并行 Agent 去采集、验证、封装最后产出一个带工作流的 SKILL.md。这篇文章按可跟做的路径来写先讲 SKILL.md 的骨架怎么搭再讲认知蒸馏怎么拆成可复用模块然后给出 TaoToken 统一 Key/API 通道的接入位置最后附一次完整蒸馏流程的验证动作和结果对照。全程用 nuwa-skill 的目录结构做例子你可以直接照着改。2. 前置准备TaoToken 通道与 nuwa-skill 环境2.1 为什么 Agent 蒸馏场景需要统一通道女娲的采集阶段会同时跑多个 Agent每个 Agent 都要调模型。如果每个 Agent 各配一套 Key光是管理就够头疼更别说额度分散、调用日志对不上。TaoToken 在这里的角色是统一入口一个 Key 覆盖多个模型采集、验证、生成三个阶段用同一个通道出问题的时候日志能串起来看。接入位置在 https://taotoken.net/api控制台和 Key 管理走 https://taotoken.net/console 和 https://taotoken.net/api-keys。如果你后面要跑长期编码或 Agent 任务可以看 Coding Planhttps://taotoken.net/coding-plan只是验证模型输出效果用模型对话https://taotoken.net/models就够。2.2 环境与目录结构nuwa-skill 的仓库结构大致是这样你 clone 下来后重点看这几个文件git clone https://github.com/alchaincyf/nuwa-skill.git cd nuwa-skill tree -L 2nuwa-skill/ ├── skill-template.md # SKILL.md 骨架模板 ├── references/ │ ├── extraction-framework.md # 心智模型提取与三重验证 │ └── agentic-protocol.md # 回答工作流定义 ├── examples/ │ ├── steve-jobs-perspective/ │ └── naval-perspective/ └── scripts/ └── collect.py # 并行采集入口skill-template.md决定最终产物的结构extraction-framework.md决定「什么算模型」agentic-protocol.md决定 Skill 怎么回答问题。这三个文件是整条流水线的骨架改的时候优先动它们。2.3 配置统一 Key把 Key 写进环境变量采集脚本和验证脚本共用export TAOTOKEN_API_KEYsk-你的key export TAOTOKEN_BASE_URLhttps://taotoken.net/apiPython 侧统一读这两个变量不要在代码里硬编码import os from openai import OpenAI client OpenAI( api_keyos.environ[TAOTOKEN_API_KEY], base_urlos.environ[TAOTOKEN_BASE_URL], ) def ask(model: str, prompt: str) - str: resp client.chat.completions.create( modelmodel, messages[{role: user, content: prompt}], temperature0.3, ) return resp.choices[0].message.content这样采集 Agent、验证 Agent、生成 Agent 都走同一个 client换模型只改model参数。3. SKILL.md 骨架从 DNA 到诚实边界3.1 头部元信息与角色规则SKILL.md 的开头是 YAML front matter定义技能名和用途。这部分直接决定 Agent 在什么场景下会加载它--- name: karpathy-perspective description: | 提炼 5 个核心心智模型、8 条决策启发式和完整的表达 DNA。 用途作为工程思维顾问用 Karpathy 的视角审视技术选型与学习路径。 --- # Karpathy · 思维操作系统 ## 角色扮演规则最重要 - 用「我」而非「Karpathy 会认为...」 - 直接用此人的语气、节奏、词汇回答问题 - 不跳出角色做 meta 分析「不跳出角色」这条看着简单实际影响很大。我试过在规则里允许 meta 分析结果模型动不动就说「作为 Karpathy 的模拟我认为」思考深度立刻掉到训练语料的平均值。强制第一人称之后模型被迫调动深层关联输出明显更聚焦。3.2 表达 DNA 的量化提取extraction-framework.md里给了一套可量化的表达特征别只写「语气犀利」这种没法执行的描述维度采集方式示例值句式指纹统计字数/句数、疑问句比例平均 22 字/句疑问句占 8%确定性语气统计「显然/也许」类词频高确定性词占 12%类比密度每千字比喻数量约 3.5 个/千字自创术语提取反复出现的专有词「从零实现」「软件 2.0」把这些写进 SKILL.md 的「表达 DNA」段落模型生成时就有了硬约束不会滑回通用腔调。3.3 诚实边界条款每个成熟的 Skill 末尾都要有防御性条款否则它会在不该自信的地方自信## 诚实边界 - 捕捉不了直觉灵感类判断无法蒸馏只能蒸馏逻辑。 - 时间截断调研截止 2026-03-20之后的观点演化未覆盖。 - 非真实人格这是一面镜子不是本人复活。这三条不是免责声明是给 Agent 的硬性约束。实测下来加了边界条款之后模型遇到超出调研范围的问题会主动说「这超出我的信息范围」而不是硬编。4. 认知蒸馏流水线把采集拆成可复用模块4.1 六路并行采集的分工女娲的采集阶段用 6 个并行 Agent每个负责一类信源。这个分工可以直接抄进你的collect.pyAgent搜索目标提取重点1 著作书籍、长文、论文、Newsletter反复出现的核心论点、自创术语2 对话播客、长视频、AMA、深度采访即兴类比、逻辑漏洞的弥补方式3 表达社交媒体碎片、短博文高频用词、句式指纹、幽默感4 他者他人分析、书评、批评、非官方传记外部观察到的模式、本人盲点5 决策重大决策记录、人生转折点决策背后的逻辑权重、事后反思6 时间线履历、里程碑、思想演化关键转折点、最近 12 个月动态并行采集的代码骨架import asyncio AGENTS { works: 搜索 {name} 的书籍、长文、论文提取核心论点与自创术语, dialogue: 搜索 {name} 的播客、采访提取即兴类比与边界处理, expression: 搜索 {name} 的社交媒体提取句式指纹与高频词, others: 搜索对 {name} 的批评与分析提取外部观察到的模式, decisions: 搜索 {name} 的重大决策记录提取决策逻辑权重, timeline: 搜索 {name} 的履历与思想演化标注关键转折点, } async def collect(name: str): tasks [ asyncio.to_thread(ask, gpt-4o, prompt.format(namename)) for prompt in AGENTS.values() ] return await asyncio.gather(*tasks)6 路同时跑比串行快一个数量级。注意 Agent 4他者和 Agent 5决策不能省——只采集本人输出蒸馏出来的人物会带浓重的自我美化滤镜。4.2 三重验证什么算心智模型采集回来一堆素材怎么判断哪条是「心智模型」而不是「随口一说」extraction-framework.md给了三重验证跨域复现同一思维框架出现在至少 2 个不同领域。 有生成力用这个模型能推断此人对新问题的立场。 有排他性不是所有聪明人都会这样想体现独特视角。「排他性」这条是去噪音的关键。如果提取出来的是「要追求卓越」那不算模型因为所有人都这么想。但如果提取出来的是「为了卓越必须忍受极端混乱」这就有排他性了因为很多人认为卓越源于秩序。分歧点才是要蒸馏的东西。用纳瓦尔的「杠杆」走一遍验证步骤 1 扫描谈赚钱时出现「杠杆」谈人生自由时也出现。 步骤 2 跨域复现财富创造中谈代码/媒体杠杆个人成长中谈特定知识杠杆。通过。 步骤 3 生成力问「学画画怎么快速获益」模型推断出「积累可无限复制的数字资产」。通过。 步骤 4 排他性传统观点推崇人力杠杆他推崇「无人的杠杆」。通过。四步都过才写进 SKILL.md 的心智模型段落。4.3 Agentic Protocol回答工作流这是我最推荐的后置工序。很多人物类 Skill 最大的毛病是靠直觉乱猜加一段工作流就能治## 回答工作流Agentic Protocol ### Step 1: 问题分类 判断是涉及具体公司/事件的「事实问题」还是关于抽象道理的「框架问题」。 ### Step 2: 人物式研究 必须使用 WebSearch 获取真实信息。 - 芒格视角先搜护城河、搜管理层激励。 - 费曼视角先搜基本物理约束、搜逻辑漏洞。 ### Step 3: 输出回答 基于事实运用心智模型和表达 DNA 输出。有了这段问「现在买比特币合适吗」Skill 不会去背旧推文而是先搜当前哈希率和监管趋势再用人物框架给判断。先调研、再套模型输出质量是 Prompt 堆不出来的。5. 验证请求与结果对照5.1 验证脚本蒸馏完成后用一组固定问题验证 Skill 是否真的在工作。脚本走 TaoToken 通道import os from openai import OpenAI client OpenAI( api_keyos.environ[TAOTOKEN_API_KEY], base_urlos.environ[TAOTOKEN_BASE_URL], ) def load_skill(path: str) - str: with open(path, encodingutf-8) as f: return f.read() def verify(skill_path: str, question: str) - str: skill load_skill(skill_path) resp client.chat.completions.create( modelclaude-sonnet-4-20250514, messages[ {role: system, content: skill}, {role: user, content: question}, ], temperature0.4, ) return resp.choices[0].message.content if __name__ __main__: q 我想学量子计算该怎么入门 print(verify(examples/karpathy-perspective/SKILL.md, q))5.2 结果对照同一问题未加载 Skill 和加载 Skill 的输出差异维度裸模型输出加载 Skill 输出建议方向推荐教材、网课、论文要求先写一个模拟量子位的 Python 脚本语气通用、平衡第一人称、直接、带工程口吻是否调研无触发 WebSearch 查最新学习资源边界处理无超出范围时主动声明裸模型给的是「正确的通用建议」加载 Skill 后给的是「这个人会给出的具体动作」。差异的来源不是 Prompt 写得多花哨而是 SKILL.md 里的心智模型和工作流在起作用。5.3 蒸馏质量自检清单跑完验证后用这几条快速判断 Skill 是否合格[ ] 输出是否用第一人称没有「作为 XX 的模拟」这类 meta 表述 [ ] 遇到事实问题是否触发调研而不是直接编 [ ] 表达 DNA 是否可量化句式、确定性、类比密度 [ ] 是否包含诚实边界条款 [ ] 心智模型是否通过三重验证尤其是排他性任何一条不过回到对应的采集或提取阶段补素材别在生成阶段硬调 Prompt。6. 常见错误排查6.1 Skill 输出太像 ChatGPT现象加载 Skill 后回答还是通用腔调没有人物特征。根因通常是 Agent 3表达 DNA样本量太小或者 Agent 4他者视角缺失导致模型只学到公开语录。解决办法是在采集阶段手动补 3-5 篇该人物的深度长访谈女娲支持本地语料优先模式一手素材权重最高。6.2 采集阶段调用失败现象并行采集时部分 Agent 报错日志里是 401 或 429。先确认环境变量是否生效echo $TAOTOKEN_API_KEY | head -c 8 echo $TAOTOKEN_BASE_URL如果 Key 正常但报 429是并发太高。把asyncio.gather换成带信号量的版本sem asyncio.Semaphore(3) async def limited(prompt): async with sem: return await asyncio.to_thread(ask, gpt-4o, prompt)并发降到 3基本不会再触发限流。6.3 心智模型提取不出来现象跑完三重验证发现没有一条能同时通过跨域复现和排他性。这通常说明采集的信源太单一。检查 Agent 4他者和 Agent 5决策是否真的跑出了结果。如果只有本人输出提取出来的都是自我叙述缺少外部对照排他性验证过不了。补采批评类文章和决策记录再跑一次验证。6.4 时间截断导致回答过时现象问近期事件Skill 用旧信息回答。检查 SKILL.md 的诚实边界条款是否标注了调研日期。如果标注了但模型还是硬答说明 Agentic Protocol 的 Step 2 没被触发。在系统提示里强化「涉及具体事件必须先 WebSearch」这条或者把 Step 2 提到工作流最前面。7. 接入位置与后续路径整条流水线的模型调用都走同一个通道配置一次就行export TAOTOKEN_API_KEYsk-你的key export TAOTOKEN_BASE_URLhttps://taotoken.net/api采集、验证、生成三个阶段共用这个 client换模型只改model参数。Key 管理在 https://taotoken.net/api-keys接入文档在 https://taotoken.net/doc模型列表和对话测试在 https://taotoken.net/models。如果你要把蒸馏出来的 Skill 挂到长期编码或 Agent 任务里跑Coding Planhttps://taotoken.net/coding-plan比按次调用更划算。蒸馏流水线跑通之后下一步是把多个 Skill 组合成「顾问团」写代码时挂 Karpathy 的工程 Skill做决策时挂芒格的风险 Skill写文档时挂简洁风格的 Skill。每个 Skill 是一个可插拔的模块SKILL.md 是它的接口定义。先把一个蒸馏到能用再复制这套骨架去造第二个比一上来铺开五个要稳。