Я нанял ИИ-разработчика. Теперь он чинит баги днём и SteamDeck вечером
Некоторое время назад я «нанял» в команду нового разработчика. Собеседования не было, зарплату он не просит, работает в любое время суток, а баги фиксит вполне прилично. Разумеется, это ИИ-агент. Работает он на базе Hermes (Гермес).
Если коротко, Гермес — это ИИ-агент, который живёт не в окне чата, а в рабочей среде: у него есть терминал, браузер, доступы к сервисам, а ещё память и навыки, которые он копит от задачи к задаче.
Чем дольше я им пользуюсь, тем меньше он ощущается как чат и больше как ещё одна пара рук, которой можно скинуть всё то, до чего не успевает дотянуться первая.
Самое интересное здесь не в том, что современные агенты умеют писать код. Этим сейчас никого не удивить. Интересное начинается, когда агент получает доступ к рабочим инструментам и может сам пройти путь от задачи до готового результата.
Задачи ставим как человеку
Мы с командой много лет работаем в менеджере проектов Planka, поэтому задачи Гермесу решили ставить там же. Для него заведён отдельный пользователь. В Gitea у него тоже своя учётная запись и доступ к нужным репозиториям.
Теперь, когда тестировщик создаёт карточку с багом в таск-трекере, Гермес:
- читает описание и вложения;
- определяет нужный проект;
- ищет причину в коде и вносит исправление;
- делает коммит и пушит;
- деплоит на тестовое окружение;
- пишет результат в карточку;
- переводит задачу на приёмку.
Если данных не хватает, он задаёт вопрос прямо в карточке и возвращает её человеку.
Память и скиллы
Главная особенность Гермеса состоит в том, что он накапливает опыт и самоулучшается по итогам выполненных задач. Если агент разобрался с новым рабочим сценарием, это сохраняется в виде памяти или скилла, чтобы в следующий раз не начинать с нуля.
В памяти остаётся контекст: что это за проекты, как они связаны, что уже выяснялось раньше. Скилл — это конкретный способ выполнить определённую работу.
Например, при первом развёртывании проекта Гермес сам выясняет, как создать виртуальную машину, какие пакеты поставить, где взять конфигурацию, как привязать домен и чем проверить результат. Когда всё проверено, опыт оформляется в скилл. И в следующий раз ему не придётся начинать с археологических раскопок.
Так и растут возможности. Появился Git, и ему можно отдавать работу с репозиториями. Подключили Planka, и он забирает задачи с доски. Дали доступ к инфраструктуре, и он занимается деплоем и диагностикой виртуальных машин. Добавили браузер, и он проверяет результат глазами человека.
Профили
Очень хорошей идеей будет добавить несколько отдельных профилей Гермеса под разные проекты. У каждого свой контекст, свой набор доступов и свой Telegram-аккаунт для общения и постановки задач. Контекст не смешивается, а лишние права никому не выдаются. И работать профили могут параллельно.
Всё началось с разработки
Недавно после полного ручного регресса на одном из проектов тестировщик нашёл около 25 новых багов. Значительную часть я отдал Гермесу, и он справился. Расходы на модели за весь цикл багофикса составили примерно 10 долларов.
Тестировщик при этом никуда не исчез, а сложные технические решения я не отдаю агенту одной строкой. Если задача требует придумать архитектуру, я сначала готовлю решение или спецификацию, а реализацию планирую следующим шагом. Но двадцать пять небольших багов — как раз тот случай, где Гермес удобен.
Потом задачи вышли за пределы разработки
Раз у профилей Гермеса есть терминал, браузер, Git, таск-менеджер, память и умение разбираться в незнакомом, использовать всё это только для разработки показалось странным. Так он стал ещё и системным администратором:
— «Разверни тестовую копию проекта из Git и прикрепи домен».
— «Проверь, почему недоступен этот узел».
— «Добавь проект в систему мониторинга».
— «Проверь целостность создаваемых бэкапов и разверни самый свежий».
А есть и забавное. Недавно я подключил к виртуальной сети Гермеса свой Steam Deck. На нём через PortProton работает Civilization V, где мне не нравились стандартные шрифты. Чтобы поменять их самому, пришлось бы искать, где лежат файлы игры под Proton, выяснять, какие шрифты используются, что можно заменить и не сломает ли это интерфейс.
Я попросил Гермеса разобраться. И он разобрался! В этот момент ярлык «ИИ-разработчик» перестал быть актуальным.
Утром он забирает баги из Planka, находит проблему, делает коммит и выкатывает исправление. Днём настраивает новую виртуальную машину. А вечером ковыряется в файлах Civilization V.
Киберпанк всё-таки наступил. Просто вместо неоновых имплантов у нас пока Planka, Git и неудачные шрифты в Civilization V.

Комментарии
Написать комментарийВойти