microsoft/SkillOpt
GitHub: microsoft/SkillOpt
SkillOpt 是微软推出的文本空间技能优化器,通过类深度学习的训练循环为冻结 LLM Agent 自动生成并验证可部署的自然语言技能文档。
Stars: 12749 | Forks: 1182
# SkillOpt:面向自进化 Agent 技能的高阶策略
*像训练神经网络一样训练 agent 技能——包含 epoch、(mini-)batchsize、学习率和验证关卡(validation gate)——但无需改动模型权重。*
[](https://microsoft.github.io/SkillOpt/) [](https://arxiv.org/abs/2605.23904) [](https://youtu.be/JUBMDTCiM0M) [](https://pypi.org/project/skillopt/) [](https://www.python.org/) [](LICENSE)
## 新闻 🔥🔥🔥
- **[2026-07-02]** 🚀 **SkillOpt [v0.2.0](https://github.com/microsoft/SkillOpt/releases/tag/v0.2.0) 已在 [PyPI](https://pypi.org/project/skillopt/) 上发布!** 核心亮点功能:**SkillOpt-Sleep**,一个每夜离线自进化引擎(收集 → 挖掘 → 重放 → 整合,全部在留出验证关卡之后进行),具备多目标奖励、经验回放 + 梦境展开以及长期记忆功能——现作为 `skillopt-sleep` CLI 发布。此版本还增加了跨工具后端和插件 shell,支持 **Claude、Codex、Copilot、Devin 和 OpenClaw**,实现了 SearchQA 拆分物化、Windows 稳健性以及强化的 JSON 解析。请查看[发行说明](https://github.com/microsoft/SkillOpt/releases/tag/v0.2.0)以获取完整的更新日志和贡献者致谢。
- **[2026-06-15]** 😴 **SkillOpt-Sleep(预览版)**——面向本地编程 agent(Claude Code / Codex / Copilot)的每夜离线自进化辅助工具:回顾过往会话、重放重复性任务,并在留出关卡后整合已验证的技能。请参阅 **[`docs/sleep/README.md`](docs/sleep/README.md)** 了解其具体内容、使用方法及结果。
- **[2026-06-03]** 🎉 **[gbrain](https://github.com/garrytan/gbrain)、[gbrain-evals](https://github.com/garrytan/gbrain-evals/blob/main/docs/benchmarks/2026-06-03-skillopt.md) 和 [darwin-skill](https://github.com/alchaincyf/darwin-skill) 均已集成 SkillOpt。**
- **[2026-06-02]** 🎉 **SkillOpt [v0.1.0](https://github.com/microsoft/SkillOpt/releases/tag/v0.1.0) 现已在 [PyPI](https://pypi.org/project/skillopt/) 上提供!** 通过 `pip install skillopt` 进行安装。此初始版本包含完整的训练循环(rollout → reflect → aggregate → select → update → evaluate)、多后端支持(OpenAI / Azure / Claude / Qwen / MiniMax)、六个内置基准测试以及 WebUI 面板。
## 概述
现代 agent 技能通常是手工制作的、由强大的
LLM 一次性生成的,或者是通过控制松散的自我修订演进而成的——这些方式
都不具备针对技能本身的深度学习优化器的行为特征,也无法
保证在反馈条件下稳定地优于其初始起点。
**SkillOpt 将技能文档视为冻结 agent 的可训练状态**,
并以确保权重空间优化可复现的严谨态度对其进行训练。一个独立的优化器模型将带有评分的 rollout 转换为对单一技能文档的有限增 / 删 / 替编辑;只有当候选编辑能严格提升留出验证分数时,它才会被接受。基于文本的学习率预算、被拒绝编辑的缓冲区,
以及基于 epoch 的慢速 / 元更新,使得技能训练保持稳定,
同时在部署时**不增加任何推理阶段的模型调用**。
部署的产物是一个紧凑的 `best_skill.md`(通常为 300–2,000
个 token),可直接在未更改的目标模型上运行。在跨越**六个
基准测试、七个目标模型和三种执行框架**(直接
聊天、Codex CLI、Claude Code CLI)的测试中,SkillOpt 在**所有
52 个被评估的(模型、基准测试、框架)单元格**上均表现最佳或并列最佳;在 GPT-5.5 上,它将平均无技能准确率提升了 **在直接聊天中 +23.5 个百分点,在 Codex agentic 循环中 +24.8 个百分点,在 Claude Code 中 +19.1 个百分点**。优化后的技能
产物可以跨模型规模、在 Codex 和 Claude Code 框架之间,
以及向相近的基准测试中进行迁移,而无需进一步优化。
有关完整的方法、消融实验和各单元格结果,请参阅[论文](https://arxiv.org/abs/2605.23904);有关循环的可视化演示,请参阅[项目主页](https://microsoft.github.io/SkillOpt/);有关更深入的 API / 后端 / 基准测试文档,请参阅 [`docs/`](docs/)。
## 🎬 演示视频
https://github.com/user-attachments/assets/eb12d3bc-371c-467f-904d-91b61f339ed7
## 可扩展性与 WebUI
### 添加新后端
后端 = 一个聊天 / 执行目标(例如 `openai_chat`、`claude_chat`、
`qwen_chat`、`minimax_chat`、`codex_exec`、`claude_code_exec`)。请参阅
[`docs/guide/new-backend.md`](docs/guide/new-backend.md) 了解完整的
契约;简而言之,您需要添加一个 `skillopt/model/_backend.py` 模块,
在 `skillopt/model/common.py` + `backend_config.py` 中注册它,并
通过 `skillopt/model/__init__.py` 中的路由器将其连接起来。`qwen_backend.py`
和 `minimax_backend.py` 是很好的模板。
### 添加新基准测试
基准测试 = 一个 `skillopt/envs//` 包,包含一个 `dataloader.py`、一个
`rollout.py` 和一个 `initial.md` 种子技能。请参阅
[`docs/guide/new-benchmark.md`](docs/guide/new-benchmark.md) 了解完整的
契约;最简单的参考示例是 `skillopt/envs/searchqa/`。
### WebUI
启动监控面板(可选):
```
pip install -e ".[webui]"
python -m skillopt_webui.app
```
| 标志 | 默认值 | 描述 |
|---|---|---|
| `--port` | 7860 | 服务器端口 |
| `--host` | `0.0.0.0` | 绑定地址 |
| `--share` | off | 创建公开的 Gradio 分享链接 |
## 引用
```
@article{yang2026skillopt,
title={Skillopt: Executive strategy for self-evolving agent skills},
author={Yang, Yifan and Gong, Ziyang and Huang, Weiquan and Yang, Qihao and Zhou, Ziwei and Huang, Zisu and Li, Yan and Gao, Xuemei and Dai, Qi and Liu, Bei and others},
journal={arXiv preprint arXiv:2605.23904},
year={2026}
}
```
标签:DLL 劫持, Petitpotam, Python, 人工智能, 大语言模型, 无后门, 用户模式Hook绕过, 自动化优化, 逆向工具