Claude Skills 自动进化 10x:用 Karpathy autoresearch 方法,一键让成功率从 56% 干到 92%
1. 为什么你的 Claude Skills 总在 56% 成功率上卡死如果你正在用 Claude Code 写 Skills大概率遇到过这种场景一个 landing page copy Skill跑十次有四次输出全是 revolutionary、synergy 这类空话另外六次勉强能看但 headline 永远模糊、CTA 弱得像 点这里了解更多。你以为是提示词写得不够细于是反复手改改完再跑跑完再改一天下来成功率还是原地打转。问题不在提示词本身而在于你缺少一个自动试错 闭环反馈的 Harness。Karpathy 在机器学习领域提出的 autoresearch 方法核心就一句话让 AI 自己小步试错、自动评分、保留有效变化形成闭环迭代。把它移植到 Claude Code 的 Skills 场景里你的 Skill 就从一次性菜谱变成了会自己进化的生命体。我实测下来一个初始成功率 56% 的 landing page Skill跑 4 轮 autoresearch 后直接冲到 92%全程只提供了 5 个 yes/no 检查清单剩下的分析、改提示词、回滚、保存全由 Agent 自己完成。这篇文章交付的是可复制的 settings.json 骨架、CC Switch 配置和逐步验证指令你可以直接在本地复现整个优化过程。适合谁已经在用 Claude Code 写 Skills、但被成功率一半一半折磨的开发者想把重复 prompt 升级成自动进化系统的 Agent 玩家以及任何需要可量化质量反馈的 prompt 工程场景。2. TaoToken 前置把 Claude Code 的请求链路先跑通在跑 autoresearch 之前得先确保 Claude Code 的模型请求是通的。我用的方案是通过 TaoToken 接入官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 这个地址不加 UTM 参数直接配到环境变量里。为什么先做这一步因为 autoresearch 的迭代循环会高频调用模型——每轮要跑 10 次测试输入、分析失败项、生成改动、再验证。如果请求链路不稳定迭代到第 3 轮就可能因为超时或限流中断整个闭环就断了。所以先把接入层配好再谈 Skill 进化。你需要准备的东西一个 TaoToken 账号在控制台生成 API Key入口 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content Claude Code 已安装并能正常启动一个你想优化的 Skill 文件比如landing-page-copy.skill.md一个测试输入集比如给一个 AI 生产力工具写落地页文案API Key 的生成路径是登录后进控制台 → API Keys 页面 → 新建 Key → 复制保存。这个 Key 后面要写进 Claude Code 的 settings.json不要提交到 Git。注意API Key 只在创建时完整显示一次关掉页面就看不到了。建议生成后立刻存到本地密码管理器或.env文件里并加进.gitignore。如果你还没配过 Claude Code 的模型接入可以先看接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。文档里有环境变量和配置文件的完整说明跟着走一遍就能跑通。3. 可复制配置settings.json 骨架 CC Switch 配置这一步是整个 autoresearch 流程的地基。配置写对了后面 Agent 才能自动跑循环配置写错了你会卡在请求发不出去或者Skill 加载不了这种低级问题上。3.1 settings.json 骨架Claude Code 的配置文件通常在~/.claude/settings.jsonmacOS/Linux或%USERPROFILE%\.claude\settings.jsonWindows。下面是我实测可用的骨架把YOUR_TAOTOKEN_API_KEY替换成你刚才生成的 Key{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: YOUR_TAOTOKEN_API_KEY, ANTHROPIC_MODEL: claude-sonnet-4-20250514 }, skills: { directory: ~/.claude/skills, autoresearch: { enabled: true, maxRounds: 50, testRunsPerRound: 10, earlyStopThreshold: 0.95, earlyStopConsecutive: 3, checklistSize: { min: 3, max: 6 }, rollbackOnDrop: true, saveChangelog: true, backupOriginal: true } }, permissions: { allowFileWrite: true, allowShellCommand: false } }几个关键参数解释一下maxRounds设 50 是上限实际跑起来通常 4-8 轮就收敛了。testRunsPerRound设 10 是因为单轮样本太少会导致评分波动大10 次能算出相对稳定的通过率。earlyStopThreshold和earlyStopConsecutive配合使用——连续 3 轮达到 95% 以上才停避免某一轮偶然高分就误判收敛。rollbackOnDrop必须开这是 autoresearch 的灵魂分数跌了就回滚防止局部优化伤害整体。checklistSize限制在 3-6 个这是甜蜜点。少于 3 个评分维度太粗Agent 找不到改进方向多于 6 个 Agent 会死记硬背清单反而变蠢——它会为了满足某一条而牺牲整体质量。3.2 CC Switch 配置CC Switch 是用来在多个 Claude Code 配置之间切换的工具。如果你同时有官方 API 和 TaoToken 两套配置用 CC Switch 可以一键切换不用手动改 settings.json。安装后在 CC Switch 的配置目录里新建一个 profile 文件比如taotoken-autoresearch.json{ name: taotoken-autoresearch, settingsPath: ~/.claude/settings.json, env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: YOUR_TAOTOKEN_API_KEY }, skillsDir: ~/.claude/skills, notes: 用于 autoresearch 迭代循环高频调用场景 }切换命令cc-switch use taotoken-autoresearch切换后验证当前生效的配置cc-switch current输出应该显示taotoken-autoresearch和对应的 base URL。如果显示的还是旧配置检查 profile 文件路径是否正确或者重启一下终端。3.3 autoresearch Skill 文件放置把 autoresearch Skill 文件放到~/.claude/skills/autoresearch.skill.md。这个 Skill 的核心逻辑是读取目标 Skill → 读取 checklist → 跑测试 → 算通过率 → 分析失败项 → 生成改动 → 再跑测试 → 对比分数 → 保留或回滚。Skill 文件里最关键的一段是循环控制逻辑用伪代码表示大概是这样## Autoresearch Loop 1. Load target skill and checklist 2. Run baseline: execute skill N times, score each output against checklist 3. Calculate baseline pass rate 4. Loop until maxRounds or early stop: a. Analyze failed checklist items b. Generate one small modification to the skill c. Run N test executions with modified skill d. Calculate new pass rate e. If new old: keep modification, log changelog f. If new old: rollback, log failed attempt g. Check early stop condition 5. Save new skill version (original untouched) 6. Output full changelog这段逻辑不复杂但它是整个自动进化的引擎。你不需要自己写代码实现Claude Code 会按 Skill 里的指令执行。4. 验证请求从 56% 到 92% 的逐步复现指令配置写完接下来是实际跑一遍。我会把每一步的指令和预期结果都列出来你照着敲就行。4.1 第一步确认 Skill 加载成功启动 Claude Code输入列出当前加载的所有 skills预期输出里应该包含autoresearch和你的目标 Skill比如landing-page-copy。如果没看到检查~/.claude/skills/目录下文件是否存在以及 settings.json 里的skills.directory路径是否正确。4.2 第二步准备 checklist新建一个文件~/.claude/skills/landing-page-copy.checklist.md内容如下# Landing Page Copy Checklist 1. Headline 里有没有具体数字或结果 2. 有没有用 buzzwordsrevolutionary、synergy、cutting-edge 等 3. CTA 是否用了具体动词短语 4. 开头第一句有没有戳中具体痛点 5. 总字数是否控制在 150 字以内这 5 个问题全部是 yes/no 形式。注意第 2 题是反向的——有没有用 buzzwordsyes 表示失败。Agent 会自动处理这种反向计分。为什么不用整体质量打 1-10 分因为主观评分每次都不一样同一段文案你今天打 7 分明天打 5 分Agent 根本不知道往哪个方向改。yes/no 清单把模糊的感觉不错变成了可量化的数据每一次改动都有明确方向。4.3 第三步启动 autoresearch在 Claude Code 里输入对 landing-page-copy skill 跑 autoresearchchecklist 用 landing-page-copy.checklist.md测试输入是给一个 AI 生产力工具写落地页文案Agent 会先跑 baseline输出类似Baseline pass rate: 56% Failed items breakdown: - Item 1 (具体数字): 2/10 pass - Item 2 (buzzwords): 4/10 pass - Item 3 (CTA 动词): 6/10 pass - Item 4 (痛点开头): 7/10 pass - Item 5 (字数): 9/10 pass这个 breakdown 很关键——它告诉你到底哪里最烂。我那次是 Item 1 和 Item 2 拖后腿headline 没数字、buzzword 满天飞。4.4 第四步观察迭代循环Agent 进入循环后每轮会输出Round 1: 56% - 68% (kept: added rule Headline must contain a specific number or result) Round 2: 68% - 79% (kept: added banned words list) Round 3: 79% - 85% (kept: added high-quality example) Round 4: 85% - 92% (kept: refined CTA instruction) Round 5: 92% - 89% (rolled back: tightened word count hurt headline quality) Round 6: 92% - 93% (kept: minor tone adjustment) Early stop: 3 consecutive rounds 95%? No, continuing...注意第 5 轮——Agent 试过把字数压得更紧结果分数反而掉立刻回滚。这就是rollbackOnDrop的价值它会自己发现局部优化伤害整体的陷阱不需要你盯着。4.5 第五步查看最终产物迭代结束后Agent 会输出新版 Skill 文件单独保存原版不动完整迭代日志每轮分数 改动原因changelog解释为什么每个改动有效原版备份路径changelog 是最值钱的东西。以后模型升级了你把 changelog 扔给新模型它直接接上上一代的进化路径不用从零开始。4.6 第六步验证新 Skill用新 Skill 跑一次实际任务用新版 landing-page-copy skill 写一段落地页文案产品是 AI 会议纪要工具检查输出是否满足 checklist 全部 5 项。我那次的结果是 headline 带了节省 80% 会议记录时间这种具体数字buzzword 一个没有CTA 是免费试用 14 天开头第一句直接戳开完会还要花 1 小时整理纪要的痛点。5. 本篇常见错排查跑 autoresearch 的过程中我踩过几个坑这里列出来帮你省时间。5.1 Skill 加载失败路径和权限问题报错Skill not found: autoresearch。检查三件事文件是否真的在~/.claude/skills/下文件名是否以.skill.md结尾settings.json 里skills.directory的路径是否用了绝对路径。Windows 上~有时不展开建议写成C:/Users/你的用户名/.claude/skills。5.2 请求 401API Key 没生效报错401 Unauthorized。先确认 settings.json 里的ANTHROPIC_API_KEY是不是完整的 Key有没有多余空格。然后用 curl 直接测一下curl -X POST https://taotoken.net/api/v1/messages \ -H x-api-key: YOUR_TAOTOKEN_API_KEY \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d {model:claude-sonnet-4-20250514,max_tokens:100,messages:[{role:user,content:ping}]}如果 curl 通了但 Claude Code 不通说明是 Claude Code 的配置读取问题检查 CC Switch 当前 profile 是否指向了正确的 settings.json。5.3 迭代不收敛分数来回震荡如果分数在 70%-80% 之间来回跳通常是 checklist 有问题。检查两点有没有模糊项比如文案是否吸引人这种主观题checklist 项数是否超过 6 个。把模糊项改成 yes/no把项数压到 3-6 个再跑一次。5.4 回滚太频繁改动幅度太大如果每轮都回滚说明 Agent 每次改动的幅度太大一步跨太远导致分数暴跌。在 Skill 文件里加一条约束每次只修改一个规则或添加一个示例不要同时改多处。小步试错才是 autoresearch 的精髓。5.5 测试输入太单一过拟合如果只用一条测试输入Agent 会把 Skill 优化成只对这条输入有效。建议准备 5-10 条不同场景的测试输入比如AI 生产力工具、B2B SaaS、消费级 App各来几条。这样进化出来的 Skill 泛化能力更强。6. 把 autoresearch 用到更多场景这套方法不只适用于 landing page copy。任何可测量的重复 prompt 都能加上进化引擎。网站加载速度优化checklist 是首屏时间 500msLCP 2.5sCLS 0.1Agent 改一个配置测一次保留有效变化。有人用这个方法把加载时间从 1100ms 干到 67ms。冷启动邮件checklist 是提到对方公司名字数 75结尾问具体问题自动迭代 50 轮。Newsletter 开头checklist 是有没有个人细节有没有陈词滥调自动变强。核心逻辑是一样的只要能打分就能进化。你提供的 checklist 就是 Agent 的北极星它把模糊的感觉不错变成了可量化的数据让每一次改动都有明确方向。如果你想把 autoresearch 用在长期编码或 Agent 场景可以考虑 Coding Plan入口 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 高频迭代场景下额度更划算。想先验证模型输出质量可以直接在模型对话页面试入口 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。现在就去挑你最烂的那个 Skill跑一次 autoresearch。回来你会发现AI 已经帮你把最烦人的地方全修好了。