TL;DR
CDSE — способ автоматически улучшать «скил» агента (файл с инструкциями и скриптами, как в Claude Code) по логам его прошлых запусков. Знания из логов не сваливаются в один документ. Их раскладывают по четырём ролям: Meta (как планировать, проверять, когда остановиться), Experience (приёмы и способы выкрутиться в конкретных условиях), Tool (как пользоваться инструментами), Script (готовые скрипты с проверками). У каждой роли свои правила обновления и проверки.
Обычно скилы растут как один документ: «вот ещё урок, допишем в конец». Но уроки из одного запуска разные. Один — «сначала посмотри структуру книги Excel», другой — «используй такую-то библиотеку, чтобы не потерять формулы», третий — «сортировку лучше вынести в скрипт». Их нужно по-разному хранить, проверять и подгружать. Авторы проверили 500 популярных скилов: в 96,8% смешаны знания минимум двух ролей. А если слить роли обратно в один документ, качество падает сильнее всего.
Метод работает в пять этапов: выделить уроки из удачных и неудачных запусков (с доказательствами из лога) → отфильтровать пустые и случайные → распределить по ролям → обновить каждую роль своим способом и устранить конфликты → переписать «вывески» (описания, когда какую часть скила подгружать). В среднем прирост над агентом без скила — +7,6 п.п., над лучшим конкурентом — +2,6 п.п.
Схема метода
ШАГ 1. Разбор запусков → уроки + строки лога как доказательство
(успешные: что сохранить, где успех хрупкий;
неудачные: решающая ошибка и минимальное исправление;
причина не доказана — остаётся «неясно»)
ШАГ 2. Фильтр → оставить только доказанное, применимое, переиспользуемое
(убрать общие слова, единичные случаи, недоказанное, дубли)
ШАГ 3. Распределение → каждому уроку 1 основная роль + максимум 1 дополнительная
(Meta / Experience / Tool / Script)
ШАГ 4. Обновление по ролям → правила Meta, Experience, Tool, Script
(Script принимается только после самопроверки и независимой проверки)
ШАГ 5. Согласование → убрать противоречия между ролями минимальными правками
ШАГ 6. Описания → переписать «вывески»: когда подгружать какую часть
Этапы 1–6 в статье — автоматический конвейер. Руками их можно повторить несколькими запросами к LLM.
Пример применения
Задача: Селлер на Wildberries и Ozon настроил в Claude Code скил для ежемесячной сверки отчёта о реализации с фактическими выплатами. Скил за полгода превратился в «простыню» из 80 строк разнородных заметок. Агент то пропускает проверку валюты, то ломает формулы в Excel, то каждый раз заново пишет одну и ту же сортировку. Есть логи 12 сессий: 8 удачных, 4 с ошибками.
Промпт:
Ты — редактор скилов для агента. Твоя работа: превратить логи сессий в
аккуратный скил из четырёх частей: Meta, Experience, Tool, Script.
Скил: «Сверка отчёта маркетплейса с выплатами».
Задача агента: сверить отчёт о реализации (xlsx) с банковской выпиской
и найти расхождения.
Текущий скил: [вставлен текст из 80 строк]
Успешные сессии: [вставлены 8 выдержек]
Неудачные сессии: [вставлены 4 выдержки]
Шаг 1. Для каждой сессии выдели уроки.
- Успешные: что стоит сохранить; где успех хрупкий.
- Неудачные: где была решающая ошибка и какое минимальное исправление
подтверждается логом.
- К каждому уроку приложи цитату из лога. Если причину по логу доказать
нельзя, пометь «причина не установлена» и не делай из этого правило.
Шаг 2. Отфильтруй. Оставь только уроки, которые подтверждены логом,
конкретны и пригодятся в других сессиях. Выбрось общие советы,
случаи, характерные для одной сессии, недоказанные выводы и дубли.
Шаг 3. Распредели по частям. Каждому уроку — одна основная часть и
не больше одной дополнительной:
- Meta: планирование, самоконтроль, итоговая проверка, условия остановки.
- Experience: приём «если условие X — делай Y», способы выхода из сбоев.
- Tool: как работать с конкретным инструментом.
- Script: повторяющаяся операция, которую стоит оформить скриптом
(вход, выход, как проверить).
Шаг 4. Обнови каждую часть по её правилам:
- Meta и Experience — короткие атомарные правила; Experience с явным условием запуска.
- Tool — группы по инструментам.
- Script — предложи код только если операция повторяется, детерминирована
и есть способ проверки; иначе не предлагай.
Шаг 5. Согласуй части: найди противоречия и дубли между ними и устрани
минимальными правками.
Шаг 6. Для каждой части напиши короткое описание-«вывеску»: к каким задачам
она относится, когда её подгружать, чего от неё ждать.
Результат: Модель вернёт скил из четырёх разделов вместо «простыни». Внутри будут короткие правила, у части Experience — явные условия «если…, то…». В Script может появиться предложение скрипта сортировки с описанием входа, выхода и проверки. Отдельно придёт список отброшенных уроков с причинами и «вывески» для каждой части. Качество зависит от ваших логов, поэтому проверьте цитаты-доказательства.
Почему это работает
Слабость: когда все уроки лежат в одном документе, агент не знает, что из этого читать сейчас. Правило про остановку (стоит ли перепроверять) и правило про конкретную библиотеку смешаны. Обновлять такой документ сложно: непонятно, чем проверять каждую правку. Само по себе накопление заметок не улучшает работу, а иногда и мешает.
Сильная сторона LLM: она хорошо разбирает логи, находит решающий шаг и классифицирует текст по заданным категориям. Если требовать цитату-доказательство, модель реже выдумывает «уроки». Если дать роль и условие запуска, она точнее формулирует правила.
Как метод это использует: роли разводят знания по назначению. Meta переносится на другие задачи лучше всего. Experience и Tool привязаны к среде и переносятся хуже. Скрипт редко вызывается, но может сильно влиять: на таблицах его удаление дало самое большое падение (−8,0), хотя вызывался он в 6% случаев. «Вывески» работают, потому что агент видит их до загрузки части и решает, что открыть.
Рычаги: - Число ролей: если задача простая, оставь Meta и Experience, остальное убери. - Условие в Experience («если…, то…») — самая важная формулировка. - Фильтр на шаге 2: ужесточи, если скил разрастается; ослабь, если мало логов. - Шаг 6: описания влияют, даже когда часть не подгружается. Пиши их конкретно: к каким задачам относится, когда нужна. - Раунды: первый даёт основную часть прироста, дальше эффект слабее и скачет.
Шаблон промпта
Ты — редактор скилов для агента. Превращаешь логи сессий в скил из четырёх
частей: Meta, Experience, Tool, Script.
Название скила: {название_скила}
Задача агента: {задача_агента}
Текущий скил: {текущий_скил}
Успешные сессии: {успешные_сессии}
Неудачные сессии: {неудачные_сессии}
Шаг 1. Выдели уроки.
- Успешные сессии: что стоит сохранить; где успех хрупкий.
- Неудачные сессии: решающая ошибка или пропущенный шаг и минимальное
исправление, подтверждённое логом.
- К каждому уроку — цитата из лога. Нет доказательства причины:
пометь «причина не установлена», правила из этого не делай.
Шаг 2. Отфильтруй. Оставь только доказанное, конкретное и переиспользуемое.
Выбрось: общие советы, случаи одной сессии, недоказанное, дубли.
Шаг 3. Распредели. Одна основная часть и не больше одной дополнительной:
- Meta: планирование, самоконтроль, итоговая проверка, остановка.
- Experience: «если условие — действие», способы выхода из сбоев.
- Tool: как работать с конкретным инструментом.
- Script: повторяющаяся операция в виде скрипта (вход, выход, проверка).
Шаг 4. Обнови части:
- Meta, Experience — атомарные правила; у Experience явное условие.
- Tool — группы по инструментам, с покрытием всех инструментов.
- Script — только повторяемое, детерминированное и проверяемое.
Для скрипта опиши тест; без теста не предлагай.
Шаг 5. Согласуй. Убери противоречия и дубли между частями минимальными
правками. Не меняй то, что проверено.
Шаг 6. Напиши «вывеску» для каждой части: область применения, условия,
ожидаемая польза.
Что подставлять: название и цель скила; текущий текст скила (можно пустой); выдержки из удачных и неудачных сессий (ключевые шаги, ошибки, итог). Важно разделять удачные и неудачные: метод опирается на то, что к ним задаются разные вопросы.
🚀 Быстрый старт — вставь в чат:
Вот шаблон CDSE. Адаптируй под мою задачу: [твоя задача и скил].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какой скил улучшаем, что агент должен делать, есть ли текущий текст скила и какие сессии были удачными или нет. Это нужно, потому что метод строится на сравнении успехов и неудач: без исхода сессии модель не отличит «сохранить» от «исправить». Остальное она возьмёт из паттерна шаблона.
Ограничения
⚠️ Нужны оценённые запуски: метод опирается на логи с известным исходом (успех или провал). Если вы не знаете, какие сессии были удачными, он не сработает.
⚠️ Полный метод — конвейер: в статье это автоматическая система с анализаторами, фильтрами, самопроверкой скриптов и публикацией только после проверки. Ручная версия из чата проще и надёжность проверки ниже. Особенно это касается Script: без реального запуска теста скрипту доверять нельзя.
⚠️ Прирост над конкурентами скромный: по сравнению с агентом без скила прирост заметный, но над лучшими существующими методами — в среднем около двух-трёх процентных пунктов.
⚠️ Первый раунд даёт почти всё: следующие раунды дают меньше, результат скачет и иногда падает. Бесконечно «дообучать» скил не стоит.
⚠️ Tool и Script переносятся плохо: Meta почти всегда помогает на другой задаче, Experience избирательно, а Tool и Script — нестабильно. Правила привязаны к среде.
⚠️ Частичная проверка: тестировали открытые модели (GLM, DeepSeek, MiniMax) в Claude Code и Codex на шести бенчмарках. На ваших задачах и моделях результат может быть другим. Сами промпты метода в приложениях, в тексте их нет.
Как исследовали
Сначала авторы разобрали 500 популярных пакетов скилов и разметили, какие знания в них лежат. Оказалось, что в 96,8% смешаны минимум две роли: мета-инструкции, эмпирические приёмы, советы по инструментам, скрипты. Из этого родилась идея разделять роли.
Потом проверили метод на шести бенчмарках: вопросы по офисным документам, таблицы, поиск, математика, программирование и бизнес-автоматизация. Брали три модели и две среды запуска (Claude Code и Codex). Данные делили 2:7 на обучающие и тестовые, а скил «обучали» по трём раундам. Конкурентов было три: Trace2Skill, SkillOpt-lite и EvoSkill. CDSE выиграл во всех 36 комбинациях.
Самое любопытное — абляции (отключение частей). Если слить роли в один документ, качество падает сильнее всего: например, на SWE-Pro с 68,4 до 62,6, на бизнес-автоматизации с 32,9 до 24,3. Без «вывесок» тоже падает (на таблицах 30,7 → 26,4). Неожиданность: Script вызывался в 6% запусков на таблицах, но его удаление дало самое большое падение (−8,0). Значит, важность части не равна частоте её вызова: описания видны агенту заранее и влияют на поведение, даже если часть не открывали.
Переносимость тоже показательна. Скил, обученный на одной модели, помогает на другой (11 из 12 случаев, +4,2 п.п.). Meta из одной задачи улучшает 9 из 10 других пар (+3,6 п.п. в среднем). Общие принципы работы переносятся лучше конкретных приёмов и инструментов.
Адаптации и экстраполяции
💡 Адаптация для CLAUDE.md / AGENTS.md: тот же принцип «разделяй по роли» можно применить прямо к файлу инструкций, без логов. Вместо одного списка правил:
# CLAUDE.md
## Meta (как работать в целом)
- Перед правкой: составь план из 3–5 шагов, потом действуй.
- В конце: прогнать тесты и перечитать диф; если тесты красные — не заканчивай.
## Experience (если условие — делай так)
- Если в проекте есть миграции — сначала смотри последнюю, не придумывай схему.
## Tool (как пользоваться инструментами)
- Тесты запускай командой {команда}; линтер — {команда}.
## Script (повторяемое)
- Для генерации отчёта используй scripts/report.py, не пиши заново.
Это моя адаптация, а не проверенный в статье способ для CLAUDE.md. В статье эффект измерен на скилах, эволюционировавших автоматически.
🔧 Техника: добавить «вывеску» → агент реже открывает ненужное. Для каждого скила или раздела пиши короткое описание: «Когда подгружать: …; для чего: …». В статье видимые описания влияли на поведение даже без подгрузки частей.
Ресурсы
- Название работы: From Trajectories to Differentiated Skills: Cognitive Differentiation for Self-Improving Agents (CDSE).
- Авторы: Yewei Zhao, Derong Xu, Wei Chen, Yin Xu, Peilun Zhou, Xiaohan Wang, Guojun Yin, Wei Lin, Mingjun Xiao.
- Организации: University of Science and Technology of China, Meituan, City University of Hong Kong.
- Конкуренты и смежные работы: Trace2Skill, SkillOpt-lite, EvoSkill, SkillsBench, формат Agent Skills.
- Приложения F (разметка скилов) и G (детали обновлений) в предоставленном тексте отсутствуют.
