Автоматический цикл улучшения навыков для заморошенных LLM-агентов. Модель не тренируется — обучается сам SKILL.md через анализ траекторий исполнения.
Rollout Reflect Edit Gate
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Агент │ │ Оптими- │ │ Bounded │ │ Held-out │
│ работает │ ──→ │ затор │ ──→ │ edits │ ──→ │ validation│
│ по скиллу│ │ анализ │ │ в SKILL │ │ gate │
│ │ │ успех/ │ │ │ │ │
│ траекто- │ │ провал │ │ add/del/ │ │ принять? │
│ рии │ │ │ │ replace │ │ │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
│
да │ нет
↓ ↓
best_skill.md rejected
Модель агента заморожена. Никакого fine-tuning. Обучается только текстовый навык (SKILL.md).
Отдельная LLM анализирует траектории исполнения: что сработало, что провалилось, какие правила добавить/удалить/заменить.
Бюджет правок ограничен — нельзя переписать весь навык. Это предотвращает потерю полезных правил при широких перезаписях.
Кандидат-навык принимается только если улучшает метрики на held-out выборке. Без улучшения — rejected.
Траектории содержат: сообщения, tool calls, фидбек верификатора, метаданные задачи, финальные scores.
| Компонент Vector | Роль в SkillOpt |
|---|---|
agents-best-practices |
Правила валидации: что считать хорошим навыком |
perplexity-skill-engineering |
Методология: gotchas, progressive disclosure |
llm-text-brittleness-and-perplexity |
Валидация: перплексия как метрика качества |
hermes-self-evolution |
DSPy-оптимизация (комплементарный подход) |
vector-push |
Уведомления: навык улучшен → ntfy |
vector-github-design |
Экспорт: best_skill.md → GitHub |
Для каждого навыка в ~/.hermes/skills/:
1. Rollout: агент выполняет N задач с текущим SKILL.md
2. Reflect: оптимизатор анализирует успехи и провалы
3. Edit: bounded edits (добавить gotcha, уточнить trigger, удалить лишнее)
4. Gate: проверить на held-out задачах
5. Export: best_skill.md → ~/.hermes/skills/
| Навык | Причина |
|---|---|
social-media/* (17) |
Свежий импорт, не обкатан |
cowork-roles/* (141) |
Адаптированы из Anthropic, не под РФ |
agents-best-practices |
Критичен для всех остальных |
vector-meat-ai-plan |
Специфика мясопереработки — нужна обкатка |
| Метрика | Результат |
|---|---|
| Прирост на GPT-5.4-nano | +24.9pp (без изменения весов) |
| Прирост на GPT-5.5 | +23.5pp |
| Стабильность | 52/52 конфигураций SkillOpt ≥ все бейзлайны |
| Перенос между моделями | +15.2pp |
| Перенос между харнесами | +31.8pp (Codex → Claude Code) |
| Самооптимизация (GPT-5.4-nano) | +10.4pp на SpreadsheetBench |
Бейзлайны для сравнения: no-skill, human skill, LLM skill, TextGrad, GEPA (Databricks/DSPy), Trace2Skill (Alibaba/Qwen). SkillOpt обходит всех по стабильности.
Ключевой инсайт: даже слабая модель как self-оптимизатор даёт +10.4pp — цикл работает без сильного оптимизатора.
| Фаза | Что | Срок |
|---|---|---|
| 0. Исследование | Изучить Microsoft SkillOpt, адаптировать под Hermes | 1-2 недели |
| 1. MVP | Оптимизатор для 1 навыка (social-media/voice-builder) | +1 неделя |
| 2. Расширение | 17 social-media навыков | +2 недели |
| 3. Экосистема | Все 286 навыков | +1 месяц |
Адаптировано из Microsoft SkillOpt — MIT. Paper: arXiv 2605.23904.
