C
ChaoBro

GenericAgent: дерево навыков, выросшее из 3300 строк кода — агенты начали эволюционировать сами

GenericAgent: дерево навыков, выросшее из 3300 строк кода — агенты начали эволюционировать сами

На GitHub есть проект под названием GenericAgent с предельно прямым описанием: "Self-evolving agent: grows skill tree from 3.3K-line seed, achieving full system control with 6x less token consumption." 10 221 звезда, 577 только за сегодня. 585 коммитов, последний — час назад.

Цифры в сторону, разберёмся, что это такое на самом деле.

Основная идея: агенты не должны зависеть от промптов, скармливаемых человеком, — они должны сами растить свои способности

Большинство фреймворков агентов работают так: разработчик пишет список инструментов, определяет шаблоны промптов, настраивает рабочие потоки, и агент работает внутри этой коробки. Потолок способностей агента — это то, что разработчик в него запихнул.

GenericAgent работает наоборот: он начинает с начального кода в 3300 строк и сам строит дерево навыков. Дерево не предопределено — оно растёт в процессе взаимодействия с системой. Столкнувшись с новым сценарием, агент сам решает, какая способность ему нужна, и генерирует соответствующий узел навыка.

Заявленное преимущество — расход токенов в 6 раз меньше. Логика выдерживает: традиционные подходы каждый раз несут полные описания инструментов и контекст, а дерево навыков загружает только ветки, релевантные текущей задаче.

Смотрим на репозиторий

Несколько деталей, заслуживающих внимания:

Очень активный. 585 коммитов, последнее обновление час назад. 39 открытых задач, 20 пулреквестов — вовлечённость сообщества солидная. Автор lsdefine коммитит почти каждый день.

ДНК китайского сообщества. В README есть обработка отображения Feishu (replace alarming warning with neutral "(无文本输出)" in feishu display), в директории документов — обновление QR-кодов групп WeChat. Это не чисто английский проект, ориентированный на зарубежное сообщество, — он укоренён в экосистеме китайских разработчиков.

Чистая модульная структура. Репозиторий разделён на memory, plugins, frontends и reflect. В директорию reflect только вчера добавлен лёгкий рабочий поток рефлексии для режима целей, что показывает — проект активно расширяет свои границы.

Откуда берётся экономия токенов в 6 раз

К этой цифре стоит поставить вопросительный знак. Полного отчёта о бенчмарках нет (по крайней мере, я не нашёл результатов воспроизведения от третьих лиц в README или задачах). Но цепочка логики прозрачна:

  1. Традиционно: каждый вызов агента загружает все описания инструментов (десятки или сотни)
  2. Дерево навыков: загружаются только ветки навыков, релевантные текущей цели (возможно, несколько узлов)
  3. Самоэволюция означает, что неиспользуемые навыки обрезаются, ещё больше уменьшая контекст

Если эта логика держится в реальных рабочих нагрузках, 6x вполне возможно. Но прогоните на своих сценариях — плотность веток дерева навыков сильно варьируется между разными типами задач.

Стоит ли пробовать?

Да, с двумя оговорками:

Во-первых, у вашего сценария должны быть чётко разделяемые «навыки». Если ваш агент всегда делает одно и то же, дерево навыков не добавит ценности. Если ему нужно переключаться между типами задач (писать код, запрашивать базу данных, генерировать отчёты), то выбор пути в дереве навыков обретает смысл.

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

Итог: саморазвивающиеся агенты — не новая концепция, но GenericAgent рассказывает связную историю, связывая деревья навыков с эффективностью токенов, и код реально работает. Установка ничего вам не стоит.

Основные источники: