AI и агенты

Как на самом деле работают LLM: фундамент, который обязан понимать каждый инженер

Токены, attention, трансформеры: что происходит под капотом ChatGPT и Claude и почему без этого модели в продукте ведут себя непредсказуемо.

Большинство людей сегодня ежедневно используют ChatGPT, Claude, Gemini, Cursor или AI-ассистентов для кода. Они пишут промты, получают ответы и считают, что этого достаточно. Но в реальных продуктах такой подход быстро начинает ломаться: модели ведут себя непредсказуемо, игнорируют инструкции, «забывают» контекст, сжигают бюджет на API и дают нестабильный результат.

Проблема не в качестве моделей. Проблема в том, что их используют вслепую — не понимая, как они работают под капотом.

Эта статья — разбор фундаментальных принципов работы LLM: от токенов и attention до контекстных окон, стоимости генерации, агентов и контекстной инженерии. Это не ML-курс и не математика. Это инженерное понимание, которое напрямую влияет на стабильность, скорость и стоимость продакшн-систем.


Промты — это не архитектура

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

В продакшене ошибки стоят дорого. Можно неделями строить систему, которая иногда работает, а иногда нет. Можно незаметно сжигать сотни долларов в день на API, просто потому что не понимаешь, где нужен кэш, где — локальная модель, а где — другой подход к архитектуре.

Разница между «иногда работает» и «работает надёжно» — это понимание фундаментальных концепций LLM.


Токены: почему слова — плохая мера

Одна из первых ошибок — считать, что модель работает со словами. Это не так.

Токен — это базовая единица текста для языковой модели. Токеном может быть:

  • целое слово,
  • часть слова,
  • символ,
  • или комбинация символов.

Одно и то же слово может быть разбито на разное количество токенов в разных моделях. Например, длинное слово на русском языке в одном токенизаторе может превратиться в 3 токена, в другом — в 6, а в третьем — в 15–17.

Это критично по трём причинам:

  1. Стоимость
  2. Все API тарифицируются по токенам. Чем больше токенов — тем дороже запрос.
  3. Контекстное окно
  4. Модель видит не «текст», а ограниченное количество токенов. Русский язык в популярных моделях обычно требует в 1.5–2 раза больше токенов, чем английский, потому что большинство моделей обучались преимущественно на англоязычных данных.
  5. Скорость
  6. Чем больше токенов, тем медленнее обработка.

Например, контекстное окно в 128 000 токенов — это примерно:

  • 250–300 страниц английского текста,
  • или всего 100–150 страниц эквивалентного объёма на русском.

Attention: как модель понимает смысл

Рассмотрим простое предложение:

«Сеньор-разработчик посмотрел на код, и он сломался».

Человек автоматически понимает, что «он» относится к коду, а не к разработчику. Модель делает то же самое — через self-attention.

Механизм attention работает так:

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

Но это происходит не один раз.

Multi-head attention

Современные модели используют десятки голов внимания на каждом из десятков слоёв. Каждая «голова» смотрит на текст под своим углом.

Аналогия с код-ревью:

  • одна «голова» ищет синтаксические связи,
  • другая отслеживает типы данных,
  • третья анализирует бизнес-логику.

Все головы работают параллельно, а их результаты объединяются в общее представление.

Важно: специализация attention-голов не задаётся заранее. Она формируется в процессе обучения.


Почему трансформеры победили

До трансформеров использовались рекуррентные нейросети. Они читали текст последовательно: слово за словом. Это было медленно и плохо масштабировалось.

Трансформеры обрабатывают все токены одновременно благодаря attention-механизму. Это:

  • радикально ускорило обучение,
  • позволило масштабировать модели до сотен миллиардов параметров,
  • стало основой всех современных LLM: GPT, Claude, LLaMA, Gemini.

Но у трансформеров есть фундаментальная проблема.


Квадратичная сложность и цена длинного контекста

Attention связывает каждый токен с каждым.

  • 2 000 токенов — ~4 млн операций
  • 4 000 токенов — ~16 млн операций

Удвоение контекста даёт рост вычислений в четыре раза.

Отсюда:

  • длинный контекст = медленно,
  • длинный контекст = дорого,
  • контексты в сотни тысяч или миллионы токенов — всё ещё инженерный вызов.

Поэтому появляются гибридные архитектуры и новые подходы, но трансформеры пока остаются стандартом де-факто. И если вы работаете с AI-инструментами сегодня — трансформеры у вас под капотом.


Контекстное окно — рабочая память модели

Контекстное окно — это то, что модель видит одновременно. Его удобно воспринимать как рабочий стол.

  • Маленький стол (4 000 токенов): ноутбук и кружка кофе.
  • Большой стол (200 000 токенов): мониторы, книги, заметки, наушники.

Но стол быстро захламляется.

В контекст попадает:

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

В AI-ассистентах добавляется ещё больше:

  • описания tools,
  • открытые файлы,
  • вывод команд,
  • результаты поиска,
  • история действий.

Реальный пример:

пять файлов по 200 строк + несколько команд терминала = 15 000 токенов за один шаг агента.


Как понять, что контекст переполнен

Типичные симптомы:

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

Большинство ассистентов автоматически суммаризируют старую часть диалога. Это удобно, но опасно: при суммаризации теряются архитектурные решения, причины изменений и контекст действий.

Автосжатие — это костыль, а не решение.


Prefill и Decode: почему ответ печатается по словам

Генерация ответа состоит из двух принципиально разных этапов.

1. Prefill (предзагрузка)

Модель обрабатывает весь входной промт параллельно.

500 токенов — за доли секунды.

2. Decode (генерация)

Ответ генерируется последовательно, токен за токеном.

200 токенов — несколько секунд.

Каждый следующий токен зависит от предыдущих. Это нельзя распараллелить.


KV-cache: почему первый токен самый медленный

Без оптимизаций модель должна была бы при генерации каждого токена заново пересчитывать attention для всего контекста.

Решение — Key-Value cache:

  • на этапе prefill модель сохраняет результаты attention,
  • на этапе decode использует кэш,
  • пересчитывается только новый токен.

Отсюда:

  • первый токен появляется медленнее,
  • остальные — быстрее.

Почему output дороже input

Input обрабатывается параллельно.

Output генерируется последовательно и требует растущего кэша.

Поэтому у большинства провайдеров:

  • output стоит в 3–5 раз дороже input.

Это не маркетинг — это следствие архитектуры.


Реальная экономика запросов

Возьмём пример:

  • системный промт + документация: 10 000 токенов,
  • вопрос пользователя: 100 токенов,
  • ответ модели: 500 токенов.

При типичных тарифах:

  • один запрос ~несколько центов,
  • 1 000 запросов в день — десятки долларов,
  • в месяц — тысячи.

Без оптимизации бюджеты улетают незаметно.


Кэширование как способ экономии

Кэш позволяет:

  • один раз дорого записать контекст,
  • многократно дешево его читать.

Экономия — до 70–90% на повторяющихся запросах.

Это не оптимизация «на потом», а базовая архитектурная необходимость.


Модель не учится на ваших диалогах

Важно чётко различать:

  • Training — обучение модели (месяцы, GPU-кластеры, миллионы долларов),
  • Inference — использование модели (секунды, центы).

Во время inference веса модели не меняются.

То, что кажется «обучением», — это работа с контекстом и памятью:

  • история чатов,
  • сохранённые факты,
  • извлечение релевантной информации.

Это не обучение, а грамотная инженерия контекста.


Температура, Top-P и Top-K

Модель — это предсказатель следующего токена.

Температура управляет тем, насколько модель:

  • следует самым вероятным вариантам,
  • или допускает менее вероятные.
  • T — 0: почти всегда выбирается самый вероятный токен.
  • T — ∞: хаос.

Практически полезный диапазон — 0–1.2.

Top-P и Top-K — дополнительные фильтры вероятностей:

  • Top-P — динамический набор токенов по суммарной вероятности,
  • Top-K — фиксированное количество вариантов.

Это инструменты контроля поведения, а не магические ручки.


LM, Reasoning-модель и Агент — это разные уровни

LLM

Статeless. Один запрос — один ответ.

Подходит для:

  • Q&A,
  • анализа одного документа,
  • генерации текста.

Reasoning-модель

Думает пошагово.

Дороже и медленнее, но:

  • меньше ошибок,
  • лучше для сложной логики.

Агент

Автономная система:

  • наблюдает,
  • рассуждает,
  • действует,
  • сохраняет состояние.

Может:

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

LLM — консультант.

Reasoning — аналитик.

Агент — инженер.


Контекстная инженерия важнее промтов

Промт — это последняя строка.

Контекст — всё остальное.

Пример с бронированием отеля показывает это наглядно:

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

Контекстная инженерия — это:

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

In-context, RAG и Fine-tuning: когда что использовать

In-context learning

  • быстро,
  • без обучения,
  • дорого при масштабе,
  • ограничено размером контекста.

RAG

  • масштабируемо,
  • актуальные данные,
  • сложнее инфраструктура,
  • зависит от качества retrieval.

Fine-tuning

  • знания «запекаются» в модель,
  • быстрее inference,
  • дорого и долго,
  • подходит для стабильных доменов.

Правильный путь:

  1. in-context,
  2. затем RAG,
  3. и только потом — fine-tuning.

Почему foundation models изменили всё

Обучать модель с нуля — сотни миллионов долларов.

Foundation models позволяют:

  • взять готовую базу,
  • адаптировать под задачу.

Есть:

  • закрытые модели (качество, но зависимость),
  • open-source модели (контроль, но ниже качество).

Ключевая мысль:

вы не учите модель понимать мир — вы учите её понимать вашу задачу.


Будущее: MCP, MoE и безопасность

  • MCP стандартизирует подключение агентов к системам.
  • Mixture of Experts активирует только нужные части модели.
  • AI Security становится критичным: prompt injection, shadow AI, supply chain атаки.

Большинство AI-проектов ломаются не из-за качества моделей, а из-за отсутствия архитектуры и безопасности.


Итог

LLM — это не магия.

Это сложная, но понятная инженерная система.

Токены, attention, контекст, кэш, агенты, RAG — это не теория.

Это инструменты, которые:

  • снижают стоимость,
  • повышают стабильность,
  • делают системы предсказуемыми.

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

Вы становитесь инженером, который осознанно строит AI-системы.

Полезные статьи и обсуждения тут

По теме