Агент на зарплате у Гитхаба
Недавно наткнулся на репозиторий thepopebot. Автор, Стивен Поуп, предлагает довольно наглую концепцию: зачем самому писать код и открывать пул-реквесты, если можно заставить нейронку делать это в режиме 24/7? Причем это не просто очередной обертка над ChatGPT для написания функций, а полноценная инфраструктура для автономных агентов, которые живут в вашем GitHub-репозитории.
Что это вообще такое
Если вкратце, thepopebot — это фреймворк для создания AI-агентов, которые работают внутри Docker-контейнеров и интегрируются с GitHub Actions. Главное отличие от обычных чат-ботов в том, что этот инструмент нацелен на результат в виде кода. Вы ставите задачу в телеграме или веб-интерфейсе, а бот создает ветку, пишет код, фиксит баги и присылает вам готовый PR.
Интересно, что проект позиционируется как решение для «команд агентов». То есть можно настроить кластер из нескольких сущностей, которые будут координировать действия между собой. Звучит масштабно, хотя на практике пока чаще всего используется для рутинных правок и автоматизации мелких тикетов.
Как устроена магия
Архитектура проекта выглядит логично, хоть и требует некоторой настройки «на берегу». Все общение происходит через Event Handler. Схема работы примерно такая:
- Вы отправляете команду (через веб-чат или Telegram).
- Обработчик событий создает новую ветку в репозитории.
- Локально (или на сервере) поднимается Docker-контейнер с «кодинг-агентом».
- Агент выполняет работу, делает коммиты и пушит их.
- Открывается Pull Request.
https://raw.githubusercontent.com/stephengpope/thepopebot/main/docs/hero.png
Самое приятное здесь — прозрачность. Каждое действие агента — это реальный коммит. Если нейронка потащила проект не туда, вы просто откатываете изменения или отклоняете PR. Нет ощущения «черного ящика», где непонятно, что именно изменилось в файловой системе.
Разделение труда: Чат против Агента
В thepopebot реализована забавная идея разделения моделей. Автор предлагает использовать разные LLM для разных задач:
- Chat LLM: это «лицо» бота. Она отвечает на ваши вопросы в реальном времени, живет на сервере и должна быть быстрой. Сюда можно поставить что-то недорогое.
- Agent LLM: это «руки» проекта. Она запускается только тогда, когда нужно реально кодить. Для этих целей обычно выбирают максимально мощные модели вроде Claude 3.5 Sonnet или GPT-4o.
Кстати, про Claude. Если у вас есть подписка Claude Pro, разработчики предусмотрели возможность использовать ваш OAuth-токен. Это позволяет гонять агента через существующую подписку вместо того, чтобы платить за каждый токен через API. Экономия может быть существенной, если бот работает над крупными задачами.
С чего начать установку
Проект не самый легковесный в плане зависимостей. Вам понадобятся Node.js 18+, Docker, GitHub CLI и ngrok (если запускаете локально без белого IP).
Процесс инициализации выглядит так:
mkdir my-agent && cd my-agent
npx thepopebot@latest init
npm run setup
Мастер настройки (setup wizard) довольно дружелюбный: он сам создаст репозиторий, настроит токены доступа и пропишет секреты в GitHub. После этого у вас появится URL приложения, где можно начинать раздавать поручения.
Где это реально пригодится
Я вижу несколько сценариев, где такая автоматизация не превратится в мусор в репозитории:
- Написание тестов: агенты неплохо справляются с генерацией юнит-тестов для существующего кода.
- Рефакторинг: можно попросить бота привести код к определенному стилю или разбить огромные компоненты на мелкие.
- Документация: обновление README и JSDoc на основе изменений в коде.
- Рутинные задачи по расписанию: в проекте есть поддержка CRON-задач. Например, можно заставить бота раз в сутки проверять зависимости или искать устаревший код.
Стоит ли пробовать
Проект подкупает своей автономностью. Это не просто автодополнение в IDE, а попытка создать виртуального сотрудника.
Из нюансов: если запускаете локально на Windows, будьте готовы к возможным проблемам с SQLite (антивирусы часто блокируют файлы базы данных в Docker-контейнерах). Также стоит внимательно изучить раздел Security в документации — вы фактически даете нейронке права на выполнение кода и пуши в ваш репозиторий.
В целом, thepopebot подойдет тем, кто хочет выжать максимум из агентских систем и готов потратить вечер на настройку инфраструктуры. Это отличная песочница для экспериментов с «умной» автоматизацией разработки.