В современном мире разработки программного обеспечения инструменты с искусственным интеллектом становятся неотъемлемой частью рабочего процесса. Среди них особое место занимают кодовые ассистенты, которые интегрируются с IDE и помогают программистам писать и улучшать код, экономя время и повышая продуктивность. В качестве эксперимента было проведено шестичасовое сравнение девяти различных комбинаций кодовых ассистентов и языковых моделей внутри Visual Studio Code, что позволило подробно оценить пользовательский опыт и различия в подходах этих инструментов. Все ассистенты тестировались на одном и том же кодовом задании – библиотечном приложении на языке Go, использовавшем CSV-файлы для хранения информации о книгах, журналах и авторах. Задачи предполагали разработку интерфейса для отображения всего контента, а также функций поиска по ISBN и email авторов, сортировки данных по названию и расширение функционала через юнит-тесты и добавление новых записей с сохранением в CSV.
Такой набор задач позволил увидеть, как ассистенты справляются с типичными этапами разработки и рефакторинга кода. Каждый ассистент имел уникальную модель ИИ, например, варианты GPT 4.0, GPT 4.1, Claude Sonnet 4, Gemini Code Assistant и другие. Внимание уделялось не только скорости выполнения задач, но и тому, насколько эффективно ассистенты взаимодействовали с пользователем, как представляли результаты, и как структурировали свои действия в VS Code.
GitHub Copilot с моделью GPT 4.1 показал себя достаточно функционально, но в процессе работы создавал некоторое количество ошибок, требовавших вмешательства. Особенно проблемной оказалась генерация юнит-тестов, где из-за неполного понимания контекста образовались конфликтные и сломанные части кода. Несмотря на это, после исправления файлов, инструмент смог довести проект до работоспособного веб-приложения. Такой опыт отчасти отражает реальность использования современных ассистентов: они ускоряют разработку, но требуют контроля и корректировок со стороны программиста.
Версия Copilot на базе GPT 4.0 оказалась быстрее в первоначальных этапах, однако она испытывала трудности с правильным разбором CSV-файлов, что приводило к ряду проблем и необходимости дополнительной поддержки. В целом, этот ассистент нуждался в большем объёме введённых вручную подсказок, чтобы держался в рамках поставленных задач. После около получаса работы поэтапно была реализована базовая функциональность, но с ощутимыми недостатками. Визуально веб-интерфейс напоминал простой набор HTML-страниц без особых усилий по дизайну.
Copilot с Claude Sonnet 4 выглядел одним из самых продуманных вариантов среди исследованных. Он самостоятельно инициировал создание README с описанием проекта и даже делал вспомогательные скрипты. В процессе работы ассистент постоянно запускал тесты и активно поддерживал целостность кода. Однако и здесь возникали сложности, например, с дублированием файлов, из-за которых ассистент на время терял ориентиры и требовалось вмешательство разработчика для очистки контекста. В итоге он продемонстрировал более последовательный и «человечный» процесс построения проекта.
Gemini Code Assistant пока находился в ранней стадии интеграции и не работал в режиме агента, что ограничивало его возможности. Ассистент не всегда корректно синхронизировал изменения с диском, из-за чего возникали конфликты при применении патчей. Несмотря на это Gemini оказался довольно быстрым и в целом адекватным в реализации. Однако наблюдалось ощущение неопределённости из-за отсутствия обратной связи в течение длительного времени, что создавало «эффект замороженного» интерфейса, с длительной загрузкой без прогресса. Amazon Q с моделью Claude Sonnet 4 преподнёс неожиданные приятные впечатления.
Интерфейс, интегрированный в VS Code с функцией чат-команд, обеспечить прямой и быстрый доступ к функциям, избегая лишнего переключения между окнами. Чат мог поддерживать множество сессий одновременно, что полезно для контроля над разными аспектами проекта. Несмотря на иногда долгие периоды размышлений ИИ без обратной связи, в целом опыт был приятен, и пользователь мог наблюдать за процессом без раздражающих скачков и миганий интерфейса. Roo Code — открытый ассистент с поддержкой различных моделей — выделился максимальной прозрачностью и настраиваемостью. Его интерфейс отображал подробный токен-баланс, показывал текущие действия и реагировал на команды сразу же.
Этот ассистент начал сразу с создания веб-интерфейса, отличающегося минимальным, но функциональным стилем. Несмотря на некоторые мелкие ошибки и требовавшееся в процессе исправление, Roo Code продемонстрировал выдающийся баланс между контролем пользователя и автоматизацией задач. Использование Roo Code в сочетании с Claude Sonnet 4 особенно заинтересовало автора теста: высокое качество взаимодействия и хорошие результаты при реализации функционала проекта. Однако такая работа оказалась очень затратной в плане оплаты за запросы к API, что подчеркнуло проблему стоимости популярных моделей при интенсивном использовании. Быстрый рост расходов за API вызвал озабоченность по поводу экономической эффективности подобных решений на фоне платы за каждый токен.
Claude Code, работающий в терминальном режиме, выгодно отличался лаконичностью и стабильностью. Он предоставлял информацию о токенах, работал быстро и с минимальным вмешательством пользователя. Проект компилировался и запускался, первые основные задачи выполнялись быстро, а работа с шаблонами веб-интерфейса быстро наладилась несмотря на первоначальные ошибки. Для любителей командной строки такой инструмент может стать отличным выбором благодаря удобству общения прямо в терминале. Claude Opus 4, представляя более дорогой вариант модели, удивил скоростью и минимальным вмешательством пользователя.
С первых минут он создал полноценное веб-приложение, при этом предоставил добротный интерфейс и выполнил большинство основных задач в очень сжатые сроки. Однако высокий тариф за использование означал быстрый расход кредитов и ограничил возможность завершения работы над юнит-тестами и другими расширенными функциями. Такой опыт демонстрирует наличие компромисса между качеством обслуживания и экономической целесообразностью. Рассматривая вышеперечисленные модели в контексте пользовательского опыта, очевидно, что каждый ассистент обладает своими уникальными преимуществами и ограничениями. Некоторые предлагают высокую гибкость и контроль, другие отличаются скоростью и простотой, а третьи требуют значительной поддержки со стороны программиста для исправления ошибок и уточнения задач.
Особенно важным становится то, как ассистенты взаимодействуют с пользователем, насколько информативен и удобен интерфейс, и умеют ли они поддерживать контекст работы. Важным открытием стала неудобность модели с оплатой за каждый API-вызов, что может стать серьезным барьером для массового использования, особенно на больших и сложных проектах. Одновременно с этим инструменты, встроенные прямо в VS Code и поддерживающие множество моделей, позволяют каждому разработчику адаптировать процесс под свои задачи и предпочтения. Некоторые ассистенты продолжают развиваться, предлагать многовкладочный чат, интеграцию с терминалом, виджеты с прогрессом выполнения, что повышает комфорт работы и уменьшает количество ненужных переключений. Такие функции не только экономят время, но и улучшают восприятие процесса программирования, делая инструменты более дружелюбными и эффективными.