SkillClaw — коллективная эволюция навыков для AI-агентов
📂 Исходный код на GitHubОпенсорсная система для коллективной эволюции навыков AI-агентов: локальный прокси перехватывает сессии, а опциональный evolve server извлекает из них навыки, объединяет и возвращает их в общую библиотеку.
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 можно представить так:
- Прокси перехватывает запросы агента и сохраняет артефакты сессии.
- Evolve server читает новые данные из общего хранилища.
- LLM извлекает из сессии повторяемые действия и создаёт кандидата навыка.
- Кандидат сопоставляется с существующей библиотекой: дубликаты объединяются, а качество улучшается.
- После проверки навык попадает в общее хранилище.
- Клиенты забирают обновления через
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