$ sudo teach IT

Представьте, что вы разговариваете с умным человеком, который может обсудить почти любую тему — от написания стихов до анализа кода. Вы задаёте вопрос, и он почти мгновенно отвечает. Так работают LLM — большие языковые модели. Но как именно они принимают решения и “думают”?

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

📌 Пример из жизни: вы просите ChatGPT составить поздравление на день рождения. Почему иногда оно звучит слишком формально или повторяет одни и те же фразы? Ответ — в устройстве модели и её вероятностной природе. И вы узнаете, как это менять.

Что вы узнаете в рамках статьи

  • Что такое LLM и как устроена их архитектура
  • Что означают слова "предсказание токенов"
  • Почему модель "галлюцинирует" и как это диагностировать
  • Как работает Token Inspector и что он показывает
  • Как развиваются современные модели: трансформеры, RAG, Tool Use
  • Как сделать промпт, который помогает LLM не сбиться

🧩 Ключевые термины

  • LLM (Large Language Model) — большая языковая модель, обученная на огромных объемах текстов для генерации текста.
  • Токен — минимальная единица текста (буква, часть слова или слово), с которой работает модель.
  • Предсказание токена — механизм выбора следующего токена на основе предыдущих.
  • Галлюцинация — феномен, при котором LLM уверенно “выдумывает” факты, которых не существует в её обучающих данных.
  • Transformer — архитектура модели, основанная на механизме внимания (attention), лежит в основе современных LLM.
  • RAG (Retrieval-Augmented Generation) — подход, при котором модель дополняет свои ответы информацией из внешних источников (например, баз знаний или поисковиков) перед генерацией текста.
  • Tool Use — способность модели вызывать внешние инструменты, такие как калькуляторы, API или поисковики, для выполнения задач.
  • Token Inspector — инструмент, позволяющий увидеть, какие токены модель выбирала при генерации текста, с какими вероятностями и почему.

🔧 Как устроены LLM

Большие языковые модели (LLM), такие как ChatGPT, Claude, Gemini и другие, работают не так, как человек. Они не понимают язык в привычном смысле и не хранят знания как энциклопедия. Вместо этого они опираются на мощную математическую модель, которая угадывает, какое слово (или его часть) должно быть следующим.

📚 Аналогия: писатель-угадайка

Представьте себе писателя, которому показали только первые несколько слов предложения:

«Сегодня утром я пошёл в…»

И его задача — угадывать слово за словом, пока не получится осмысленная фраза.

Он опирается на:

  • жизненный опыт (в случае модели — статистику),
  • то, как обычно люди заканчивают такие предложения,
  • и наиболее вероятные варианты продолжения.

Например:

  • «…магазин» — вероятно.
  • «…вулкан» — маловероятно.
  • «…сверхпроводящий резонатор» — почти невозможно.

Вот так работает и LLM. Она не "знает", куда вы шли, но угадывает наиболее вероятное продолжение, исходя из ранее встреченных текстов.

🧠 Что под капотом: трансформеры

Основой LLM является архитектура, называемая трансформером (Transformer).

Это не робот из кино 🙂, а тип нейросети, специально созданный для обработки последовательностей слов.

Главная особенность трансформеров — механизм внимания (attention). Он позволяет модели не просто “читать” текст слева направо, а уделять больше внимания тем словам, которые важны в контексте.

💡 Аналогия: когда вы читаете предложение, вы автоматически выделяете ключевые слова. Например, в предложении «Мама мыла раму, потому что она была грязной» — вы понимаете, что “она” относится к раме, а не к маме. Это и делает attention — помогает модели “понять”, какие слова связаны друг с другом.

🏋️ Обучение: не запоминание, а привычки

Модель не запоминает тексты, как человек запоминает стихотворение. Вместо этого она “читает” миллиарды фрагментов текста и учится, какие шаблоны чаще всего встречаются.

Примеры таких шаблонов:

  • Вопросы обычно заканчиваются знаком вопроса.
  • После “если” часто идёт “то”.
  • В рецептах часто встречаются “возьмите”, “добавьте”, “перемешайте”.

📦 Аналогия: это как если бы вы тысячу раз слышали, как говорят по-французски, и начали угадывать, как продолжается фраза — даже не зная смысла слов. Вы не знаете точно, но чувствуете “по форме”, как должно быть.

🎓 Что это даёт

  • Модель не привязана к конкретным фактам, но она очень хороша в генерации естественно звучащего текста.
  • Она может “притвориться” программистом, врачом, учителем — если вы правильно её направите.
  • Всё, что она делает — это построение текста токен за токеном, на основе огромной базы вероятностей и паттернов.

🔢 Как модель “думает”: предсказание токенов

Когда вы вводите в окно диалога фразу вроде:

“Расскажи интересный факт о…”

модель не знает заранее, о чём вы хотите услышать. Она не лезет в интернет, не ищет ответ в базе данных. Вместо этого она делает то, что умеет лучше всего — предсказывает, какое слово (точнее — токен) с наибольшей вероятностью должно идти дальше.

🎲 Модель не знает — она угадывает

LLM работает на основе предсказания токенов. Это не значит, что она понимает смысл — она оценивает вероятности продолжений.

📚 Аналогия: представьте, что вы играете в игру “закончи предложение”. Вам говорят: "Сегодня я ел..."

И вы, не зная, что человек ел, предлагаете самые вероятные продолжения:

  • "пиццу"
  • "суп"
  • "бургер"

Вы делаете угадывание на основе общего опыта. То же делает и модель.

🧩 Что такое токены

Перед тем как “думать”, модель разбивает ваш текст на токены. Токен — это не обязательно слово, это может быть:

  • отдельная буква (a)
  • часть слова (инфор + мация)
  • целое слово (данные)

Например, фраза:

“Интересный факт о космосе”

может быть разбита на токены: ["Ин", "терес", "ный", " факт", " о", " кос", "мос", "е"]

Так устроена внутренняя механика LLM — они “читают” и “пишут” токенами, а не словами.

🧠 Как идёт предсказание

На каждом шаге генерации модель:

  1. Смотрит на все предыдущие токены.
  2. Считает, какие токены могут быть следующими.
  3. Присваивает им вероятности.
  4. Выбирает самый вероятный (или случайный из топ-N, в зависимости от настроек).

📊 Аналогия: это как если бы модель держала таблицу вероятностей:

Возможный токен Вероятность
"космосе" 42%
"животных" 31%
"мозге" 15%
"чайнике" 2%

Если используется “жёсткое” предсказание (как в ChatGPT), она выберет наиболее вероятный. Если задан параметр случайности (temperature > 0), она может выбрать и менее вероятный вариант, чтобы речь звучала более “живой”.

🧠 Почему модель “галлюцинирует”

Когда модель начинает “уверенно придумывать несуществующие факты” — это называется галлюцинацией. На первый взгляд это выглядит как серьёзная ошибка, но важно понять: 🔍 Галлюцинация — это не баг, а естественное поведение модели, которая всегда предсказывает следующий токен, даже если не знает ответа.

🎲 Аналогия: умный рассказчик, который не может сказать «не знаю»

Представьте себе человека, который должен отвечать на каждый вопрос, даже если не знает правильного ответа. Но при этом он отлично говорит, знает кучу фактов и умеет красиво “выкручиваться”.

Вы спрашиваете:

“Кто написал роман Синий медведь?”

А такого романа не существует. Но человек не хочет выглядеть глупо и, подумав, отвечает:

“Наверное, это… Питер Хандке. Звучит похоже на его стиль.”

Вот так работает и модель. Она не знает, но должна что-то сгенерировать — и подставляет наиболее вероятный вариант, исходя из похожих фраз, тем, жанров и паттернов.

📦 Почему это происходит технически

Модель не имеет доступа к базе “истинных фактов”. Она обучена на миллиардах фрагментов текстов, и при генерации она:

  • не проверяет факт в интернете;
  • не говорит “я не знаю”, если специально не научена;
  • не отказывается от ответа, если её явно не попросить.

Она просто оценивает вероятности слов на основе предыдущих — и если вы сформулировали вопрос как “факт”, она постарается сымитировать “факт”.

📚 Пример: Вы пишете: “Сколько глаз у дракона?” Хотя драконов не существует, модель может уверенно сказать: “Обычно у дракона два глаза, но у некоторых — три.” Это не ложь в классическом смысле — это статистическая фантазия на тему.

⚠️ Почему это опасно

  • Галлюцинации выглядят убедительно — особенно если вы не эксперт в теме.
  • Они могут попадать в отчёты, код, письма без проверки.
  • Модель не знает, что галлюцинирует. У неё нет “ощущения уверенности” или “правды”.

🛡 Как минимизировать риск галлюцинаций

💡 Главное правило: Модель не знает — только делает вид, что знает. Ваша задача — дать ей право сомневаться.

Вот несколько стратегий, которые помогут:

1. Уточняйте формулировку

Вместо:

“Кто написал Синий медведь?” Напишите: “Существует ли роман под названием Синий медведь? Если да — кто его автор?” Теперь модель может сказать, что такого нет.

2. Добавляйте проверочную инструкцию

“Если нет достоверной информации — скажи об этом.” Это поможет модели отказаться от “фантазии”.

3. Используйте внешние источники

В GPT-4 с доступом к интернету или в системах с RAG (Retrieval-Augmented Generation), вы можете:

  • подключить поиск;
  • вставить текст, из которого нужно извлекать факты;
  • просить “укажи источник”.

4. Уточняйте контекст

Вместо:

“Расскажи про Джона Смита” Пишите: “Расскажи про Джона Смита — CEO компании Acme в 2020 году (если такой есть).” Так вы помогаете модели сначала уточнить, есть ли совпадения.

🛠 Развитие моделей: от трансформеров до Tool Use

Когда появились первые LLM вроде GPT-2, они умели только одно: продолжать текст, угадывая токен за токеном. Это было похоже на умное автодополнение, но без способности обращаться к внешнему миру или анализировать сложные задачи шаг за шагом.

Современные модели, такие как GPT-4, Claude, Gemini, стали гораздо гибче и “осознаннее” — не потому что “поумнели”, а потому что получили новые возможности взаимодействия с внешней информацией.

📡 1. Поиск внешней информации — RAG

RAG (Retrieval-Augmented Generation) — это подход, при котором модель не просто предсказывает слова, а сначала ищет релевантную информацию во внешнем источнике (например, базе знаний или документации), а затем использует найденное в генерации.

📚 Аналогия: вы не помните точный год основания компании, но умеете искать. Вместо того чтобы придумывать, вы гуглите, читаете результат — и только потом отвечаете.

Вот как это работает:

  1. Вы задаёте вопрос.
  2. Модель формирует поисковый запрос.
  3. Из базы знаний/поиска подтягиваются отрывки текста.
  4. Модель использует эти данные как “контекст” — и формирует ответ.

🔍 Пример: Вопрос: "Какие бонусы получает пользователь тарифа Pro на Stepik?" Модель с RAG сначала найдёт соответствующий документ, а потом сформирует точный и достоверный ответ — не выдумывая из головы.

🧰 2. Использование инструментов — Tool Use

Tool Use (использование инструментов) — это когда модель не просто “говорит”, а делегирует части работы внешним сервисам:

  • вызывает калькулятор;
  • обращается к API;
  • строит график;
  • делает SQL-запрос.

⚙️ Аналогия: Вы инженер и считаете нагрузку на балку. Вместо того чтобы всё делать в уме — вы:

  • вводите формулу в калькулятор,
  • проверяете значения в Excel,
  • строите график нагрузки. Модель делает то же самое — если ей разрешено использовать “инструменты”.

🔧 Что это даёт:

  • Повышение точности: расчёты выполняет не сама модель, а специализированный модуль.
  • Сложные задачи становятся решаемыми — например, составление расписаний, планирование бюджета, построение графов.

🧮 Пример: Вы просите: “Рассчитай, сколько останется от $1000 после уплаты 13% налога и распределения остатка на 4 категории в соотношении 4:3:2:1.” Модель:

  1. Считает налог — с помощью калькулятора.
  2. Делит остаток на части — с точной арифметикой.
  3. Возвращает результат — красиво отформатированный.

🧠 3. Цепочка рассуждений — Chain of Thought (CoT)

Раньше модель сразу отвечала на вопрос. Но в сложных задачах (например, математических или логических) это давало сбои. Chain of Thought — это способ заставить модель рассуждать пошагово, будто она записывает свои мысли на черновике.

🧱 Аналогия: вы решаете задачу из ЕГЭ. Сначала записываете дано, потом — формулу, подставляете значения, считаете, только потом — записываете ответ. Так работает Chain of Thought.

CoT можно вызывать даже вручную — просто добавив в промпт:

“Решай пошагово, объясняя каждое действие.”

🧩 Что это даёт:

  • Повышает точность в сложных задачах.
  • Улучшает прозрачность рассуждений.
  • Помогает диагностировать ошибки, если они есть.

🔍 Пример: Вопрос: “Если у Маши было 12 яблок, она отдала 3 Пете, а потом ещё половину оставшегося — Ване, сколько у неё осталось?” Без Chain of Thought: “6” (ошибка) С Chain of Thought:

  1. У Маши было 12.
  2. Отдала 3 — осталось 9.
  3. Отдала половину — 4.5, осталось 4.5. ✅ Ответ: 4.5

🧪 Комбинации всех трёх подходов

Современные LLM всё чаще используют сочетания:

  • Сначала делают поиск по базе (RAG),
  • Потом рассуждают пошагово (CoT),
  • Потом вызывают нужный инструмент (Tool Use).

💼 Сценарий из бизнеса: “Составь краткий отчёт о продажах за последний квартал, сравни с предыдущим, построй график и сделай вывод.”

Модель может:

  1. Найти нужные метрики в базе (RAG).
  2. Вычислить процентные изменения (Tool Use).
  3. Построить логику отчёта шаг за шагом (CoT).

🔍 Практика: Token Inspector

Когда вы работаете с LLM, кажется, что это чёрный ящик: вы вводите запрос — модель выдает ответ, и непонятно, почему она выбрала именно эти слова. Но с инструментами вроде Token Inspector вы можете буквально заглянуть в голову модели.

🧠 Что делает Token Inspector

Token Inspector — это визуализатор процесса генерации. Он показывает:

  • какие токены модель предсказывала на каждом шаге;
  • какие варианты она рассматривала;
  • с какой вероятностью она выбирала каждый из них;
  • как менялись её оценки в зависимости от контекста.

📊 Это как если бы вы видели, о чём думал человек, когда подбирал следующее слово в предложении. Он мог на секунду подумать "кофе", "чай", "компот" — а потом выбрал "кофе". Token Inspector покажет весь этот процесс.

📚 Аналогия: автодополнение с прозрачной историей

Представьте, что вы пишете сообщение в мессенджере, и вам подсказывают следующее слово: "Я иду в..." Варианты:

  • магазин
  • школу
  • парк
  • театр

Вы выбрали “парк” — но другие варианты тоже были в вашей голове. Token Inspector покажет все эти альтернативы, вместе с тем, насколько они вероятны.

🔬 Почему это важно

1. Диагностика промптов

Если модель отвечает “не так”, как вы ожидали, Token Inspector поможет понять:

  • где она “сбилась”;
  • на каком токене пошёл “не тот путь”;
  • была ли альтернатива, и насколько она была вероятна.

🧠 Пример: Вы спрашиваете: “Переведи с английского на русский: cat” А модель отвечает “котик” вместо “кот”. В Token Inspector вы увидите, что она также рассматривала “кот”, “кошка”, “котёнок” — и выбрала “котик” с наибольшей вероятностью.

2. Анализ стилистики

Если вы создаёте ассистента в деловом стиле, Token Inspector поможет понять, почему модель выбирает “простые” или “формальные” слова, и где это можно подправить в промпте.

3. Обучение студентов и команд

Это мощный инструмент для объяснений: вы можете показать коллегам или ученикам, что модель не “тупит”, а просто опирается на свой опыт — статистику токенов.

🛠 Где это использовать

  • OpenAI Playground (при включенной опции логов токенов)
  • OpenAI Token Inspector (официальный инструмент)
  • Prompt Engineering UI или другие IDE с поддержкой log-probs
  • LangChain или LlamaIndex с включённой трассировкой запросов

🚫 Наиболее частые ошибки

  • Ожидание “знания всего”: студенты думают, что модель знает весь Интернет. Она лишь угадывает, а не ищет.
  • Неверные формулировки промптов: "Кто первый открыл луну?" — вызывает галлюцинацию, потому что подразумевает факт, которого нет.
  • Игнорирование ограничений контекста: у моделей ограниченное “окно внимания” — они не могут учитывать больше N токенов (в зависимости от версии).

❓ Наиболее частые вопросы

Q: Почему модель уверенно пишет неправду?
A: Потому что она предсказывает наиболее вероятный ответ — а не проверяет его достоверность.

Q: Как проверить, откуда модель взяла ответ?
A: В стандартной версии ChatGPT это невозможно. Используйте RAG-механизмы или подключайте плагины/инструменты, чтобы получить ссылки.

Q: Модель может “учиться” от пользователя?
A: Нет. Она не обновляет свои знания после каждого диалога. Но она может имитировать "память" в рамках одного сеанса (или в mode with memory, если доступен).

📌 Итоги

Сегодня мы узнали:

  • Как устроены LLM и почему они предсказывают токены, а не “думают” как люди
  • Как работает Token Inspector и зачем он нужен
  • Почему происходят галлюцинации и как их уменьшить
  • Как развивается архитектура LLM: RAG, Tool Use, reasoning

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

Тест 1

1 вопрос