SkillClaw — коллективная эволюция навыков для AI-агентов

· 2 мин чтения
agent-skills skill-evolution llm hermes self-evolving
📂 Исходный код на GitHub

Опенсорсная система для коллективной эволюции навыков AI-агентов: локальный прокси перехватывает сессии, а опциональный evolve server извлекает из них навыки, объединяет и возвращает их в общую библиотеку.

SkillClaw — коллективная эволюция навыков для AI-агентов

SkillClaw — опенсорсная инфраструктура, которая превращает реальные сессии AI-агентов в библиотеку постоянно развивающихся навыков. Вместо того чтобы каждый агент накапливал опыт в изолированной папке, SkillClaw собирает наблюдения, объединяет похожие навыки, улучшает их качество и возвращает результат в общую экосистему.

Проект особенно интересен тем, что работает не только с одним агентом. Библиотека может объединять опыт нескольких агентов, разных устройств и участников команды. При этом SkillClaw не является отдельным кодинг-агентом: это слой для накопления, проверки и распространения навыков поверх уже используемых агентных систем.

Какую проблему решает SkillClaw

У любого агента со временем появляется библиотека навыков, но она может превратиться в набор дублей, устаревших инструкций и незавершённых набросков. Один навык описывает React-паттерны, другой — почти то же самое, а третий был создан для одной задачи и больше не нужен. Новые инструкции добавляются быстрее, чем старые пересматриваются.

SkillClaw добавляет после каждой рабочей сессии отдельный цикл обработки. Он извлекает из разговора полезные повторяемые действия, сопоставляет их с существующей библиотекой и формирует новую версию навыка. В результате опыт не теряется после закрытия чата: он становится частью следующего запроса к агенту.

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

Как устроена система

SkillClaw состоит из двух частей.

Локальный прокси

Client Proxy запускается на компьютере пользователя и работает как локальный API-прокси. Он принимает запросы агента на маршрутах /v1/chat/completions и /v1/messages, записывает артефакты сессии и управляет локальной библиотекой навыков.

Прокси можно использовать самостоятельно. Он перенаправляет запросы к настроенному upstream-провайдеру, сохраняет контекст работы агента и подготавливает навыки к последующей обработке. Поэтому для первого знакомства evolve server не нужен: достаточно установить клиент, настроить провайдера и запустить локальный прокси.

Evolve server

Evolve server — опциональный фоновый сервис, который читает данные сессий из общего хранилища, создаёт или изменяет навыки и записывает результат обратно. Клиент и сервер не связаны напрямую: они обмениваются данными через один слой хранения.

Поддерживаются локальная файловая система, Alibaba OSS и S3. Формат навыков общий — SKILL.md. Сервер может работать в двух режимах:

  • workflow — фиксированный трёхэтапный LLM-пайплайн: суммаризация, агрегация и выполнение;
  • agent — рабочее пространство на базе OpenClaw, в котором агент напрямую редактирует навыки.

Для личного полного цикла сервер можно запустить на том же компьютере, используя локальное хранилище. Для команды сервер обычно размещают на отдельной машине, а клиенты подключают к общему OSS или S3.

Общий цикл эволюции

Работа SkillClaw можно представить так:

  1. Прокси перехватывает запросы агента и сохраняет артефакты сессии.
  2. Evolve server читает новые данные из общего хранилища.
  3. LLM извлекает из сессии повторяемые действия и создаёт кандидата навыка.
  4. Кандидат сопоставляется с существующей библиотекой: дубликаты объединяются, а качество улучшается.
  5. После проверки навык попадает в общее хранилище.
  6. Клиенты забирают обновления через pull или двусторонний sync.

Для локального одиночного запуска достаточно клиентского прокси. Если нужен автоматический цикл улучшения, можно добавить сервер позже, не меняя базовую схему работы агента.

Несколько агентов и устройств

SkillClaw решает проблему разрозненных библиотек. Frontend-агент может накопить полезные React-паттерны, а backend-агент — решения для API и баз данных. При общей библиотеке эти знания не остаются в двух изолированных хранилищах: они объединяются, дедуплицируются и пересекаются, а затем возвращаются обоим агентам.

То же работает между устройствами. Домашний агент может изучать ML, рабочий — Kubernetes, а учебный — фронтенд. Каждый экземпляр получает пользу от опыта остальных. Это не означает, что все навыки нужно применять без разбора: общая библиотека даёт агенту больше контекста, а конкретный запрос по-прежнему определяет, что использовать.

Поддерживаемые агенты

SkillClaw заявляет интеграцию с Hermes, Codex, Claude Code, OpenClaw, QwenPaw, IronClaw, PicoClaw, ZeroClaw, NanoClaw и NemoClaw. Также доступен общий путь через любой API, совместимый с OpenAI.

Режим agent на сервере требует установленного openclaw. Для других интеграций достаточно локального прокси и совместимого upstream API. В качестве провайдера также можно использовать AWS Bedrock.

Установка и первый запуск

Понадобятся macOS, Linux или Windows, Python 3.10 или новее и аккаунт провайдера с OpenAI-совместимым API либо AWS Bedrock.

Для macOS и Linux:

git clone https://github.com/AMAP-ML/SkillClaw.git && cd SkillClaw
bash scripts/install_skillclaw.sh
source .venv/bin/activate

Для Windows предусмотрен ручной путь через виртуальное окружение и pip. После клонирования репозитория выполните:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -U pip
python -m pip install -e ".[evolve,sharing,server]"

Затем создайте конфигурацию:

skillclaw setup

Мастер спрашивает провайдера, модель, директорию навыков, настройки PRM, интеграцию CLI-агента и опциональное общее хранилище. Для первого запуска без автоматической эволюции можно выбрать none в качестве CLI-агента, отключить shared storage и PRM.

Запустите прокси в фоне и проверьте его состояние:

skillclaw start --daemon
skillclaw status
PROXY_PORT="$(skillclaw config proxy.port | awk '{print $2}')"
curl "http://127.0.0.1:${PROXY_PORT}/healthz"

Порт по умолчанию — 30000, но проверять нужно значение из активной конфигурации. Endpoint здоровья должен вернуть {"ok": true}.

Общее хранилище и сервер

Чтобы подключиться к существующей группе, клиент настраивает тот же backend и идентификатор группы, что и остальные участники. Пользователи группы запускают только локальный прокси; skillclaw-evolve-server нужен лишь оператору группы.

Локальный полный цикл для одного пользователя запускается так:

skillclaw-evolve-server --use-skillclaw-config --interval 300 --port 8787

Для группы сервер может использовать OSS или S3. В OSS-примере задаются endpoint, bucket и group_id; секреты лучше передавать через переменные окружения или файл конфигурации, а не сохранять в репозитории.

Если нужна промежуточная проверка, можно включить режим validated: сервер сначала создаёт задачу валидации, а клиент проверяет кандидата в фоне, когда его прокси простаивает. Публикация происходит только после достижения настроенных порогов. По умолчанию этап валидации выключен.

Управление навыками

Основные команды:

skillclaw skills pull
skillclaw skills push
skillclaw skills sync
skillclaw skills list-remote

pull загружает общие навыки, push отправляет локальные изменения, sync выполняет двусторонний обмен, а list-remote показывает содержимое удалённой библиотеки.

Для просмотра локальных и общих навыков, истории версий, сессий и прогресса проверки есть dashboard:

skillclaw dashboard sync
skillclaw dashboard serve

По умолчанию dashboard слушает 127.0.0.1:3791. Его можно привязать к локальному shared storage и конкретной группе.

Практический сценарий

Для одного разработчика SkillClaw можно начать с локального прокси: он не меняет привычный способ общения с агентом, но сохраняет следы реальной работы. Позже можно запустить локальный evolve server и получить автоматическое улучшение навыков без облачного аккаунта.

Для команды следующий шаг — подключить клиенты к общему OSS или S3 и назначить один сервер оператором группы. Чем больше агентов и участников используют одну библиотеку, тем больше реальных ситуаций становится источником улучшений.

Итог

SkillClaw добавляет к агентному циклу слой накопления опыта. Он не заменяет агента и не требует менять его интерфейс, но превращает разрозненные навыки в общий, проверяемый и постоянно обновляемый ресурс. Для одиночного использования достаточно прокси; для автоматической эволюции и командной работы подключаются evolve server и общее хранилище.

Источник: https://github.com/AMAP-ML/SkillClaw