@NFTCPS: 微软搞了个东西叫 SkillOpt,思路挺野:把 agent 的技能文档当成神经网络一样来训练,有 epoch、batch、学习率、验证集,但一根模型权重都不碰。 它牛在哪?我给你拆三点: 训练只改一份 skill 文档,新的改动必须在验…
摘要
微软推出SkillOpt,一种将智能体技能文档像神经网络一样训练的方法,通过epoch、batch、学习率和验证集来进行优化,但不修改模型权重。在多项基准测试中取得最佳结果,可跨模型和工具迁移。
查看缓存全文
缓存时间: 2026/06/17 05:49
微软搞了个东西叫 SkillOpt,思路挺野:把 agent 的技能文档当成神经网络一样来训练,有 epoch、batch、学习率、验证集,但一根模型权重都不碰。
它牛在哪?我给你拆三点: 训练只改一份 skill 文档,新的改动必须在验证集上真涨分才收,不准瞎改 部署时多花的模型调用,零,跑的还是你原来那个模型 52 个测试格子全拿了第一或并列第一,GPT-5.5 上直接聊涨 23.5 分,Codex 涨 24.8,Claude Code 涨 19.1
最后产物就一个几百到两千 token 的小文件,能跨模型、跨工具直接搬。这玩意要真稳,手搓 prompt 的活儿是真要变天了。
https://github.com/microsoft/SkillOpt…
microsoft/SkillOpt
Source: https://github.com/microsoft/SkillOpt
SkillOpt: Executive Strategy for Self-Evolving Agent Skills
Train agent skills like you train neural networks — with epochs, (mini-)batchsize, learning rates, and validation gates — but without touching model weights.
📖 For installation, data preparation, training/eval commands, the full configuration reference, and framework internals, see the Documentation & Reproduction Guide (rendered on GitHub Pages).
News 🔥🔥🔥
- [2026-06-15] 😴 SkillOpt-Sleep (preview) — a nightly offline self-evolution companion for local coding agents (Claude Code / Codex / Copilot): review past sessions, replay recurring tasks, and consolidate validated skills behind a held-out gate. See
docs/sleep/README.mdfor what it is, how to use it, and results. - [2026-06-03] 🎉 gbrain, gbrain-evals, and darwin-skill have all integrated SkillOpt.
- [2026-06-02] 🎉 SkillOpt v0.1.0 is now available on PyPI! Install with
pip install skillopt. This initial release includes the full training loop (rollout → reflect → aggregate → select → update → evaluate), multi-backend support (OpenAI / Azure / Claude / Qwen / MiniMax), six built-in benchmarks, and WebUI dashboard.
Overview
Modern agent skills are usually hand-crafted, generated one-shot by a strong LLM, or evolved through loosely controlled self-revision — none of which behaves like a deep-learning optimizer for the skill itself, and none of which reliably improves over its starting point under feedback.
SkillOpt treats the skill document as the trainable state of a frozen agent, and trains it with the discipline that makes weight-space optimization reproducible. A separate optimizer model turns scored rollouts into bounded add / delete / replace edits on a single skill document; a candidate edit is accepted only when it strictly improves a held-out validation score. A textual learning-rate budget, a rejected-edit buffer, and an epoch-wise slow / meta update make skill training stable while adding zero inference-time model calls at deployment.
The deployed artifact is a compact best_skill.md (typically 300–2,000
tokens) that runs against the unchanged target model. Across six
benchmarks, seven target models, and three execution harnesses (direct
chat, Codex CLI, Claude Code CLI), SkillOpt is best or tied-best on all
52 evaluated (model, benchmark, harness) cells and on GPT-5.5 lifts the
average no-skill accuracy by +23.5 points in direct chat, +24.8 inside
the Codex agentic loop, and +19.1 inside Claude Code. Optimized skill
artifacts transfer across model scales, between Codex and Claude Code
harnesses, and to nearby benchmarks without further optimization.
For the full method, ablations, and per-cell results see the paper; for a visual walkthrough of the loop see the project page; for deeper API / backend / benchmark docs see docs/.
🎬 Demo Video
https://github.com/user-attachments/assets/eb12d3bc-371c-467f-904d-91b61f339ed7
▶ Watch the full demo on YouTube
Extensibility & WebUI
Adding a new backend
A backend = a chat / exec target (e.g. openai_chat, claude_chat,
qwen_chat, minimax_chat, codex_exec, claude_code_exec). See
docs/guide/new-backend.md for the full
contract; in short you add a skillopt/model/<name>_backend.py module,
register it in skillopt/model/common.py + backend_config.py, and wire
it through the router in skillopt/model/__init__.py. qwen_backend.py
and minimax_backend.py are good templates.
Adding a new benchmark
A benchmark = a skillopt/envs/<name>/ package with a dataloader.py, a
rollout.py, and an initial.md seed skill. See
docs/guide/new-benchmark.md for the full
contract; the simplest reference is skillopt/envs/searchqa/.
WebUI
Launch the monitoring dashboard (optional):
pip install -e ".[webui]"
python -m skillopt_webui.app
| Flag | Default | Description |
|---|---|---|
--port | 7860 | Server port |
--host | 0.0.0.0 | Bind address |
--share | off | Create a public Gradio share link |
Citation
@misc{yang2026skilloptexecutivestrategyselfevolving,
title={SkillOpt: Executive Strategy for Self-Evolving Agent Skills},
author={Yifan Yang and Ziyang Gong and Weiquan Huang and Qihao Yang and Ziwei Zhou and Zisu Huang and Yan Li and Xuemei Gao and Qi Dai and Bei Liu and Kai Qiu and Yuqing Yang and Dongdong Chen and Xue Yang and Chong Luo},
year={2026},
eprint={2605.23904},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2605.23904}
}
相似文章
@FinanceYF5: 2/ SkillOpt:把文档当参数来训练 微软把 SKILL.md 当成可训练的模型参数——不改权重,只优化自然语言文档,validation gate 过滤每次改动。 6 个 Benchmark 52 连胜,GPT-5.5 直聊提升 …
微软提出SkillOpt方法,将文档作为可训练参数,通过优化自然语言文档而不改动权重来提升模型性能,在6个benchmark上取得52连胜,GPT-5.5提升23.5分,Claude Code提升19.1分。
@nash_su: 巨硬出的这个东西有点意思 用训练模型的思路优化 skill,每次对skill的MD内容做一些调整,然后跑结果,好了就继续推进,这个思路蛮有意思
微软发布一个新工具,采用训练模型的迭代方法优化skill,每次调整markdown内容并测试结果,不断推进改进。
@DAIEvolutionHub: 微软刚刚开源了一种无需触及模型权重即可“训练”AI智能体的方法 SkillOpt 将简单的 markdown 技能文件视为神经网络参数...
微软开源了 SkillOpt,这是一种将 markdown 技能文件视为神经网络参数来训练 AI 智能体的方法,无需修改模型权重,并使用学习率、验证检查、小批量数据和训练轮次进行优化。
@omarsar0: 微软研究院的新研究 我看到很多AI工程师手写智能体技能文档,并希望它们能泛化。…
微软研究院推出了SkillOpt,该方法将智能体技能文档视为可训练的外部状态,利用优化器模型进行受限编辑,并通过预留集进行验证。该方案在52个评估单元中取得最佳或并列结果,在GPT-5.5上准确率提升超过23个百分点,且零额外推理成本,技能可迁移。
@oliviscusAI: 微软刚刚开源了自我进化的智能体技能。它叫做 SkillOpt。技能能像训练AI模型一样自我改进……
微软开源了 SkillOpt,这是一个能让AI智能体技能自我改进的工具,通过自动评估和重写指令,无需绑定特定模型,即可超越手工制作的提示和其他优化器。