sidebar_position: 3 title: "Curator" description: "Background maintenance for agent-created skills — usage tracking, staleness, archival, and LLM-driven review" lang: ru


Куратор

Куратор — это фоновый пропуск для обслуживания навыков, созданных агентом. Он отслеживает, как часто каждый навык просматривается, используется и исправляется, перемещает давно неиспользуемые навыки через состояния active → stale → archived и периодически создает краткий обзор вспомогательной модели, в котором предлагаются консолидации или дрейф исправлений.

Он существует для того, чтобы навыки, созданные с помощью цикла самосовершенствования, не накапливались вечно. Каждый раз, когда агент решает новую задачу и сохраняет навык, этот навык попадает в ~/.hermes/skills/. Без обслуживания вы получите десятки узких почти дубликатов, которые загрязняют каталог и тратят токены.

Куратор никогда не трогает встроенные навыки (поставляемые вместе с репозиторием) или навыки, установленные в хабе (из agentskills.io). Он рассматривает только навыки, созданные самим агентом. Кроме того, он никогда не удаляется автоматически — худший результат — это архивирование в ~/.hermes/skills/.archive/, которое можно восстановить.

Треки issue #7816.

Как это работает

Куратор запускается проверкой неактивности, а не демоном cron. При запуске сеанса CLI и при повторяющемся тике внутри потока cron-ticker шлюза Hermes проверяет:

  1. С момента последнего запуска куратора прошло достаточно времени (interval_hours, по умолчанию 7 дней), и
  2. Агент простаивал достаточно долго (min_idle_hours, по умолчанию 2 часа).

Если оба варианта верны, возникает фоновая вилка AIAgent — тот же шаблон, который используется для подталкивания к самосовершенствованию памяти/навыков. Форк работает в собственном кэше подсказок и никогда не затрагивает активный диалог.

ℹ️ Info

Поведение при первом запуске При новой установке (или при первой установке предварительной установки после `hermes update`) куратор **запускается не сразу**. Первое наблюдение откладывает `last_run_at` до «сейчас» и откладывает первый реальный проход на один полный `interval_hours`. Это дает вам полный интервал, чтобы просмотреть свою библиотеку навыков, закрепить что-нибудь важное или полностью отказаться от нее, прежде чем куратор ее коснется. Если вы хотите увидеть, что *сделал бы* куратор, прежде чем она заработает по-настоящему, запустите `hermes curator run --dry-run` — она создаст тот же отчет о проверке без изменения библиотеки.

Забег состоит из двух этапов:

  1. Автоматические переходы (детерминированные, без LLM). Навыки, неиспользованные для stale_after_days (30), становятся stale; навыки, неиспользованные для archive_after_days (90), перенесены в ~/.hermes/skills/.archive/.
  2. Обзор LLM (один проход дополнительной модели, max_iterations=8). Раздвоенный агент просматривает созданные агентом навыки, может прочитать любой из них с помощью skill_view и для каждого навыка решает, следует ли сохранить, исправить (через skill_manage), объединить перекрывающиеся навыки или заархивировать их с помощью терминального инструмента.

Закрепленные навыки недоступны как для автопереходов куратора, так и для собственного инструмента skill_manage агента. См. раздел Закрепление навыка ниже.

Конфигурация

Все настройки хранятся в config.yaml под curator: (не .env — это не секрет). По умолчанию:

curator:
  enabled: true
  interval_hours: 168          # 7 days
  min_idle_hours: 2
  stale_after_days: 30
  archive_after_days: 90

Чтобы полностью отключить, установите curator.enabled: false.

Делаем обзор более дешевой модели AUX

Пропуск кураторской проверки LLM — это обычный слот вспомогательной задачи — auxiliary.curator — наряду с Vision, Compression, Session Search и т. д. «Авто» означает «использовать мою основную модель чата»; переопределить слот, чтобы вместо этого закрепить конкретного поставщика + модель для прохода проверки.

Самый простой — hermes model:

hermes model                   # → "Auxiliary models — side-task routing"
                               # → pick "Curator" → pick provider → pick model

Тот же инструмент выбора доступен на веб-панели управления на вкладке Модели.

Прямой файл config.yaml (эквивалент):

auxiliary:
  curator:
    provider: openrouter
    model: google/gemini-3-flash-preview
    timeout: 600               # generous — reviews can take several minutes

Если оставить provider: auto (по умолчанию), проверка будет проходить через любую модель основного чата, согласовывая поведение всех остальных вспомогательных задач.

:::обратите внимание на устаревшую конфигурацию В более ранних версиях использовался одноразовый блок curator.auxiliary.{provider,model}. Этот путь все еще работает, но выдает строку журнала устаревания — пожалуйста, перейдите на auxiliary.curator выше, чтобы куратор использовал ту же сантехнику (hermes model, вкладку «Модели панели управления», base_url, api_key, timeout, extra_body), что и любая другая дополнительная задача.

интерфейс командной строки

hermes curator status         # last run, counts, pinned list, LRU top 5
hermes curator run            # trigger a review now (background by default)
hermes curator run --sync     # same, but block until the LLM pass finishes
hermes curator run --dry-run  # preview only — report without any mutations
hermes curator backup         # take a manual snapshot of ~/.hermes/skills/
hermes curator rollback       # restore from the newest snapshot
hermes curator rollback --list     # list available snapshots
hermes curator rollback --id <ts>  # restore a specific snapshot
hermes curator rollback -y         # skip the confirmation prompt
hermes curator pause          # stop runs until resumed
hermes curator resume
hermes curator pin <skill>    # never auto-transition this skill
hermes curator unpin <skill>
hermes curator restore <skill>  # move an archived skill back to active

Резервные копии и откат

Перед каждым настоящим проходом куратора Гермес делает снимок tar.gz ~/.hermes/skills/ по адресу ~/.hermes/skills/.curator_backups/<utc-iso>/skills.tar.gz. Если проход архивирует или объединяет что-то, что вы не хотели трогать, вы можете отменить весь проход с помощью одной команды:

hermes curator rollback        # restore newest snapshot (with confirmation)
hermes curator rollback -y     # skip the prompt
hermes curator rollback --list # see all snapshots with reason + size

Сам откат обратим: перед заменой дерева навыков Гермес делает еще один снимок с тегом pre-rollback to <target-id>, поэтому ошибочный откат можно отменить, откатившись к этому с --id.

Вы также можете в любое время сделать снимки вручную с помощью hermes curator backup --reason "before-refactor". Строка --reason попадает в manifest.json снимка и отображается в --list.

Снимки сокращаются до curator.backup.keep (по умолчанию 5), чтобы ограничить использование диска:

curator:
  backup:
    enabled: true
    keep: 5

Установите curator.backup.enabled: false, чтобы отключить автоматическое создание снимков. Ручная команда hermes curator backup по-прежнему работает, когда резервное копирование отключено, только если вы сначала установили enabled: true — флаг ограничивает оба пути симметрично, поэтому невозможно случайно пропустить предварительный снимок при выполнении изменений.

hermes curator status также перечисляет пять навыков, которые использовались реже всего — быстрый способ увидеть, какие навыки могут устареть в следующий раз.

Те же подкоманды доступны, что и косая черта /curator внутри работающего сеанса (CLI или платформы шлюза).

Что означает «создано агентом»

Навык считается созданным агентом, если его имя нет в:

Все остальное в ~/.hermes/skills/ — честная игра для куратора. Это включает в себя:

:::предупреждение Ваши рукописные навыки выглядят так же, как и сохраненные агентом. Происхождение здесь двоичное (в комплекте/концентраторе вместо всего остального). Куратор не может отличить написанный вручную навык, на который вы полагаетесь в личных рабочих процессах, кроме навыка, который цикл самосовершенствования сохранил в середине сеанса. Оба попадают в корзину, созданную агентом.

Перед первым реальным запуском (по умолчанию через 7 дней после установки) найдите время:

  1. Запустите hermes curator run --dry-run, чтобы посмотреть, что именно предложит куратор.
  2. Используйте hermes curator pin <name>, чтобы отгородить все, к чему вы не хотите прикасаться.
  3. Или установите curator.enabled: false в config.yaml, если вы предпочитаете управлять библиотекой самостоятельно.

Архивы всегда можно восстановить через hermes curator restore <name>, но их легче закрепить заранее, чем искать консолидацию постфактум. Если вы хотите защитить определенный навык от какого-либо прикосновения (например, навык, созданный вручную, на который вы полагаетесь), используйте hermes curator pin <name>. См. следующий раздел.

Закрепление навыка

Закрепление — это жесткий барьер против как автоматических, так и агентских изменений. После закрепления навыка:

Закрепить и открепить с помощью:

hermes curator pin <skill>
hermes curator unpin <skill>

Флаг сохраняется как "pinned": true в записи навыка в ~/.hermes/skills/.usage.json, поэтому он сохраняется между сеансами.

Закрепить можно только созданные агентом навыки — навыки, включенные в комплект и установленные в хабе, никогда не подлежат мутации куратором, и hermes curator pin откажется с пояснительным сообщением, если вы попытаетесь.

Если вам нужно обновить закрепленный навык самостоятельно, отредактируйте ~/.hermes/skills/<name>/SKILL.md непосредственно в своем редакторе. Пин-код защищает только путь к инструменту агента, а не доступ к вашей собственной файловой системе.

Телеметрия использования

Куратор поддерживает коляску по адресу ~/.hermes/skills/.usage.json с одной записью на каждый навык:

{
  "my-skill": {
    "use_count": 12,
    "view_count": 34,
    "last_used_at": "2026-04-24T18:12:03Z",
    "last_viewed_at": "2026-04-23T09:44:17Z",
    "patch_count": 3,
    "last_patched_at": "2026-04-20T22:01:55Z",
    "created_at": "2026-03-01T14:20:00Z",
    "state": "active",
    "pinned": false,
    "archived_at": null
  }
}

Счетчики увеличиваются, когда:

Наборы навыков и навыки, установленные в концентраторе, явно исключаются из записи телеметрии.

Отчеты по каждому запуску

Каждый запуск куратора записывает каталог с отметкой времени под ~/.hermes/logs/curator/:

~/.hermes/logs/curator/
└── 20260429-111512/
    ├── run.json      # machine-readable: full fidelity, stats, LLM output
    └── REPORT.md     # human-readable summary

REPORT.md — это быстрый способ увидеть, что произошло в данном прогоне — какие навыки были перенесены, что сказал рецензент LLM, какие навыки были исправлены. Подходит для аудита без необходимости использования grep agent.log.

Восстановление заархивированного навыка

Если куратор заархивировал что-то, что вам еще нужно:

hermes curator restore <skill-name>

При этом навык перемещается обратно из ~/.hermes/skills/.archive/ в активное дерево и сбрасывает его состояние на active. Восстановление отклоняется, если с тех пор установленный в комплекте навык или навык, установленный в хабе, был установлен под тем же именем (будет затенен вышестоящим).

Отключение для каждой среды

Куратор включен по умолчанию. Чтобы отключить его:

Куратор также отказывается запускаться, если min_idle_hours не истек, поэтому на активной машине разработчика он, естественно, запускается только во время тихих периодов.

См. также