Суть эксперимента: продуктивность против компетенции
Команда исследователей во главе с Нишантом Балепуром провела эксперимент с участием 54 студентов, которым поручено создать веб-сайт. Участники были разделены на две группы, использующие разные AI-инструменты:
- Группа «Агент»: использовала системы типа Cursor, которые самостоятельно редактируют код пользователя.
- Группа «Чат-бот»: использовала LLM для генерации фрагментов кода, которые студент вписывал вручную или адаптировал.
После завершения задачи все участники прошли тест на понимание написанного кода и задание по его расширению без помощи AI. Результаты выявили парадокс: агенты помогли быстрее завершить задачу, но нанесли ущерб когнитивным навыкам.
Ключевые метрики и выводы
Исследование выявило три критических факта, которые меняют взгляд на эффективность AI-ассистентов:
- Снижение понимания: Пользователи агентов показали худшие результаты в тестах на понимание кода. Они не смогли эффективно доработать свой проект без помощи AI, в отличие от тех, кто писал код сам или с помощью чат-бота.
- Роль «ленивых» действий: Существует прямая корреляция между типом взаимодействия и потерей знаний. Низкозатратные действия, такие как копирование-вставка промптов и автоматическое принятие предложенных правок (auto-accepted edits), связаны с самым низким уровнем усвоения материала.
- Иллюзия контроля: Несмотря на то, что участники группы агентов объективно хуже понимали свой код, они предпочитали этот инструмент. Причиной стала скорость и простота использования, а не качество результата.
Почему это важно для индустрии
Результаты исследования бьют по главному аргументу сторонников полной автоматизации кодинга: «AI делает разработчиков ненужными». Напротив, авторы утверждают, что понимание кода необходимо для оверсайта (надзора), обучения и коммуникации. Если разработчик не понимает, что делает AI, он не может эффективно проверять качество и исправлять ошибки.
Рекомендации для разработчиков AI
Авторы статьи предлагают три направления для улучшения будущих версий coding agents:
- Диссуадировать (отговаривать) от использования низкозатратных промптов.
- Генерировать более читаемый и структурированный код.
- Промоутировать активное вовлечение пользователя в процесс написания кода, а не только его ревью.
| Параметр | Группа «Агент» (Cursor-подобные) | Группа «Чат-бот» (Генерация фрагментов) |
|---|---|---|
| Скорость завершения задачи | Высокая | Средняя/Низкая |
| Уровень понимания кода | Низкий (вредит усвоению) | Выше (лучше подготовка к доработке) |
| Способность расширять код без AI | Слабая | Более эффективная |
| Пользовательская предпочтительность | Высокая (из-за простоты) | Ниже |
Источник: arXiv cs.CL ↗
