Перешёл к постоянному использованию агентов типа Claude в реальном процессе разработки. За месяц смог в одно лицо закрыть бэклог, висящий по одному legacy проекту, который оставался не закрытым уже 2 года и постоянно откладывался из-за нехватки ресурсов и низкого приоритета. Также по 2 проектам средствами агента провел рефактор, вследствие чего из кодовой базы ушел мусор (неиспользуемые атавизмы), увеличилась скорость ответов на тяжелые запросы, а также сократилось время сборок. А также стартовал полностью новое приложение, организовал все среды, обвязку и довел до полностью функционирующей первой фичи MVP.
Как это выглядит на практике:
- Декомпозиция задач делегируется частично агенту — формулирую цель и ограничения, агент предлагает шаги, я корректирую
- Рутина на агенте — рефакторинги по проекту, генерация бойлерплейта, навигация по незнакомым кускам кода, написание тестов по образцу.
- Проектные правила в
CLAUDE.md— фиксирую договорённости и жёсткие ограничения в репозитории, чтобы агент работал в рамках принятых решений - Память и контекст — подключение LSP, дизайн и архитектурные скилы, конвенции-скилы, регулярные отчеты и жесткий пайплайн разработки по git.
Что изменилось в работе:
- больше времени уходит на постановку и ревью, меньше на механический ввод кода
- порог входа в новый репозиторий/стек заметно ниже — агент закрывает разведку
- сильнее ощущается ценность чистой архитектуры и понятных названий: и человеку, и агенту проще
В adopt — рекомендую как стандартный инструмент в своей практике, при условии что разработчик умеет ставить задачи и критично проверять результат. Подчеркну что проверять за моделью обязательно! Она способна ошибаться из-за невнимательности!
PS: заметил один пугающий факт, если сравнивать с работой тимлида, то по сути ничего не изменилось. Один в один, и это не преувеличение. Я понял, что лучшие вайб-кодеры - это тимлиды. Отсюда пришло обратное осознание, что, похоже, с момента как я стал тимлидом - я стал и вайб-кодером и уже много лет им являюсь, раньше только был натуральный интеллект в моем распоряжении, а теперь искусственный.
Пробую использовать Claude в активных проектах.
ИИ-агенты для разработки явно вышли на новый уровень. Теперь есть правила и скилы и агенту не надо в каждом промпте напоминать как работать с твоим проектом. Я протестировал claude как на уже активном проекте, так и на паре полностью новых setup-ах.
Работает очень хорошо. Есть множество инструментов для экономии токенов, удобная система лимитов. С ходу выявленные плюсы
- прекрасно решает рутину по отладке setup-ов, конфигураций, установок, несоответствия версий. В целом никогда так быстро не делал инициализацию проектов на новом для себя стеке.
- умеет в отладку, особенно, если дать ему консоль, докер и тесты.
- даже с небольшим контекстным окном умеет читать все важные нюансы проекта, если их после исследования кодовой базы перенести в скилы и правила, то получается очень точно соблюдать заданный стиль
Минусы тоже есть:
- верстка по-прежнему выходит с огрехами, приходится проходить напильником самому. Но все равно большую часть рутины он осиливает и если дать ему хорошо сделанный макет в figma и задать в проекте базу на tailwind, например, то получается четко.
- если просто давать задания на написание кода может делать ошибки связанности или используемой версии языка. Но они нивелируются, если дать доступ LSP целевого языка и если дать организовать обратную реакцию агенту (билды, тесты, запускаемые среды). Если есть обратная связь, то агент исправляет собственные ошибки
- дебаг самого себя может тратить много токенов, если экономить, то надо агенту подсказывать пути решения
- концептуально на будущее он плохо прогнозирует, если его не попросить. Как результат, он начинает в новых сессиях задач исправлять и переписывать то, что написал в предыдущих, что также ведет к перерасходу токенов. Если спланировать архитектуру и концепцию заранее и записать ее в документы и скилы, то это получается нивелировать.
Вывод
Инструмент созрел. Это реально помогает делать настолько больше работы, что кажется теперь в одного ты можешь за неделю сделать столько же сколько раньше делал всей командой 2 недели или даже месяц.
По сути как в обработку материалов пришли станки с ЧПУ, в программирование пришли ИИ агенты и они с нами навсегда.
Пробую использовать Cursor в активных проектах, но в ограниченном кол-ве.
Выявленные плюсы
- Способен написать работающий код
- Способен проверять себя и даже запускать тесты
- Отлично справляется с написанием юнит тестов, особенно если дать ему спеки или даже набор user-story.
Выявленные минусы
- Постоянно приходится повторяться и ограничивать контекст, чтобы не тратились токены
- Очень вольно агент скачет по стилям, конвенциям и правилам, опять же приходится постоянно напоминать ему про DI, стэк и существующие в проекте уже готовые либы.
- Если он с 2 промптов не решил задачу, то лучше дописать или переделать самому, т.к. исправление самого себя выедает огромное кол-во токенов, времени и вся выгода от его использования нивелируется и уходит в минус.
- Не может в верстку от слова совсем, к сожалению. Ему явно не хватает инструментов, чтобы увидеть результат.
Вывод
Пока, к сожалению, больше похоже на игрушку. Он уже может написать простое приложение в соло, но вести с ним существующий проект или разрабатывать новый размером больше одного слоя - это ад и очень дорого.
Открыл для себя Cursor. Это IDE с интерфейсом для взаимодействия с ИИ моделью, а также взаимодействия ИИ модели с рабочей областью, открытой в IDE. Иными словами ИИ агент в форме IDE на базе VS Code. Выглядит многообещающе.
Вышла версия Chat GPT 3.5. Не удержался от экспериментов с генерацией кода. Проверил несколько задач.
Выявленные плюсы:
- Если дать ему метод или даже класс, то может составить для него неплохой юнит-тест.
- Ему можно дать описание ТЗ на сущность с множеством полей и он по описанию сможет сделать полную формализацию: подобрать типы данных; придумать имена, например, в camelCase; записать в виде таблицы или класса на указанном языке программирования.
- Дает хорошие подсказки в какую сторону копать при расследовании проблем или инцидентов. Потенциально прямо замена StackOverflow.
Выявленные минусы:
- Ответ обрезается, но судя по всему на стороне BFF, потому что если попросить модель повторить предыдущее (обрезанное) сообщение с определенной строки, то ты получаешь не хватающую часть. Неудобно, но терпимо.
- Сложные классы с логикой пишет плохо. Выдает какое-то лоскутное одеяло. Но отдельные методы реализует неплохо, можно некоторую рутину вполне отдавать ему на сочинение, лишь чутка корректируя и вставлять к себе.
- powershell плохо понимает. Почти все, что просил его сочинить не работоспособно. При этом то же самое на C# реализует нормально и даже если попросить написать сначала на C#, а потом преобразовать на powershell, то тоже получается хорошо. Но если изначально попросить реализовать на powershell пишет какой-то несвязанный бред.
Вывод:
В целом можно использовать для рутины в описании документации, генерировать юнит-тесты и проводить исследования. Младшим коллегам, особенно кто плохо ориентируется в коде, крайне бы не рекомендовал пока к использованию.