← Все статьи
Психология — главный риск в AI-ассистированном кодинге

Психология — главный риск в AI-ассистированном кодинге

Meta Platforms Inc. признана экстремистской организацией, её деятельность запрещена на территории Российской Федерации

В AI-ассистированной разработке самые сложные баги — в человеке. Вопрос скорости всё ещё открыт: разрыв между ощущением и измерением стоит изучать, и психология объясняет его десятилетиями.

Иллюзия продуктивности

Когда код появляется мгновенно, мозг регистрирует движение. Наблюдать за потоком диффов — как будто работа делается. Время, потраченное после на подсказки, ожидание, чтение, исправления и повторные запросы, не ощущается так же, потому что оно фрагментировано и кажется «просто уборкой».

Психологи называют это эвристикой беглости: то, что легко обрабатывается, кажется лучшим и более завершённым. Чувство продуктивности отслеживает гладкость опыта, а не фактическое время.

Что делать

Замеряйте цикл: сколько времени уходит от запроса до принятого изменения, включая проверку и отладку. Не полагайтесь на ощущение.

Проверка кажется пассивной

Когда вы пишете код, вы строите мысленную модель по ходу. Когда проверяете сгенерированный код, нужно восстановить модель того, что вы не строили, и верифицировать её. В исследовании METR разработчики приняли менее половины генераций ИИ, и многие вносили серьёзные правки, чтобы привести в порядок то, что оставили. Проверка ощущается пассивной, поэтому люди делают её менее внимательно, чем она заслуживает.

Что делать

Автоматизируйте верификацию: тесты, линтеры, проверки типов. Не полагайтесь на бдительность.

Два эффекта, которые складываются

  • Автоматизационное смещение: люди чрезмерно доверяют выводу автоматизированных систем, особенно если он обычно правильный. Инструмент, который корректен в 90% случаев, приучает вас просматривать оставшиеся 10%.
  • Снижение бдительности: люди плохо справляются с длительным мониторингом редких ошибок. Макворт документировал это в исследованиях операторов радаров во Второй мировой войне, и это не улучшается с интеллектом или благими намерениями.

Лисанна Бейнбридж описала ловушку в статье 1983 года «Ironies of Automation»: чем надёжнее автоматизация, тем меньше человек практикуется в обнаружении её сбоев, но именно человек остаётся тем, кто должен их ловить.

Что делать

Встраивайте проверки в процесс, а не полагайтесь на внимание. Например, обязательный запуск кода и просмотр документации.

Уверенный тон не равен компетентности

LLM выдают код с одинаково спокойным тоном, будь он корректен или тонко сломан. Люди читают уверенность как компетентность — это смещение мы применяем и к другим людям. Галлюцинированный вызов API или правдоподобный, но неверный граничный случай приходит в таком же аккуратном объяснении, как и правильный.

Тонального сигнала для калибровки нет, поэтому сигнал должен приходить извне: запуск кода, проверка документации, чтение исходников библиотеки.

Что делать

Всегда проверяйте сгенерированный код исполнением и обращением к первоисточникам.

Навыки угасают без практики

Если вы перестаёте писать определённые виды кода — регулярные выражения, SQL-соединения, конкурентность или потоки аутентификации — вы теряете беглость, необходимую, чтобы замечать ошибки модели. Это снова ирония Бейнбридж, применённая к вашей карьере.

Это по-разному бьёт по новичкам. Тот, кто никогда не строил базовую интуицию, не имеет ориентира для оценки вывода. Борьба неприятна, но именно так строятся мысленные модели.

Что делать

Поддерживайте навыки: пишите код вручную, разбирайте сложные случаи, не отдавайте всё модели.

Чувство авторства мешает отказаться от плохого результата

Люди переоценивают то, что помогли создать. Подсказки, итерации и управление моделью создают ощущение авторства, даже если вы не смогли бы написать или отладить результат сами. Эта привязанность мешает отбросить плохой вывод и начать заново, а начать заново часто дешевле.

Это также делает постмортемы неловкими. «ИИ сделал это» и «я выпустил это» — оба верны, и только один из них ваш для исправления.

Что делать

Заранее договаривайтесь о критериях отказа. Если результат не проходит проверку, отбрасывайте его без сожалений.

Что это значит для доверия к инструментам

Какой бы ни была истинная скорость, и она, вероятно, будет меняться с инструментами, режим отказа AI-ассистированной разработки — не столько в том, что модель пишет плохой код. Он в том, что люди предсказуемо плохо контролируют нечто обычно правильное и всегда уверенное. Инструменты будут улучшаться, но человеческая сторона цикла не получает обновления версии.

Реальную ценность получат не те команды, у которых лучшая модель, а те, кто построил процесс вокруг того, как люди на самом деле ведут себя: измеряют, а не доверяют интуиции; автоматизируют верификацию, а не полагаются на бдительность; поддерживают свои навыки настолько острыми, чтобы замечать, когда что-то не так.

Вы измеряли время своего цикла с ИИ или полагаетесь на ощущения? Поделитесь результатами в комментариях.

Источник: hackernoon.com

Дополнительные источники: siliconangle.com, siliconangle.com, siliconangle.com, github.com, research.nccgroup.com, runtm.com, apps.apple.com, integsec.com