← Claude на русском
AI-гайд

Как работают LLM

AI-гайд · 2026-04-27

Когда вы пишете код через Claude Code Desktop, легко относиться к модели как к магии: задал вопрос — получил ответ, попросил поправить файл — поправила. Этот гайд снимает магию. Не до уровня математики (про трансформеры и формулы тут не будет ни слова), а до уровня, которого хватит, чтобы понимать, почему модель иногда «забывает», что вы говорили час назад, почему придумывает несуществующий метод библиотеки и почему её не надо настраивать «потемпературнее».

Речь пойдёт про LLM в целом — large language model, большая языковая модель. Claude от Anthropic, GPT от OpenAI, Gemini от Google устроены по одним и тем же базовым принципам. Различия между конкретными моделями Claude — Opus, Sonnet, Haiku, режимы «подумать дольше» — в следующем гайде.

Что вообще такое LLM

LLM — это очень большая нейросеть, обученная на гигантском объёме текста (книги, статьи, код, форумы, документация) одной простой задаче: предсказывать следующий кусочек текста. Дали ей начало предложения «Столица Франции — » — она должна выдать «Париж». Дали кусок Kotlin-кода без последней строки — она должна догадаться, какой там должен быть закрывающий вызов.

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

Поэтому модель «знает» вещи: она прочитала их в обучающих данных и они «впечатались» в её веса (миллиарды чисел внутри сети). Но знает она их не как база данных — там нет точной цитаты, отдельной записи «Париж — столица Франции». Это знание размазано по сети, и модель «вспоминает» его, генерируя текст. Из этого следуют две важные вещи: модель не помнит, откуда она это взяла (нет ссылки на источник), и модель может «вспомнить» неправильно, особенно если речь о редких или новых вещах. К этому ещё вернёмся в разделе про галлюцинации.

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

Токены

Модель работает не с буквами и не со словами, а с токенами (token — кусочек текста). Перед тем как что-то отдать модели, текст разбивается на токены специальным алгоритмом — токенизатором.

Токен — это часто целое короткое английское слово («the», «code», «order»), но длинные слова разбиваются на куски, а в русском разбиение более агрессивное: одно русское слово часто превращается в 2–4 токена, потому что токенизатор обучен в основном на английском и латинице. Грубая оценка:

Зачем вам это знать. Во-первых, всё, что вы и модель пишете в диалоге, измеряется в токенах — и контекст (сколько модель помнит), и стоимость API считаются в токенах, не в символах. Во-вторых, русский «дороже» английского по токенам — на одно и то же содержание уходит в 1.5–2 раза больше места в контексте. Если вы общаетесь с Claude Code на русском, это нормально, просто имейте в виду: код в файлах в основном на английском (имена методов, ключевые слова Kotlin), но переписка и комментарии — на русском, и они «весят» больше.

Контекстное окно

Контекстное окно (context window) — это сколько токенов модель может одновременно держать «перед глазами»: ваш запрос, системный промпт, содержимое файлов, которое Claude Code подгрузил, история диалога, ответ модели. Всё это вместе должно влезть в окно.

МодельКонтекстное окно
Claude Opus 4.71 000 000 токенов
Claude Sonnet 4.61 000 000 токенов
Claude Haiku 4.5200 000 токенов

Миллион токенов — это очень много. Это примерно несколько крупных книг. Для вашего проекта со стеком Kotlin + Ktor + JDBI + PostgreSQL + React в такое окно влезает практически весь репозиторий целиком, ещё и с историей обсуждения.

Но окно конечно. И когда говорят, что модель «забыла», что вы ей сказали в начале сессии — это редко настоящая «забывчивость». Чаще всего одно из двух:

Что делает Claude Code Desktop, когда контекст начинает переполняться: он либо подрезает старые сообщения (и тогда они действительно теряются), либо запускает компактирование — сжимает предыдущий разговор в краткое summary. После компактирования модель помнит «о чём говорили», но детали могут потеряться.

Knowledge cutoff

Модель училась на данных, собранных до какой-то даты. После этой даты она ничего не «прочитала». Это называется knowledge cutoff — граница знаний.

МодельKnowledge cutoff
Claude Opus 4.7январь 2026
Claude Sonnet 4.6август 2025
Claude Haiku 4.5февраль 2025

Что это значит на практике. Если в марте 2026 вышла новая версия Ktor с изменённым API, и вы её используете, Opus 4.7 (cutoff — январь 2026) про эти изменения ничего не знает. Он будет предлагать вам код по старому API, потому что других данных у него нет. Это не баг, это устройство.

Что делать:

Температура и почему её обычно не трогают

На каждом шаге генерации модель не выбирает «один правильный следующий токен» — она получает распределение вероятностей по всем возможным токенам. «Париж» — 92%, «Лион» — 3%, «город» — 1% и так далее. Температура (temperature) — это параметр, регулирующий, насколько строго модель придерживается самого вероятного варианта.

В Claude Code Desktop температуру вам менять не приходится. Дефолт подобран Anthropic так, чтобы и код был связным, и не было полной зацикленности на одном варианте. Никаких советов в духе «поставь температуру 0.2, будет точнее» применять не нужно — для повседневной работы дефолт работает.

Знать про температуру полезно по одной причине: понимать, что одинаковый промпт не обязан давать одинаковый ответ. Это нормально, это не баг. Если вы дважды попросили Claude переписать одну и ту же функцию и получили два разных варианта — оба могут быть валидны.

Галлюцинации

Галлюцинация (hallucination) — это когда модель уверенно выдаёт что-то, чего нет: несуществующий метод библиотеки, выдуманную ссылку, неверную цитату, неправильное число. Не «иногда», а регулярно. Это не баг конкретной модели — это следствие того, как LLM устроены.

Вспомним начало: модель обучена предсказывать правдоподобный следующий токен. Не правдивый — правдоподобный. Если у Ktor никогда не было метода routing { restApi { … } }, но модель видела миллион похожих DSL-конструкций в Kotlin-коде, она спокойно выдаст вам этот несуществующий метод — он же правдоподобный. Текст связный, синтаксис валидный, логика знакомая. Только метода такого нет.

Типичные ситуации, в которых модель галлюцинирует чаще:

Что делать:

Lost-in-the-middle

Известная эвристика про большие контексты: lost-in-the-middle («потерянное в середине»). Если дать модели очень длинный контекст, она лучше запоминает то, что в самом начале и в самом конце, а информация из середины может «не заметиться». Эффект описали в 2023 году на ранних моделях, и тогда он был выраженным.

На современных Opus эффект сильно смягчён. На стандартном тесте needle in a haystack («иголка в стоге сена» — проверяют, найдёт ли модель одну специально вставленную фразу в большом тексте) Opus справляется почти идеально, около 100%, на длине в сотни тысяч токенов. То есть в чистом тесте модель видит всё и помнит всё.

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

Без алармизма: миллион токенов у Opus и Sonnet — это реально рабочий миллион, не «на бумаге». Просто не относитесь к нему как к бесконечной памяти, в которую можно сваливать всё подряд и надеяться, что модель сама разберётся.

Дальше

Это была общая теория про LLM — она применима и к Claude, и к GPT, и к Gemini. Конкретно про модели Anthropic — Opus, Sonnet, Haiku, в чём между ними разница на практике, и про режимы «подумать дольше» (extended thinking) — следующий гайд.