Часть V

Практика: как с этим жить

Приёмы и рекомендации для работы с LLM

🔎 Наблюдай за процессом, а не только за результатом

Промежуточные шаги — ещё один слой контроля

Современные LLM-интерфейсы показывают промежуточные шаги: вызовы инструментов, bash-команды, создание файлов. Для эксперта это прозрачное окно в процесс работы модели. Для неподготовленного пользователя — «серые блоки, которые мелькают, пока ИИ думает».

👁️

Эксперт видит

  • cp file.html file_v1.html → «делает бэкап, разумно»
  • rm без бэкапа → «стоп, это опасно»
  • Бессмыслица в скрипте → замечает до финального результата
  • Контроль процесса и результата одновременно
🙈

Новичок видит

  • Серые блоки с непонятным текстом
  • Индикатор загрузки
  • Финальный файл — «о, готово!»
  • Контроль только по результату (если повезёт)
⚠️ Та самая «половина ответа» в действии

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

🧩 Глаз эксперта: видеть поведение модели

Наблюдение за привычками модели

Опытный пользователь со временем замечает паттерны поведения LLM: когда модель делает бэкап перед перезаписью, когда пропускает проверку, когда меняет подход между попытками. Эти наблюдения формируют интуитивную калибровку — понимание, где модель надёжна, а где «плавает».

Калибровка через опыт

Никакой промпт и никакая инструкция не заменят эмпирический опыт работы с конкретной моделью. Ты пробуешь, видишь где она ошибается, запоминаешь: «по Verilog — надёжно, по Z80 у маленьких моделей — каша, по Symfony — можно доверять». Эта калибровка индивидуальна и накапливается только через практику.

🎯 Мета-навык

Умение работать с LLM — это отдельный навык поверх предметной экспертизы. Он включает: понимание, когда модель уверена обоснованно, а когда галлюцинирует; знание, какие темы для данной модели «нишевые»; привычку проверять конкретные факты, оставляя общие принципы без проверки. Это навык, который нельзя передать через инструкцию — только через опыт.

Модель не скажет тебе, где ей нельзя доверять.
Это можешь узнать только ты сам.

🐤 Rubber duck debugging: от уточки до LLM

Программисты десятилетиями знали: проговори проблему вслух — и половина решится сама. Не важно кому: резиновой уточке, коту, пустому стулу. Важен процесс формулировки.
🐤

Уточка

Молчит. Не отвечает. Не отвлекает. Ты формулируешь мысль — и сам находишь ответ. Безопасно.

🐱

Кот

Иногда мяукает, что создаёт иллюзию диалога. Но мяуканье случайно. Принять его за экспертизу невозможно. Безопасно.

🤖

LLM

Крякает в тему. Иногда — точно в цель. Именно это делает её опаснее: можно принять кряканье за экспертизу.

Шкала опасности

Уточка и кот безопасны — никто не примет их за эксперта. LLM попадает в uncanny valley компетентности: достаточно умна, чтобы обмануть, недостаточно — чтобы быть надёжной. Эксперт использует LLM как уточку — формулирует мысль и сам оценивает ответ. Новичок принимает кряканье за истину.

Лучшее применение LLM

Не «напиши за меня код», а разговор, в котором ты сам приходишь к решению. LLM как зеркало, которое иногда подсвечивает неожиданный угол. Указатель, не автор. Когда экспертизы 20 лет — один правильный вектор экономит месяц блуждания.

«Подожди следующую модель»

«GPT-5 решит» = «Новый кабель решит»
Аргумент, знакомый каждому аудиофилу: не нужно учиться слушать — нужно купить более дорогой кабель, и звук станет лучше. В мире LLM это звучит так: «Зачем учиться проверять — подожди следующую модель, она не будет галлюцинировать». Это способ делегировать проблему в будущее, избежав самокалибровки сейчас.

Аудиофил

Не тренирует слух — покупает новый ЦАП. Не учится слышать разницу — меняет кабели. Не калибрует комнату — заказывает акустические панели. Оборудование растёт, навык — нет. Каждое следующее улучшение даёт всё меньше, потому что bottleneck — не в железе, а в ушах.

Пользователь LLM

Не учится верифицировать — ждёт GPT-5. Не разбирается в предмете — надеется на «более умную модель». Не калибрует свои ожидания — переключается на следующий чат-бот. Модели растут, навык проверки — нет. Bottleneck — не в модели, а в голове.

Почему «следующая модель» не решит

Вспомни слайд про гранулярность ошибок: 8B-модель несёт чушь — и это видно сразу. 70B-модель ошибается тонко — нужна экспертиза, чтобы заметить. Следующее поколение будет ошибаться ещё тоньше. Чем мощнее модель — тем выше требования к верификатору. «Подожди следующую модель» — это не решение, а эскалация проблемы. Каждое поколение моделей требует не меньше проверки, а больше квалификации проверяющего.

Ловушка прогресса

Прогресс моделей реален — они действительно становятся лучше. Но это не отменяет необходимости учиться. Автомобили стали безопаснее за 100 лет — но водительские права не отменили. Самолёты надёжнее, чем когда-либо — но пилотов учат дольше, чем раньше. Надёжность системы и квалификация оператора растут параллельно, а не заменяют друг друга.

🎯 Проверяй понимание, а не авторство

«Кто это написал?» — неправильный вопрос.
«Что тут происходит?» — правильный.
В эпоху LLM определить авторство кода или текста практически невозможно. Но это и не нужно. Единственное, что имеет значение — понимает ли человек то, что он предъявляет. Переключи фокус с детекции на верификацию.

Проверка авторства

  • «Ты это сам написал?» — невозможно проверить
  • AI-детекторы дают 50-70% точности — хуже монетки с поправкой на false positives
  • Парафраз, перевод, редактирование — обходят любой детектор
  • Запрет LLM = запрет калькулятора в 1980-х

Проверка понимания

  • «Объясни, что делает эта функция» — проверяемо
  • «Почему тут, а не здесь?» — требует понимания trade-offs
  • «Что сломается, если убрать эту строку?» — требует модели в голове
  • Работает независимо от того, кто писал код

Для преподавателей: техника зондирующих вопросов

Студент сдаёт Symfony-контроллер. Вместо поиска следов ChatGPT спроси: «Почему ты инжектишь сервис через конструктор, а не через метод?», «Что произойдёт, если этот запрос придёт дважды одновременно?», «Покажи, как ты будешь дебажить, если тут упадёт 500». Если человек понимает код — неважно, помогал ли ему LLM. Если не понимает — неважно, писал ли он сам. Понимание — единственная метрика, которая не обесценивается.

Аналогия с навигатором

Никто не запрещает пользоваться GPS, чтобы доехать до работы. Но если на экзамене по вождению тебя спросят «как проехать к аэропорту» — ты должен уметь описать маршрут, а не показать экран телефона. LLM — это GPS для кода. Пользоваться можно. Понимать маршрут — обязательно.

🎓 Как правильно работать с LLM

Верифицируй

Любой ответ LLM — это черновик, требующий проверки. Особенно в коде, конфигурациях, технических деталях.

💡

Знай предмет

LLM — инструмент для тех, кто уже разбирается. Сначала учись, потом ускоряйся с помощью ИИ.

🔍

Проверяй по документации

Если LLM пишет код — сверяй с официальной документацией. Галлюцинации часто в деталях: параметрах, синтаксисе, порядке аргументов.

⚠️

Не доверяй Chain-of-Thought

Красивые рассуждения ≠ правильные рассуждения. CoT создаёт иллюзию анализа, но это та же генерация текста. При отсутствии знаний CoT структурирует заблуждения.

📊

Учитывай ограничения

Маленькие модели + квантизация = потеря редких знаний. Нишевые темы (ассемблер, embedded, FPGA) страдают первыми.

🔁

Работай инкрементально

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

⚖️

Оценивай цену ошибки

Обратимые действия (код, вёрстка) — можно пробовать. Необратимые (данные, безопасность, здоровье) — максимальная верификация перед применением.

🔄 При расследованиях главное — не выйти на самих себя

Эта презентация написана с помощью LLM.
И LLM в процессе галлюцинировала.

Что произошло

При создании этого документа — презентации о ненадёжности LLM — модель в середине рабочей сессии выдала служебный комментарий на французском языке вместо русского. Vérifions la structure finale — написала она, проверяя структуру файла, над которым работала. Микрогаллюцинация на уровне языка: содержание верное, контекст неправильный. Модель «расслабилась» на служебной фразе и переключила языковой регистр.

Почему это показательно

Человек заметил. Модель — нет. Именно об этом вся презентация: LLM не имеет внутреннего check_invariants(), который поднял бы флаг «стоп, мы пишем по-русски». У неё нет ощущения «что-то не вяжется». Каждый токен генерируется с одинаковой уверенностью — будь то русское слово или французская фраза посреди русского текста.

Мета-урок

Если LLM галлюцинирует в процессе создания презентации о галлюцинациях — это не ирония, а демонстрация. Никакой контекст, никакая задача, никакой промпт не делают модель «иммунной». Она не знает, о чём говорит — она генерирует токены. Даже когда тема разговора — её собственная ненадёжность.

Рекурсия

Презентация о галлюцинациях, написанная с помощью LLM, содержащая галлюцинацию, обнаруженную человеком, добавленную в презентацию с помощью той же LLM. // stack overflow не обнаружен

← IV. Философия и аналогии Оглавление VI. Эпилог →