Для кого эта статья: для тех, кто только начинает знакомство с миром AI и хочет понять, что происходит «под капотом» – LLM, агенты, tooling и MCP.
Стиль: я сознательно опускаю сложные детали, чтобы сохранить простоту и дать ясную общую картину.
Введение – что перед нами и зачем это понимать
Итак – что такое любой AI-чат? По сути это клиент-серверное приложение: клиент – это фронтенд (веб-форма с чатом), сервер – бэкенд с API. Бэкенд общается с главным компонентом – большой языковой моделью (LLM, Large Language Model). LLM умеет предсказывать продолжение текста: вы даёте prompt (входное сообщение), модель «додумывает» ответ – и вы получаете сгенерированный текст.
Я намеренно не углубляюсь в математические детали – цель статьи дать понятную картину, а не учебник по нейросетям.
Как работает LLM в двух предложениях
Очень просто: во время обучения модель «смотрит» на огромные корпуса текста, находит статистические закономерности и запоминает их в виде внутренних числовых параметров. При помощи этих параметров модель предсказывает, какие слова наиболее вероятны дальше. Пример: «Я дотронулся до раскалённого металла и…» – наиболее вероятное продолжение будет «…получил ожог».

Важно: модель не «понимает» мир как человек – она опирается на статистику и паттерны.
Векторы и токенизация – почему текст не напрямую
На входе и выходе с моделью работают не «слова», а их цифровые представления – токены и векторы (embeddings, токенизация/декодирование). Кто-то (инфраструктура или библиотека) конвертирует ваш текст в числа, передаёт их в модель, а модель выдаёт числа, которые преобразуют обратно в текст.
Это часть технической магии, но для понимания важна идея: LLM оперирует числами, а не «буквами».
Память – где хранится история беседы
LLM сама по себе не хранит постоянной «памяти» разговоров между сессиями. Чтобы создать эффект памяти, бэкенд обычно при каждом запросе отправляет в модель историю сообщений (контекст). То есть «память» – это задача бэкенда: сохранять, подготавливать и при необходимости сокращать/подменять контекст.
Модель может чего то не знать и как это решается
Если вы спросите у модели «Какая сейчас погода?» или «Какой сегодня день?», модель может:
-
честно ответить «не знаю» (если это предусмотрено),
-
или «галлюцинировать» – выдать вымышленный ответ.
Решение – дать модели доступ к внешним инструментам (tooling): интернет-поиск, запрос к календарю, запуск небольшого кода и т. п. Тогда модель научится просить: «вызовите этот инструмент» – и опираясь на реальный результат даст корректный ответ.
Tooling – что это и как выглядит на практике
Tooling – это набор инструментов, которые LLM может «вызвать» для выполнения задач вне её статистических знаний: поиск в сети, получение времени, генерация изображений, взаимодействие с БД, выполнение кода и т.д.
На практике при каждом запросе в контекст модели добавляют описание доступных функций: имя, назначение, аргументы. Пример (упрощённо):
{
"name": "getDate",
"description": "Возвращает текущую дату"
}
Поток обмена может выглядеть так:
Пользователь: Какой сегодня день?
LLM: Мне нужен результат функции getDate()
Фреймворк/бэкенд: вызывает getDate() → "01/01/2025"
LLM: Сегодня первое января 2025 года
Фреймворки вроде LangChain, CrewAI, Spring AI и др. помогают программистам автоматически формировать контекст, сериализовать вызовы функций и обрабатывать ответы – чтобы разработчику не писать всю эту рутину вручную.
MCP (Model Context Protocol) – зачем он нужен
MCP – это попытка стандартизировать «язык общения» между LLM и инструментами. Если tooling – это конкретные функции в конкретном бэкенде, то MCP – общий формат/протокол, который позволяет описывать инструменты в стандартном виде, обмениваться ими и переиспользовать.
Идея в том, что разработчик может описать инструменты один раз (в отдельном проекте/зависимости), а разные бэкенды и агенты будут подключать этот набор без постоянной «перепайки». Существуют публичные реализации и репозитории с примерами описаний таких инструментов.
Чем отличается AI-чат от AI-агента
Разницы по структуре немного, но есть акцент:
AI-чат – интерфейс для общения: фронтенд, бэкенд, LLM и набор инструментов (tooling/MCP). AI-агент – более «умная» реализация, где сверху может быть написана логика на коде, решающая бизнес-задачи: оркестрация вызовов моделей, автоматизация сценариев, использование RAG (retrieval-augmented generation) для подстановки релевантной информации в контекст и т. д.
Проще: агент – это чат + программная логика, которая принимает решения и действует от имени пользователя.
Пример архитектуры (кратко)
AI-чат обычно состоит из:
-
фронтенд-приложения (веб-интерфейс с чатом),
-
бэкенда (API чата, хранение истории, управление контекстом),
-
LLM и внешних инструментов (tooling) – возможно обёрнутых в фреймворк и/или реализованных через MCP,
-
дополнительной «начинки» – других нейросетей (например, генерация картинок: DALL·E, Stable Diffusion и т. п.), в случае если чат не только про текст.

Заключение – без магии, с пониманием
В итоге: за «волшебным» ответом чата стоит вполне инженерная работа: подготовка контекста, токенизация/векторизация текста, вызовы внешних инструментов и обработка их результатов. Понимание этих трёх слов – LLM, tooling и MCP – даёт вам хорошую картину того, как современные чаты и агенты получают и формируют ответы.
Автор: Dred222


