Как работает ИИ-агент: токены, контекст и MCP на пальцах

Как работает ИИ-агент: токены, контекст и MCP на схеме БЛОГ

⚡️ Кратко: ключевые факты и быстрый ответ

  • ИИ-агент — это программа на базе большой языковой модели, которая сама разбивает задачу на шаги, вызывает внешние инструменты и проверяет результат, а не просто выдаёт текст в ответ на вопрос.
  • Под капотом работает цикл: модель получает контекст, строит план, вызывает функцию через MCP или обычный API, читает ответ и повторяет шаг, пока цель не достигнута.
  • Начинайте с узкого пошагового сценария на 2–3 инструментах и считайте стоимость в токенах на выполненную задачу, а не в количестве запросов.
  • Главный риск , не выдуманный ответ, а необратимое действие: давайте агенту минимально необходимые права, лимиты на операции и подтверждение опасных шагов.

Что такое ИИ-агент и чем он отличается от чат-бота

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

Чат-бот живёт в одном такте: пришёл запрос , ушёл ответ. Спросили про статус заказа, получили вежливый текст. Что делать дальше с этой информацией, решает человек.

Агент работает циклом. Модель (условный Claude Sonnet или Gemini Flash) получает цель, прикидывает план, дёргает инструмент , базу данных, CRM, почтовый шлюз, браузер , смотрит на результат и корректирует курс. И так до выполнения задачи или до упора в лимит шагов.

Критерий Чат-бот ИИ-агент
Единица работы одна реплика цель целиком
Доступ к системам обычно нет есть, через инструменты
Кто принимает решение человек модель, в рамках плана
Типичный сбой неточный ответ лишний или опасный вызов

Вторая разница — состояние. У бота контекст живёт в пределах диалога и умирает вместе с окном. У агента появляются память задачи, журнал вызовов и промежуточные артефакты: файлы, выгрузки, черновики писем. Именно поэтому вопросы прав доступа к инструментам выходят на первый план — мы разбирали это отдельно в материале про права доступа ИИ-агента.

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

Где это реально окупается? Там, где процесс рутинный, объёмный и хорошо формализован. По данным разбора на Хабре, агентов нельзя считать универсальным решением, как и весь ИИ, это инструмент под конкретный класс задач.

Прикладных примеров уже хватает: сортировка входящей почты с выделением важного, сверка накладных, маршрутизация заявок в поддержку, обновление карточек в CRM, работа с кодовой базой. В логистике агенты считают маршруты — подробнее в статье про оптимизацию цепочек поставок.

⚠️ Подводный камень: чем автономнее агент, тем дороже его ошибка. Размытые задачи без чётких критериев готовности он либо бросит на полпути, либо зациклится, сжигая токены. Сначала опишите процесс на бумаге , потом давайте доступ к продовым системам.

Как работает ИИ-агент: цикл «мысль , действие , наблюдение»

ИИ-агент работает циклически: модель формулирует мысль, оркестратор превращает её в вызов инструмента, результат возвращается в контекст как наблюдение, и так до готового ответа или исчерпания лимита шагов.

Никакой магии внутри нет. Есть языковая модель, которая на каждом витке получает обновлённый текст и решает, что делать дальше. Есть набор инструментов — поиск, база данных, CRM, браузер. И есть код-посредник, который связывает одно с другим.

Давайте разберём поток данных по шагам, чтобы стало совсем наглядно.

Шаг Что происходит Кто выполняет Что растёт в контексте
Мысль Модель читает системную инструкцию, историю и цель, выбирает следующий шаг LLM Токены рассуждения
Действие Формируется вызов инструмента с аргументами Оркестратор Описание схемы инструмента
Наблюдение Ответ внешней системы упаковывается и возвращается в диалог Инструмент + оркестратор Сырой результат, иногда сотни токенов
Проверка Модель решает: продолжать, уточнить или отвечать LLM Счётчик шагов

Системная инструкция — это не «промпт в вакууме», а рамка поведения. Она задаёт роль, формат ответа и границы: какие инструменты доступны, что запрещено, когда остановиться. Меняете одну строку здесь — меняется весь цикл.

💡 Инсайт: ограничивайте число витков явно. Без стоп-условия агент способен крутить инструменты бесконечно, а каждый виток — это повторная отправка всей истории в модель и рост счёта за токены.

Память делится на два уровня. Короткая живёт внутри контекстного окна — это текущая история переписки и результаты вызовов. Долгая хранится снаружи: в векторной базе, файле, реляционной таблице. Агент подтягивает оттуда только нужные фрагменты, иначе окно переполнится.

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

⚠️ Подводный камень: агент верит инструменту на слово. Если API вернул мусор или пустоту, модель может достроить вывод самостоятельно, и вы получите уверенный, но недостоверный ответ. Проверяйте ответы внешних систем на уровне оркестратора.

Стандарт MCP как раз об этом: он унифицирует подключение инструментов, чтобы оркестратор не писал отдельную обвязку под каждый сервис. А как не раздать агенту лишних прав , мы разбирали в материале про права доступа ИИ-агента.

В сухом остатке цикл простой, а вот инженерия вокруг него , сборка контекста, лимиты, проверки, и определяет, будет агент полезным или превратится в генератор счётов. Больше практических разборов архитектуры есть в материале Хабр про ИИ-агентов.

Токены, контекстное окно и память: где узкое горлышко

Узкое горлышко ИИ-агента — не модель, а контекстное окно: на каждом шаге цикла система заново отправляет промпт, всю историю и описания инструментов, поэтому расход токенов растёт линейно от числа шагов, а точность падает по мере заполнения окна.

Давайте на пальцах. Токен — это кусочек текста, который модель видит как единицу: для английского в среднем около 4 символов, для русского , 2–3 символа, потому что кириллица токенизируется мельче. Отсюда первая практическая неприятность: тот же смысл на русском стоит примерно в полтора-два раза дороже, чем на английском.

Теперь арифметика реального агента. Системный промпт — 1500 токенов. Двадцать пять инструментов с описаниями по 120 токенов — ещё 3000. История из 40 реплик и наблюдений по 700 токенов — 28 000. Итого около 32 500 токенов на каждом шаге. Двадцать шагов цикла, и через модель суммарно проходит порядка 650 000 токенов, хотя пользователь задал один вопрос.

⚠️ Подводный камень: контекст не «запоминается» между шагами — он переотправляется и оплачивается заново. Кэширование префикса промпта частично спасает: по документации провайдеров скидка на повторно используемую часть составляет от 50% до 90%. Но работает она только при неизменном начале запроса , вставьте динамическую метку времени в системный промпт, и кэш обнулится.

Второй эффект , деградация внимания. Исследование 2023 года про «потерянное в середине» показало: модели хуже извлекают факт из середины длинного контекста, чем из начала или конца. Окно на сотни тысяч токенов у флагманов не означает, что туда стоит грузить всё подряд.

Приём Что делаем Чем платим
Скользящее окно Держим последние N реплик, старое отрезаем Агент забывает договорённости из начала диалога
Суммаризация Заменяем историю краткой сводкой фактов и решений Теряются детали и точные формулировки
Поиск по базе знаний Подгружаем 3–5 релевантных фрагментов вместо всего корпуса Нужен индекс и корректная нарезка документов
Внешняя память Ключевые факты пишем в файл или блокнот агента Требуется явное правило записи и чтения

💡 Инсайт: самый дешёвый способ разгрузить контекст — сократить описания инструментов. Отключите неиспользуемые функции и перепишите схемы без примеров: экономия 2–3 тысячи токенов на каждом шаге даёт больше, чем любая оптимизация истории.

Если агент крутится локально, в дело вступает ещё и память самой модели: KV-кэш съедает видеопамять пропорционально длине контекста. Как с этим борются на домашнем железе, мы разбирали в материале про квантование LLM: GGUF и AWQ.

И трезвый вывод: агенты окупаются там, где процессы рутинные и хорошо формализованы — об этом подробно пишут на Хабре. Чем хаотичнее задача, тем длиннее история и тем быстрее вы упираетесь в потолок окна.

MCP: единый протокол подключения инструментов к агенту

MCP (Model Context Protocol) — открытый протокол, который задаёт единый способ подключать к ИИ-агенту внешние инструменты и данные: файлы, базы, корпоративные сервисы. Вместо десятка самописных коннекторов агент получает один стандартный интерфейс.

Боль до протокола была арифметической. Каждый агент (ChatGPT, Claude, Cursor, DeepSeek) и каждый источник данных требовали своей связки. Пять моделей на десять систем — это пятьдесят интеграций, которые надо поддерживать, версионировать и чинить после каждого обновления.

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

📌 Важно: MCP , не библиотека и не фреймворк. Это спецификация формата сообщений и правил, по которым агент узнаёт, какие действия ему доступны, и как их вызвать.

Под капотом три роли. Хост — приложение, где живёт агент. Клиент — прослойка внутри хоста, держащая соединение. Сервер — адаптер к файлам, базе или CRM. Транспортов два: stdio для локальных процессов и HTTP для удалённых подключений.

Сервер отдаёт три типа сущностей. Инструменты — действия, которые модель вызывает: найти заказ, создать задачу, отправить письмо. Ресурсы — данные только на чтение, подмешиваемые в контекст. Шаблоны запросов — заготовки, которые агент подставляет по просьбе пользователя.

Критерий Самописные коннекторы MCP
Интеграций при 5 агентах и 10 системах 50 15
Смена модели агента Переписываем адаптеры Ничего не меняем
Аудит доступа В каждом коннекторе свой Одна точка на сервер

Что это даёт на практике? Типовой сценарий: агенту нужно свести данные из CRM, файлового хранилища и внутренней базы знаний. Раньше на каждый источник писали коннектор под конкретную модель, а при смене линейки переделывали половину. Теперь три сервера, и переход с ChatGPT на Claude Sonnet не ломает ничего.

Экосистема в 2026-м уже не про эксперименты: поддержку заявили OpenAI, Google и Microsoft, из коробки протокол понимают Cursor, Windsurf и Claude Code. Прежде чем писать очередной адаптер, стоит проверить, нет ли готового сервера.

⚠️ Подводный камень: описание инструмента — тоже текст, и он попадает в контекст. Его можно подменить так, чтобы модель дёрнула не тот вызов. Второй риск — избыточные права сервера: он получает ровно тот доступ, который ему выдали. Как это ограничивать, разбирали в материале «Права доступа ИИ-агента: почему 120 вместо 100».

Практический минимум: каждый сервер — в своём контуре, права только на чтение там, где хватает чтения, а операции записи подтверждает человек. Где такие агенты уже окупаются, подробно разобрано в исследовании на Хабре.

В сухом остатке: MCP не делает модель умнее. Он убирает клеевой код и превращает подключение инструментов из ремесла в настройку, а это как раз то узкое место, где команды теряют недели.

Workflow или автономный агент: сравнительная таблица

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

Разница видна на первой же развилке. В жёстком сценарии вы заранее знаете, сколько шагов сделает система и какие инструменты вызовет. В автономном варианте количество итераций решает сама модель, и вместе с ним уплывает расход токенов.

Критерий Workflow (жёсткий сценарий) Автономный агент
Автономность Нулевая: ветки заданы человеком Высокая: план строит модель
Предсказуемость Повторяемый результат, тесты пишутся как на обычный код Один и тот же запрос может дать разные цепочки
Стоимость Считается заранее: число шагов умножаем на средний контекст Плавающая: зависит от длины цепочки и повторных попыток
Отладка Ломается в конкретном узле, лог читается построчно Ошибка может возникнуть на любом шаге планирования
Где уместен Обработка заявок, согласования, выгрузки в CRM Разбор неструктурированных задач, веб-исследование, код

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

💡 Инсайт: самый рабочий вариант — гибрид. Жёсткий конвейер обработки закрывает типовые ветки, а одна автономная развилка включается только там, где входные данные нестандартные. Так вы сохраняете смету под контролем и не теряете гибкость.

Отдельно про цену ошибки. Чем шире полномочия агента, тем дороже стоит неверный шаг — поэтому автономным сценариям нужен узкий набор прав, а не доступ «ко всему сразу». Как это ограничивать на уровне токенов и ролей, мы разбирали в материале про права доступа ИИ-агента.

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

Короткое правило выбора: если процесс можно нарисовать блок-схемой без знака «и тут модель подумает» — это workflow. Если ветвление непредсказуемо по своей природе, берите автономного агента и сразу закладывайте бюджет на повторные попытки.

Где ИИ-агенты уже дают эффект в бизнесе

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

Универсального решения не существует. Агент — инструмент под конкретную задачу, и это здравая мысль из обзора на Хабре: чем сильнее процесс похож на конвейер, тем быстрее он отбивает внедрение.

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

Поддержка. Типовые обращения, статусы заказов, восстановление доступа — здесь агент закрывает заметную часть потока и передаёт человеку сложные случаи с готовым контекстом. Критерий: есть база знаний и чёткие правила эскалации. Как это выглядит на голосовом канале, мы разбирали в материале про голосовой ИИ-бот на первой линии поддержки.

Кодовая база. Самое зрелое направление. У GitHub есть агент, который помогает работать с репозиторием и принимает решения по релизам, а Cursor, Claude Code CLI и GitHub Copilot Workspace закрывают правки, рефакторинг и разбор ошибок. Критерий: покрытие тестами и ревью — без них агент генерирует уверенный, но неверный код.

Документооборот. Извлечение полей из счетов и договоров, сверка реквизитов, маршрутизация по исполнителям. Критерий: стабильный формат входящих документов и человек на проверке спорных случаев.

Внутренние сервисы. Заявки, справочники, интеграция с 1С и учётными системами — агент сам собирает данные и оформляет действие. Критерий: узкие права доступа, о которых подробно в разборе почему 120 прав вместо 100 — это риск.

Направление Что автоматизируем Критерий пригодности Что оставить людям
Поддержка Типовые обращения, статусы Есть база знаний и правила эскалации Жалобы, нестандартные случаи
Кодовая база Правки, ревью, релизы Тесты и обязательное ревью Архитектурные решения
Документооборот Извлечение полей, сверка Однородный формат документов Спорные и редкие документы
Внутренние сервисы Заявки, интеграции с 1С Узкие права и журнал действий Изменения справочников, доступы

⚠️ Подводный камень: успешная демонстрация на десяти отобранных примерах ничего не говорит о работе на потоке. Перед запуском в продуктив прогоните агента на реальном архиве обращений и заложите мониторинг качества данных — иначе экономия на рутине обернётся разбором ошибок вручную.

💡 Инсайт: начинайте с процесса, у которого есть измеримый вход и выход: число обращений, документов, коммитов. Тогда эффект видно на второй неделе, а не «когда-нибудь потом».

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

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

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

Найденное заменяется на плейсхолдеры вида [КЛИЕНТ_1], а обратная подстановка происходит уже на стороне приложения, после ответа. Модель работает с абстракциями, реальные значения остаются внутри вашего контура.

⚠️ Подводный камень: если заменить вообще всё, агент перестанет видеть связь между сущностями и начнёт путать клиентов. Маскировать нужно избирательно, а редкие уникальные значения вроде номера договора лучше вообще не отдавать модели — такие поля подставляйте в готовый шаблон ответа уже после генерации.

Второй контур — собственный шлюз. Все запросы к моделям, внутренним API и базам идут не напрямую из кода агента, а через одну точку: шлюз на базе LiteLLM или Kong. Там же живут ключи, квоты, кэш и журнал вызовов.

Смысл простой: ключи не размазаны по репозиториям, а подозрительную активность видно в одном месте. Главное — не писать в журнал сырой текст промпта, иначе логи превращаются в новую утечку.

Контур защиты Что даёт Где рвётся на практике
Маскирование на входе Из промпта уходят персональные данные Тотальная замена ломает логику рассуждений
Шлюз исходящих вызовов Одна точка логирования и квот Логи с сырыми данными сводят эффект на нет
Разграничение прав Агент видит только нужные системы Широкая сервисная учётка, выданная «на время»
Лимиты на действия Потолок по шагам и стоимости задачи Цикл повторов выжигает бюджет за минуты

Третий слой — права. По умолчанию агент получает доступ только на чтение, а на запись открыты лишь конкретные методы из белого списка. Отдельная сервисная учётка на каждую задачу и подтверждение человеком для необратимых операций — не паранойя, а база. Как считать такие права без ошибок, разбирали в материале про 120 вместо 100 разрешений.

💡 Инсайт: задавайте лимит не только по числу шагов, но и по стоимости в токенах на одну задачу, плюс аварийную кнопку остановки. Агент, который «задумался» на цикле из двадцати итераций, иначе просто выключит вам бюджет.

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

Часто задаваемые вопросы (FAQ)

Чем ИИ-агент отличается от обычного чата, если модель внутри одна и та же?

Тем, что появляется цикл. В чате модель получает вопрос и выдаёт текст, и на этом всё заканчивается. В агенте она получает цель плюс список доступных инструментов с описаниями, а вместо ответа выдаёт вызов инструмента в структурированном виде.

Дальше среда исполняет вызов, кладёт результат обратно в контекст, и модель снова думает. И так по кругу, пока задача не закроется. Тот же Claude Sonnet или Gemini Flash в чате работает генератором текста, а в агенте — ещё и планировщиком, который сам решает, какой инструмент дёрнуть следующим.

Отсюда простая истина: агент не «умнее» модели, на которой он собран. Он просто умеет действовать и видеть последствия своих действий.

📌 Важно: Ключевой узел агента — не модель, а качество описаний инструментов. Кривая инструкция к одному вызову ломает весь сценарий, даже если внутри стоит флагман вроде GPT-6.1 Sol.

Почему к середине задачи агент начинает путаться и повторять одно и то же?

Потому что контекстное окно забивается мусором. Каждый шаг дописывает в историю сырые ответы инструментов — куски HTML, портянки из логов, полные JSON-ответы. К десятому шагу модель тонет в этом добре, а информация из середины контекста читается хуже всего.

Что делать на практике? Обрезать ответы инструментов до нужных полей, а не сыпать всё подряд. Суммировать пройденные этапы вместо хранения полной стенограммы. Выносить состояние задачи во внешний файл или базу и подтягивать его по необходимости.

И не пытайтесь запихнуть в один прогон работу на тридцать шагов. Длинную задачу надёжнее разбить на подзадачи с чистой историей у каждой.

Что такое MCP и зачем он нужен, если есть обычные API?

MCP (Model Context Protocol) — открытый протокол подключения инструментов и данных к модели по единому стандарту. Проще говоря, это разъём, в который вставляется всё: файловая система, база, CRM, внутренний сервис.

API сам по себе ничего не говорит модели о том, когда и как его вызывать. Раньше под каждую пару «модель — система» писали свой коннектор с описанием вызовов. Теперь достаточно поднять один сервер MCP, и его подхватит любой совместимый клиент.

Экономия выходит двойная: меньше кода на интеграции и меньше расхождений в поведении между разными агентами в компании.

Но есть нюанс, о котором забывают. Описания всех инструментов MCP-сервера тоже уезжают в контекст на каждом шаге, и оплачиваются как обычные токены.

⚠️ Подводный камень: Подключив десяток MCP-серверов «на всякий случай», вы забиваете контекст описаниями инструментов, которые в 90% прогонов не понадобятся. Держите активным только то, что нужно текущему сценарию.

Сколько токенов реально съедает один прогон агента?

Больше, чем кажется. На каждом шаге в модель заново уходит вся история: инструкции, описания инструментов, предыдущие вызовы и их результаты. Контекст растёт, и расход растёт вместе с ним.

Прикинем на пальцах. Прогон из восьми шагов, где контекст увеличивается с 2 до 9 тысяч токенов, суммарно отправит на вход около 44 тысяч токенов. Обычный вопрос в чат — это те же 2 тысячи. Разница в двадцать с лишним раз, при том же результате на выходе.

Точные суммы зависят от модели и тарифа, поэтому не полагайтесь на прикидки — считайте по факту. Что реально помогает: кэширование неизменной части запроса, короткие описания инструментов, жёсткий лимит на число шагов и остановка цикла, если агент пошёл по второму кругу.

💡 Инсайт: Поставьте агенту лимит в 10–12 шагов и логируйте, на каком шаге он чаще всего упирается. Если сценарии стабильно упираются в потолок — проблема не в модели, а в том, что задачу пора дробить.

Как безопасно дать агенту доступ к внутренним системам?

Начните с отдельного сервисного аккаунта и минимальных прав. По умолчанию — только чтение. Всё, что меняет данные или отправляет письма наружу, проходит через подтверждение человеком.

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

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

💡 В сухом остатке: главное

Рынок технологий движется с бешеной скоростью. Не ведитесь на маркетинговый хайп: всегда тестируйте модели на реальных сценариях вашей команды и замеряйте финальную окупаемость.

Чек-лист для внедрения на практике:

  • ✅ Опишите одну рутинную и хорошо формализованную задачу с измеримым результатом вместо «сделайте нам агента».
  • ✅ Соберите минимальный набор инструментов: 2–3 функции с понятными схемами параметров и понятными ошибками.
  • ✅ Ограничьте контекст: системная инструкция, краткая история и подгрузка нужных данных через поиск по базе знаний.
  • ✅ Введите журналирование каждого шага, лимит итераций и стоимость в токенах на одну задачу — без этого пилот не масштабируется.

Обсудить материал и поделиться своими бенчмарками можно в комментариях к блогу.

Редактор
Оцените автора
Добавить комментарий

Отправляя данную форму вы соглашаетесь с политикой конфиденциальности сайта