Что с этим делать человеку
Человек с поверхностными знаниями сталкивался с трудностями — код не компилируется, проект не собирается, приходится разбираться. Это создавало сигнал: «я чего-то не понимаю». Барьеры вынуждали учиться.
LLM генерирует код, который компилируется с первого раза. Проект как-то работает. Человек получает подтверждение своей «компетентности», хотя компетентна была модель. Обратная связь сломана — ошибки не выявляются, а маскируются.
Человек не только не знает, чего не знает, но ещё и имеет работающий результат как «доказательство» своих знаний. До первого продакшн-инцидента, где LLM-сгенерированный код теряет данные, создаёт дыру в безопасности или ломает бизнес-логику в неочевидном edge case.
Тетрис в один HTML-файл, калькулятор, TODO-список. Полностью формализованные задачи, тысячи реализаций в обучающих данных, результат мгновенно проверяется, ошибка ничего не стоит. LLM выдаёт рабочий результат за 30 секунд.
Реальная бизнес-система: продуманные миграции, правильная структура сущностей, тесты, обработка edge cases, безопасность, производительность. LLM может сгенерировать каждый кусок, но собрать из этого работающую систему — инженерная задача, требующая понимания целого.
Студенты видят, как LLM за 30 секунд выдаёт работающий Тетрис, и экстраполируют: «значит, она и всё остальное так может». Они не видят границу — потому что у них нет опыта, чтобы её ощутить. Граница проходит примерно там, где заканчиваются хорошо представленные в интернете примеры и начинается специфика конкретного проекта.
LLM даёт ответ без понимания. А без понимания невозможно отличить хороший ответ от красиво оформленной катастрофы.
Навигатор покажет маршрут, но если ты не умеешь крутить руль — это бесполезно. А если навигатор глючит и ведёт в стену — без навыка вождения ты даже не затормозишь.
Чтобы эффективно проверять LLM, нужны знания. Если знания есть — ты и сам многое можешь без LLM. LLM ускоряет, но не заменяет компетентность. И чем выше цена ошибки — тем больше нужна собственная экспертиза.
Ускоритель работы. Видит ошибки и берёт только полезное.
Генератор ложной уверенности. Не знает и не знает, что не знает.
Повод НЕ учиться — и это самое опасное.
Ты понимаешь цифровую логику, знаешь что такое тактовый сигнал и
регистр. Спрашиваешь конкретный синтаксис Verilog — always @(posedge clk). LLM закрывает
вторую половину. Твоя первая половина позволяет мгновенно оценить ответ.
Ты не знаешь Z80, спрашиваешь «напиши сложение». LLM выдаёт ADD A, B, A — и ты не можешь понять, что это бессмыслица. Ответ выглядит
правильно, принимаешь на веру, получаешь неработающий код.
Вот именно здесь проходит водораздел. Если у тебя есть своя половина — LLM становится инструментом, ускоряющим работу. Если нет — костылём, создающим иллюзию компетентности. Инструмент помогает мастеру. Костыль маскирует отсутствие мастерства.
Польза = (твои знания) × (возможности модели). Если один из множителей близок к нулю — произведение тоже стремится к нулю, каким бы большим ни был второй.
Детектор работает. Чувствуешь «что-то не так» до того, как нашёл ошибку. LLM подсказывает — ты верифицируешь.
Знаешь оба мира по отдельности, но на границе термины слипаются. Опыт мешает — создаёт ложную уверенность.
Детектор молчит. Бред выглядит как правда. Нет внутренних инвариантов, чтобы сверить результат.
Инженер с 20+ годами опыта и знанием Z80 с детства проектирует банкинг памяти для собственного компьютера. Два понятия — «слот» (окно в адресном пространстве Z80) и «страница» (блок физической SRAM) — одинакового размера, 16 КБ. При начальной конфигурации их номера совпадают: слот 0 = страница 0, слот 1 = страница 1. Мозг склеивает: «слот — это и есть страница». Дальше появляется число 4 (четыре слота) и применяется как делитель: 16 КБ / 4 = 4 КБ. Логика каждого шага безупречна. Посылка — неверна.
check_invariants()Час блуждания — но с первой минуты было ощущение: «что-то не вяжется». Формализовать ошибку не получалось, но внутренний детектор не давал двигаться дальше. Решение: пошаговая вербализация хода мыслей вслух (rubber duck с LLM). В процессе проговаривания стало невозможно сказать «слот — это страница», потому что в предложении они стоят по разные стороны глагола. Слот указывает на страницу. Не является ей. Грамматика разорвала то, что арифметика склеивала.
Калькулятор ZX Spectrum — 9 КБ ПЗУ с интерпретатором выражений, виртуальная машина внутри Z80. Разобрался с синусами и конкатенацией, но дальше — нет задачи, нет «куда применить». И это правильное решение: не всё требует полного понимания. Граница половины — не только «где я новичок», но и «где мне это не нужно». Без задачи даже эксперт буксует.
Полное незнание безопасно — ты знаешь, что не знаешь. Полная экспертиза безопасна — ты видишь ошибку сразу. Опасна середина: когда знание одного домена создаёт иллюзию компетентности в смежном. Тот же термин, тот же размер, те же числа — но разные сущности. Именно здесь LLM наносит максимальный ущерб: она уверенно подтверждает твою неверную посылку, потому что в обучающих данных «слот» и «страница» тоже часто используются как синонимы.
Не «знать всё», а уметь сказать: «вот тут я новичок». Это переключает режим — с доверия на верификацию, с автопилота на ручное управление. У LLM этого переключателя нет. У тебя — есть. Пользуйся.