Autoimprove — 自动改进
v3Autonomous optimization loop that improves any measurable thing. Point it at files to change, a command to 检查, and a number to improve — then walk away. Works with any AI 代理. Use when the user wants to autonomously 优化 code performance, ML trAIning, Docker images, SQL queries, prompts, CI speed, bundle size, Kubernetes configs, or any domAIn with a measurable score. Triggers include 请求s like '优化 this', 'improve performance', 'make this faster', 'reduce allocations', 'autoimprove', '运行 the optimization loop', 'let it 运行 overnight', or when the user has an improve.md file.
运行时依赖
安装命令
点击复制技能文档
自动优化循环(Autoimprove Autonomous optimization loop)。分为两个阶段:交互式设置(确认范围、审查测试、建立基准)和无头执行(修改、检查、保留或丢弃、重复)。第一次运行始终是交互式的。只有在验证设置有效后才能运行无头模式。
何时使用:
- 用户想要优化某些可衡量的指标(速度、大小、准确性、成本)
- 用户有一个 improve.md 文件
- 用户输入“autoimprove”、“optimize”、“improve”、“make faster/smaller/better”
- 用户想要进行夜间自主优化
命令:
/autoimprove:自动检测所需的设置,运行循环/autoimprove:使用特定的 improve.md 文件/autoimprove --export:生成 agent-agnostic program.md
单独的设置步骤也可以独立运行:
/autoimprove init:创建 improve.md(自动检测仓库类型)/autoimprove init --type:为特定领域创建 improve.md/autoimprove eval-init:创建评估脚本和金标准/autoimprove bootstrap:分析代码库,生成目标感知测试/autoimprove bootstrap --generate:创建测试文件
但是,您不需要单独运行这些命令。/autoimprove 会自动检测缺失的部分并引导您完成设置。
improve.md 格式:
- 一个 markdown 文件,部分配置,部分提示:
# autoimprove:
- ## Change scope: <自然语言描述、显式路径或 glob>
- exclude: <永远不修改的路径(可选)>
- ## Check test: <验证正确性的命令 —— 必须通过才能保留任何实验>
- test-files: <测试文件路径 —— 在循环中只读,在 bootstrap 期间可修改>
- run: <产生评分的命令 —— 只有在测试通过时运行>
- score: <如何提取数字 —— "SCORE: {value}" 或正则表达式或 jq>
- goal:
- guard: <可选 —— 正则表达式和阈值,用于必须不回归的指标,例如 "error_rate: ([\d.]+) < 0.05">
- keep_if_equal:
- timeout: <每个实验的最大时间>
- ## Stop budget: <总墙钟限制 —— 从第一个实验开始计算,而不是从设置开始>
- rounds: <最大实验次数>
- target: <达到此评分时停止>
- stale: <连续失败次数后停止>
- ## Agent provider:
- model: <要使用的模型>
- ## Instructions <自由形式:要尝试的内容、要避免的内容、领域知识>循环:
- 当被调用时,遵循此协议:
/autoimprove 调用从零开始运行。
- 检查准备就绪...
1. improve.md 检查
- ✓ Found improve.md —— 或 —— ✗ 没有找到 improve.md。
- 检测仓库类型,提供创建一个: “这看起来像一个 [type] 项目。创建 improve.md? [y/n]”
- 运行 init 协议内联
- 继续到下一个检查
2. 范围解析
- ✓ 解析范围 “模板解析引擎” 为:- lib/liquid/parser.rb - lib/liquid/lexer.rb - lib/liquid/variable.rb
- 这些是唯一将被修改的文件。确认? [y/n] —— 或 —— ✗ 范围解析为 0 个文件。
- 询问用户澄清范围
3. 评估框架
- ✓ 检查命令运行成功 —— 或 —— ✗ 没有检查命令或它在未修改的代码上失败。
- 检测是否需要金标准(rag、prompt、automl)
- 如果是:运行 eval-init 协议内联(交互式创建评估脚本和金标准)
- 如果不是:帮助用户编写检查命令
- 继续到下一个检查
4. 测试套件
- ✓ 测试通过(16 个测试在 2.1 秒内通过)—— 或 —— ✗ 没有测试命令或测试失败。
- 运行 bootstrap 协议内联(目标感知测试生成)
- 提供测试以供审查并提交它们
- 继续到下一个检查
5. Git 状态
- ✓ 工作树是干净的 —— 或 —— ✗ 未提交的更改。
- “您有未提交的更改。提交或存储它们,然后 autoimprove 才能开始。”
- 这是唯一一个不能自动修复的阻塞点。停止并等待。
6. 备份
- git branch autoimprove-backup-$(date +%Y%m%d-%H%M)
- 打印: “备份分支创建。”
7. 基准
- ✓ 基准评分:0.4398(错误率:0.0%)—— 或 —— ✗ 错误率 > 20%
- 列出失败的查询。 “在开始之前修复这些错误,否则评分不可靠。”
- 停止并等待。
准备就绪。开始优化循环。主要原则:检测、提供、修复、继续。不要停止并告诉用户运行不同的命令。引导用户完成设置内联,只有在需要人类判断(未提交的更改、金标准标记)时才阻塞。
步骤 1a:解析
- 读取 improve.md 文件。
- 从头部提取所有结构化字段。
- Instructions 后面的所有内容都是领域提示。
步骤 1b:解析范围
- 读取 Change.scope 字段: