将Autoresearch转化为通用技能
我是一名技术作家。我每天在文档仓库、Markdown 文件、API 参考、风格指南和 SEO 审计中度过。我不训练语言模型。我不写 CUDA 内核。但当 Andrej Karpathy 发布了他的 autoresearch 时我无法停止思考它。这个想法太简单了事后看来似乎很明显让 AI 智能体自己运行实验测量结果保留有效的丢弃无效的重复直到它足够好。Karpathy 用它来训练一个小型 GPT 模型。智能体会修改训练代码运行 5 分钟检查模型是否变好然后决定 —— 保留或回滚。然后尝试其他东西。一遍又一遍自主地在他睡觉的时候。我记得读这个仓库时想这不是给我的。我不知道如何将它应用到我的世界。当时还不知道。btw: Andrej Karpathy 大约在2026 年 3 月 8-9 日发布了他的开源项目autoresearch1、启发我的 YouTuber在 Karpathy 的仓库公开几天后我偶然发现了一个 YouTube 视频改变了我对它的看法。创作者Nick Saraev采用了 Karpathy 的确切模式并将其应用于完全不同的东西优化用于生成白板风格图表的文本转图像提示词。他的设置很优雅被优化的东西发送到 Gemini 图像生成模型的提示词测量Claude 的视觉 API 根据 4 个二元标准评估每个生成的图表循环生成 10 个图表给它们评分如果分数更高则保留提示词变异以修复失败每 2 分钟重复一次他的 4 个标准非常简单所有文本是否清晰且语法正确是/否颜色是柔和的粉彩吗是/否布局是线性的从左到右或从上到下吗是/否有任何数字或序数吗是/否10 个图表每个 4 个问题最高分 40 分。他从 32/40 开始。到第 6 轮 —— 大约 12 分钟后 —— 他达到了 40/40。完美分数。让我震惊的不是图表。而是意识到所需的三个要素 —— 客观指标、自动化测量工具和可改变的东西 —— 完美映射到提示词Karpathy 的 Autoresearch提示词优化train.py被修改的代码prompt.txt被修改的提示词val_bpb客观数字40 分中的评估分数客观数字evaluate_bpb()自动化测试Claude 视觉根据是/否标准评分Git keep/revert保留最佳提示词/回滚到最佳映射是完美的。如果它对图表有效它就可以对任何具有可测量输出的东西有效。包括文档。2、将其编码为 Skill.md我决定构建它。不仅仅是为了图表 —— 为了所有东西。一个可以适应任何仓库、任何技术栈、任何优化目标的通用 autoresearch 技能。我打开 Cursor调出 Karpathy 仓库阅读重要的三个文件program.md、train.py、prepare.py重新观看视频然后开始提示。 我世界。当时还不知道。 我让 AI 做的第一件事是深入理解这个模式。不仅仅是仓库里有什么文件而是实际的机制 —— 循环、保留/丢弃逻辑、变异步骤、为什么二元评估重要、为什么从最佳提示词而不是最新的失败提示词变异. 然后我说为我构建一个对任何仓库都有效的技能.版本 1.1v1 技能有 5 个阶段:仓库发现—— 扫描代码库识别语言、框架、目的目标建议—— 基于扫描,建议可以优化的内容测试质量、文档完整性、可访问性、SQL 模式 —— 任何适合仓库的东西指标定义—— 从行业最佳实践自动生成 4-6 个二元是/否评估标准基线—— 运行一次提示词以建立起始分数Autoresearch 循环—— 生成、评估、评分、保留/丢弃、变异、自主重复它有效。但有差距.我用另一个 AI 来批评 skill.md我将 v1 技能通过了严格的分析.这些是我在 v1 中遗漏的:“变异策略未明确指定。” 告诉智能体分析失败并重写提示词太模糊了.修复:定义 6 个显式变异算子 —— 添加约束、添加负面示例、重构提示词、收紧模糊语言、删除冗余、添加反例.轮换使用它们,以便每个都得到尝试.记录使用了哪一个,以便你可以看到哪些变异类型最有效.“没有验证集.” 如果你每个循环选择不同的项目,分数差异可能反映项目难度而不是提示词质量.修复:指定 3-5 个固定项目,在每个循环中都出现.在这个固定集上比较分数,以便进行同类比较.轮换其余项目以获得覆盖率.“评估步骤混淆了生成器和评判者.” Claude 编写提示词、从中生成输出,然后评判这些输出 —— 都在同一个对话中.当它评估时,它知道输出试图做什么,并宽容地评分.修复:隔离评估.只呈现原始输出和标准文本.没有提示词上下文.像第一次看到一样评判.“没有处理上下文窗口限制.” 在 20 多个循环中,对话变得巨大.早期循环的细节会丢失.变异步骤 —— 依赖于理解失败模式 —— 会静默退化.修复:在每个循环开始时从磁盘重新读取所有状态.文件是事实来源,而不是对话记忆. 样本方差未被跟踪. 改变样本而不记住已经采样过的内容意味着你可能运行 20 个循环却意外地从未触及特定文件.修复:在state.json中跟踪已采样的项目,并进行覆盖率优先选择 —— 优先选择未测试的项目,只有在完全覆盖后才重复.每个批评都导致了具体的、有针对性的修复.技能在每一轮中变得更加紧凑.3、现在版本包含的内容从这个过程中产生的技能具有原始图表技能从未有过的功能:评估隔离—— 在不知道生成它们的提示词的情况下评判输出验证集—— 用于一致比较的固定项目,用于覆盖率的轮换项目结构化变异算子—— 6 个命名策略,轮换并记录样本跟踪—— 覆盖率优先选择,没有意外缺口上下文窗口管理—— 每个循环从磁盘重新读取状态命令评估—— 用于确定性检查的 shell 命令linting、编译、grep与 LLM 评判一起项目级失败检测—— 标记总是失败的项目损坏的项目,而不是糟糕的提示词对抗性重新评估—— 每个循环,用怀疑性提示重新检查通过的输出标准健康检查—— 在第 10 轮,标记太容易或太难的标准平台突破器—— 在 5 个停滞运行后,丢弃提示词结构,仅使用标准和失败历史从头编写一个新的置信度边际—— 防止噪音在小批量中被误认为进步计划模式启动—— 在接触任何东西之前扫描和计划只读4、文档示例:技术文档的 SEO既然我是一名技术作家,让我演示这个技能如何应用于文档仓库.假设我有一个用 Docusaurus 构建的文档网站,我想改善我页面上的 SEO 合规性.我打开仓库说:运行 autoresearch 来优化我文档的 SEO阶段 1 —— 智能体扫描:仓库: my-product-docs 技术栈: Markdown, MDX, Docusaurus, Node.js 目的: SaaS API 产品技术文档网站 发现的质量工具: markdownlint, broken-link-checker, Docusaurus build阶段 2 —— 跳过我已经陈述了我的目标阶段 3 —— 智能体定义评估标准:文档 SEO 合规性的评估标准8 页 x 5 标准 最高 40: 1. 页面是否有唯一、描述性的 title 且在 60 个字符以下 — 是/否 — 命令: grep -q title: [file] 2. 页面是否有 120-160 个字符之间的元描述 — 是/否 — 命令: grep -q description: [file] 3. 页面是否恰好使用一个 H1 标题 — 是/否 — 命令: grep -c ^# [file] | grep -q ^1$ 4. 所有图像是否都有描述性的替代文本不为空、不是image、不是screenshot — 是/否 — llm-judge 5. 页面是否至少有 2 个指向其他文档页面的内部链接 — 是/否 — llm-judge我审查.看起来不错.我切换到智能体模式.阶段 4 —— 基线:智能体创建.autoresearch/并编写初始提示词:为以下文档页面生成 SEO 优化的前置内容和结构改进。确保标题具有描述性且在 60 个字符以下. 包含 120-160 个字符的元描述,总结页面内容. 页面应该恰好有一个 H1 标题.所有图像必须有描述性的替代文本. 包含指向相关文档页面的内部链接.基线分数: 24/40分解:60 个字符以下的标题: 7/8元描述: 4/8许多页面缺失或太短单个 H1: 8/8替代文本: 3/8大多数图像上是通用的screenshot内部链接: 2/8大多数页面是孤岛5、循环运行第 2 轮 —— 变异:添加约束. 添加了元描述必须在 120-160 个字符之间.如果页面讨论 API 端点,描述必须包含 HTTP 方法和路径. 分数: 28/40. 保留.第 4 轮 —— 变异:添加负面示例. 添加了不要使用通用的替代文本,如’image’、‘screenshot’、‘diagram’或’figure’.而是描述图像显示的内容:‘显示客户端和服务器之间 JWT 令牌交换的身份验证流程’. 分数: 31/40. 保留.第 6 轮 —— 变异:收紧语言. 将包含指向相关页面的内部链接更改为必须包含至少 2 个指向其他文档页面的内部链接.链接文本必须具有描述性不是’click here’或’see more’. 分数: 35/40. 保留.第 9 轮 —— 变异:添加反例. 添加了前后对比示例: 分数: 38/40. 保留. 第 12 轮 —— 分数: 40/40. 保留. 完美分数. 第 13-14 轮 —— 40/40. 第 14 轮 —— 40/40. 三个连续的完美分数. 循环停止.6、最终结果:AUTORESEARCH 完成 运行次数: 14 起始分数: 24/40 最终最佳分数: 40/40 改进: 66.7% 保留的运行: 6 最有效的变异算子: 1. add_counterexample (2/2 保留 — 100%) 2. tighten_language (2/3 保留 — 67%) 3. add_constraint (1/2 保留 — 50%) 4. add_negative_example (1/2 保留 — 50%) 5. restructure (0/2 保留 — 0%) 6. remove_bloat (0/1 保留 — 0%) 最佳提示词保存到: .autoresearch/best_prompt.txt 完整历史: .autoresearch/results.jsonl.autoresearch/best_prompt.txt中的最佳提示词现在是一组经过实战测试的、优化的指令,用于生成 SEO 合规的文档.我可以将其用作模板、将其提供给其他工具,或将其应用于我的整个文档网站. 而我在初始设置后什么都没做就到了这里.智能体自主运行了 14 个循环,找出有效的方法,丢弃无效的方法,并将获胜者交给我.7、我的方向对吗?我是一名技术作家.我没有构建创业公司.我没有训练模型.我从当今最受尊敬的 AI 研究人员之一那里获取了一个想法,观看了一位 YouTuber 将其从 ML 训练转化为提示词优化,并将其编码成我可以在自己的工作中使用的东西 —— 文档 SEO、风格指南合规性、内容质量、API 参考完整性.技能可能不完美.它会进化.评估隔离可以更强.变异算子可以更智能.未来的模型将使循环更快、判断更准确.但架构是健全的:扫描、建议、定义指标、运行循环、保留获胜者、丢弃失败者.如果你在读这篇文章时想我可以把这个用于 [我的东西] —— 你是对的.这就是重点.技能是通用的,因为模式是通用的.生成、评估、保留最好的、再试一次.8、自己试试技能文件在这个文件夹中:Cursor: 将cursor/SKILL.md复制到~/.cursor/skills/autoresearch-universal/SKILL.mdClaude Code: 将claude-code/SKILL.md复制到~/.claude/skills/autoresearch-universal/SKILL.md打开任何仓库.切换到计划模式.说运行 autoresearch看看会发生什么. 如果你想深入了解,阅读SKILL.md本身 —— 它是 400 行纯英语,一步步告诉智能体确切要做什么. 如果你像我一样是技术作家,从文档 SEO 开始.如果你是前端开发人员,从可访问性开始.如果你是后端工程师,从测试用例质量开始.如果你是 DBA,从查询模式开始. 技能不在乎你优化什么.它只在乎你能用是或否来测量它.这是我的 仓库原文链接将Autoresearch转化为通用技能 - 汇智网
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2456472.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!