Для кого эта статья: для тех, кто только начинает знакомство с миром 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 - даёт вам хорошую картину того, как современные чаты и агенты получают и формируют ответы.