В аналитической статье на Habr, опирающейся на научный корпус OpenArx, рассматривается причина, по которой код, сгенерированный языковыми моделями, часто оказывается работоспособным, но трудным для понимания человеком. Автор отвергает поверхностные объяснения вроде «плохих данных» или «неправильной целевой функции» и предлагает концепцию когнитивной асимметрии — принципиального различия в том, как устроено мышление человека и LLM.
Человеческое мышление, согласно классическим работам Миллера и Коуэна, оперирует в фокусе внимания всего 4–5 абстракциями одновременно. Этот фокус бинарен: образ либо в нём, либо нет. При этом каждый акт мышления (сравнение, анализ) сам занимает место в фокусе. Однако человек справляется со сложными задачами благодаря постоянной памяти практически безграничного объёма. Мышление идёт циклически: извлечение из памяти, операция, запись результата обратно. Связи в памяти бывают ассоциативными (по сходству) и ортогональными (часть-целое, причина-следствие), что позволяет строить модели любой сложности без верхнего предела.
LLM устроена зеркально. Её внимание — это многослойная карта над всем контекстным окном, позволяющая за один проход связывать десятки сущностей. Если модель задачи влезает в окно, LLM «видит» её целиком со всеми связями. Но у неё нет записываемой постоянной памяти: веса не меняются на инференсе, а всё, что модель «поняла» за сессию, живёт только в окне и исчезает с его закрытием. Таким образом, LLM выполняет широкие, немногочисленные акты без накопления, тогда как человек — узкие, многочисленные акты с накоплением.
Из этого несовпадения и проистекает нечитаемость кода: то, что для LLM является естественным способом обработки информации (одномоментный охват всех зависимостей), человек вынужден восстанавливать последовательно, шаг за шагом. При этом код может быть абсолютно корректным с точки зрения выполнения — он оптимизирован под LLM, а не под человеческое восприятие. Автор подчёркивает, что проблема не в качестве, а в несовместимости архитектур мышления, и предлагает пересмотреть подходы к генерации и ревью кода.



