Интерактивный курс · агенты · теория

Как ИИ использует инструменты

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

Все демо на странице — симуляция: реальных запросов к модели нет, ответы заложены заранее.

LIVE · agent trace● running
01 Общая картина

Не ответ, а цикл действий

LLM отвечает за один проход: вопрос → текст. Агент крутит цикл: получил задачу → подумал → вызвал инструмент → посмотрел на результат → решил, достигнута ли цель. Если нет — цикл повторяется. Нажмите «Запустить агента» и проследите его шаги.

Задача: «Сколько дней осталось до Нового года?» — однако модель не знает сегодняшнюю дату.
🎯 Задача + контекст
цель и всё, что уже произошло
🧠 LLM рассуждает
обычная генерация токенов
🔧 Вызов инструмента
модель пишет структурный вызов
⚙️ Выполнение
код запускается вне модели
👁 Наблюдение
результат добавляется в контекст
✅ Цель достигнута?
ответить или пойти на новый виток
⟲ нет — наблюдение возвращается в контекст, цикл повторяется
Внутри агента нет никакой магии — это та же LLM, предсказывающая токены. Просто часть токенов интерпретируется не как текст для человека, а как команды, которые внешний код исполняет и возвращает результат обратно в контекст.
02 Инструменты

Агент сам решает, что делать

Агенту описывают набор инструментов: имя, назначение, параметры. Дальше модель сама выбирает, нужен ли инструмент и какой именно. Задайте разные вопросы и посмотрите, что выберет агент.

Вопрос
🔍web_searchпоиск в интернете
🧮calculatorточная арифметика
📁read_fileчтение файлов с диска
📧send_emailотправка писем
🐍run_pythonзапуск кода
Диалог агента
Выберите вопрос и нажмите «Спросить агента»…
Инструменты закрывают слабости LLM — она не знает нового (поиск), ошибается в арифметике (калькулятор, код) и не может реализовываться в окружающем мире (файлы, почта, API). Заметьте: на вопрос про столицу Франции агент не тратит вызов — знание уже в весах модели.
03 Под капотом

Инструменты выполняет сама система, а не модель

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

Контекст
🧠 LLM
только предсказывает токены. Не видит интернет, диск, часы. Не может ничего выполнить.
ждёт входные токены…
⚙️ Обёртка (код приложения)
обычная программа на Python/JS: собирает контекст, парсит ответы модели, выполняет функции, решает, что разрешено.
цикл while не запущен…
🌍 Мир
интернет, файловая система, базы данных, API — всё, к чему у обёртки есть настоящий доступ.
никто не стучался…
Вопрос пользователя: «Какая погода в Париже?». Нажмите «Запустить обмен».
👩‍💻 Разработчик

Основной случай: инструмент — это обычная функция + текстовое описание для модели. Можно написать свой.

📦 Продукт

Готовые инструменты зашиты в приложение: например, в Claude Code инструменты Bash, Read, Edit написаны его командой.

🔌 MCP

Открытый стандарт (Model Context Protocol): компания публикует MCP-сервер — Почта, GitHub, база данных — и любой агент подключает его инструменты без переписывания кода.

☁️ Провайдер API

Часть инструментов (например, серверный веб-поиск) выполняется прямо на стороне провайдера модели. Но принцип тот же: модель просит выполнить запрос внешнюю систему.

Раз выполняет обёртка — то это она решает, какие инструменты дать, валидирует аргументы, спрашивает подтверждение у человека, запускает код в песочнице. Модель физически не может сделать больше, чем разрешил код вокруг неё. Если агент удалил все файлы, то это ошибка того, кто создал инструмент удаления.
04 Паттерн ReAct

Мысль → действие → наблюдение, виток за витком

Настоящие задачи не решаются одним вызовом. Агент строит план по ходу дела: каждое наблюдение меняет следующую мысль. Это паттерн ReAct (Reason + Act). Прощёлкайте многошаговую задачу кнопкой «Шаг» — или запустите авто-режим.

Задача
Обратите внимание, что план нигде не был записан заранее. На витке 2 агент реагирует на то, что увидел на витке 1. То есть агент справляется с задачами, где путь к решению заранее неизвестен. Обычный скрипт с жёсткой последовательностью шагов здесь бы сломался.
05 Сравнение

Одна задача — две системы

Слева обычная LLM: один проход, только знания из обучения. Справа агент: та же модель, но с инструментами и циклом. Запустите обе на одной задаче и сравните — именно на таких задачах видно, зачем агенты нужны.

Задача

Просто LLM — один проход

…

Агент — LLM + инструменты + цикл

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

Оркестратор и команда исполнителей

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

Задача: «Подготовь обзор: стоит ли нам переходить на электромобили для курьерской доставки?»
🧭 Оркестратор ждёт задачу…
🔍 Агент-исследователь
—
🧮 Агент-аналитик
—
⚖️ Агент-критик
—
⤵ оркестратор собирает результаты
Итоговый ответ появится здесь…
Зачем делить: у каждой LLM ограниченное контекстное окно — один агент «тонет» в большой задаче. Разделение даёт параллельность, специализацию (у критика и исследователя разный промпт) и изоляцию ошибок. Минус — координация сама становится задачей: агенты могут дублировать работу, противоречить друг другу и даже заниматься бесполезной деятельностью (как настоящие люди).
07 Экономика токенов

Агент платит за контекст снова и снова

Как мы уже выяснили, модель не хранит состояние между вызовами — на каждом витке обёртка пересылает весь накопленный контекст заново. Каждое наблюдение оплачивается повторно на всех последующих витках, и стоимость растёт очень быстро. Подвигайте ползунки и сравните одиночного агента с командой. А что такое input/output-токены и кэш — в части про LLM.

Витков n = 20 Наблюдение, токенов 800
Накопленная стоимость (токены-эквиваленты) по виткам
одиночный агент оркестратор + 3 исполнителя
Итог за всю задачу · тыс. токенов-эквивалентов
—
одиночный
—
команда 3+1
—
дороже ответа чата
Оркестрация не экономит токены сама по себе — у каждого агента свой системный промпт, задачу приходится пересказывать, результаты — сшивать. Экономит изоляция контекстов: тяжёлые наблюдения оседают в коротких контекстах исполнителей и не пересылаются повторно в общей истории. Поэтому при лёгких наблюдениях и коротких задачах команда дороже одиночки, а при тяжёлых и длинных — заметно дешевле. По данным Anthropic, агент тратит примерно ×4 токенов от обычного чата, а мультиагентная система — около ×15 — поэтому мультиагентность оправдана только там, где ценность результата покрывает цену. Кэш промпта работает в обоих случаях и срезает переплату за префикс в разы.
08 Decision Models

Возможность просто выбрать

Генерация текста — это классификация, повторённая много раз: на каждом шаге LLM выбирает следующий токен из десятков и сотен тысяч вариантов. Даже чтобы выбрать одну очередь из четырёх, LLM с рассуждением делает сотни таких шагов подряд. Decision Model выбирает сразу среди смысловых вариантов ответа, а не среди токенов. На вход подается контекст и типизированные вопросы, на выход модель выдаёт вероятности каждого допустимого ответа. Это за один проход сети - поэтому значительно быстрее и эффективнее.

LLM-роутер промпт + тикет→ токен → токен → … ×300→ парсим JSON→«наверное, биллинг» ≈ 2–5 с · уверенность неизвестна
Decision Model тикет + вопросы→ один проход→ биллинг 96% · техподдержка 2% · … ≈ 0,04–0,5 с
Тикет
Порог уверенности 0.90
Состояние · входящее письмо
Ответ модели · 4 вопроса за один вызов
10 000 тикетов в месяц · при текущем пороге
—
разобрано без эскалации
—
точность на них
—
в месяц, DM + откат
—
всё через LLM
Иллюстрация взята из тестов Jev на роутинге. Цены: decision model ≈ $0,04 за млн входных токенов; LLM-роутер — 1000 токенов на вход и 300 на выход по $3 / $15 за млн. Эскалированный тикет разбирает уже LLM.
Точность «в среднем» мало что говорит: важно, насколько честно модель оценивает свою уверенность (калибровка) и какую долю решений она берёт на себя при нужной вам точности (coverage). Сравнивать модели надо по стоимости правильного решения на вашем пороге.

Где ещё можно применять

Везде, где ответ — выбор из известного списка, а решений много. Кликните по карточке.

🧭Следующий шаг агента ▸
«Какой инструмент вызвать?» (choice), «задача решена?» (да/нет), «нужен ли уточняющий вопрос?». Большая LLM остаётся там, где нужно писать текст или код, а развилки цикла берёт на себя быстрая модель.
📨Триаж и роутинг ▸
Тикеты, письма, лиды, заявки — по очередям, срочности и флагам. Это основной пример в документации Perplexity Decisions API: первый проход делает decision model, сложные случаи уходят к агенту. Сюда же относится выбор, какой LLM отдать запрос: дешёвой или флагманской.
🛡Guardrails ▸
Проверка каждого входа, выхода и вызова инструмента: есть ли prompt injection, утекают ли персональные данные, соответствует ли вызов тому, о чём просил пользователь. Проверки дешёвые, поэтому их можно запускать на каждом шаге, а не выборочно.
⚖Судья для ответов агента ▸
Оценка по рубрике (score) вместо LLM-as-judge. В тесте из статьи на Хабре на 500 примерах Jev совпал с разметкой человека в 100% случаев за $0,00035, Claude Sonnet — в 80% за $0,028. Это один тест, на ваших данных результат может быть другим.
🔎Реранкинг в RAG ▸
Поиск по эмбеддингам или BM25 даёт короткий список, а decision model оценивает каждую пару «вопрос — фрагмент» и отправляет в контекст LLM только релевантное. Контекст короче, поэтому ответ дешевле и точнее.
🗂Разметка больших массивов ▸
Пройтись по 500 тыс. отзывов или транзакций с вопросом «есть ли запрос на возврат?» стоит порядка $20. Уверенные ответы считаются автоматически, неуверенные отправляются на выборочную проверку человеком.
🧪Семантический линтинг в CI ▸
«Нарушает ли изменение наш гайдлайн?», «говорит ли текст ошибки пользователю, что делать дальше?». При высокой уверенности проверка падает, при сомнении выдаёт предупреждение. Стоит копейки даже на каждом коммите.
🎮Реалтайм и игры ▸
Там, где нужен ответ за доли секунды: NPC в играх, решения в интерфейсе, модерация потока. Perplexity показывала, как pplx-decider играет в шахматы по скриншоту доски, около 140 мс на ход.

Разные архитектуры моделей

За пару недель несколько компаний выпустили свои decision models. Интерфейс у всех почти одинаковый, но при этом разнится архитектура.

МодельКак устроенаКонтекст$ / млн вх.
JevTypeSafeЗакрытая. Первая модель класса, назвала его «System One» — быстрое интуитивное мышление32K0,042
Clef / Clef-flashCloudflareQwen с LoRA-адаптерами и выходным слоем-оценщиком, понимает картинки. Открытые веса64K0,24
pplx-deciderPerplexityQwen 27B, слой генерации текста заменён прямым выходом на 255 вариантов. Открытые веса262K0,04
Strands Decider 2BAWSQwen 2B + pointer-head (~1 млн параметров) сравнивает вопрос с вариантами. Работает на CPU4Kсвой сервер
LayaConvaiЭнкодер ModernBERT (~0,4 млрд). Самая быстрая (33 мс), но проседает на десятках классов0,5–1Kсвой сервер
GLiDEFastinoГибрид: быстрый ответ, а при низкой уверенности включается рассуждение40K0,30

Данные на момент публикации обзора, рынок меняется быстро. Источники: разбор на Хабре · Perplexity Decisions API · Cloudflare Clef

Когда не подходит. Если нужен текст, код или обоснование решения — то одной вероятности мало. Типизированный ответ защищает от сломанного JSON, но не от неверного ответа. Цифры вендоров считаются на их собственных бенчмарках, поэтому перед внедрением лучше проверить на своем датасете, откалибровав и подобрав порог.
09 Итоги

Плюсы, минусы, когда применять

Агент — это компромисс между автономностью, предсказуемостью, скоростью и ценой. Кликните по карточкам, чтобы раскрыть детали.

✦ Сильные стороны

Доступ к актуальному миру ▸
Знания LLM заморожены датой обучения. Поиск, API и базы данных дают агенту сегодняшние цены, курсы, новости и содержимое ваших файлов.
Точность там, где LLM слаба ▸
Арифметика, работа с датами, обработка больших таблиц — модель делегирует это калькулятору и коду, а не «прикидывает» токенами. Ошибки типа 847×236 ≈ «где-то 200 тысяч» исчезают.
Реальные действия, а не советы ▸
Агент не объясняет, как отправить отчёт, — он его формирует и отправляет. Разница между справочником и сотрудником.
Задачи без готового плана ▸
Цикл «посмотрел → скорректировал» позволяет решать задачи, где следующий шаг зависит от результата предыдущего: отладка, исследование, миграции данных.
Самопроверка ▸
Агент может прогнать тесты, перечитать свой результат, сверить цифры с источником — и исправиться до того, как ответ увидит человек.

✧ Слабые стороны

Накопление ошибок ▸
Шаги ненадёжны, а вероятности перемножаются: модель, верная на 95% за шаг, на 20 шагах доходит до конца без ошибки лишь в трети запусков. Один неверно понятый результат уводит все последующие шаги в сторону.
Цена и скорость ▸
Каждый виток — новый вызов LLM с растущим контекстом (раздел 07): задача «на 20 шагов» стоит в десятки раз дороже одного ответа и занимает минуты, а не секунды.
Непредсказуемость ▸
Один и тот же запрос может пойти разными путями. Для регулируемых процессов это проблема: сложно тестировать, сложно сертифицировать.
Безопасность ▸
Агент с правом писать файлы и слать письма — это новые риски: от случайного удаления до prompt injection, когда вредоносный текст на веб-странице «перехватывает» инструкции агента.
Галлюцинации никуда не делись ▸
Инструменты заземляют факты, но интерпретирует результаты всё та же LLM: она может неверно прочитать таблицу или уверенно сослаться на то, чего в наблюдении не было.
Агент оправдан, когда…
  • путь к решению заранее неизвестен (отладка, исследование)
  • нужны свежие или закрытые данные (API, файлы, базы)
  • задача многошаговая, но каждый шаг проверяем
  • цена ошибки умеренная или есть человек-контролёр
Агент избыточен, когда…
  • хватает одного ответа модели (перевод, суммаризация, идеи)
  • процесс жёстко фиксирован — обычный скрипт надёжнее и дешевле
  • нужна маленькая задержка или строгая воспроизводимость
  • ошибка критична, а контроля человека нет

Агент — не универсальный молоток

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

ЗадачаХватитПочему не агент
Роутинг обращенийтикет → очередь, запрос → модель decision model эмбеддинги Нужен один выбор из известного списка, исследовать нечего. Decision model отвечает вероятностями (раздел 08), эмбеддинги — близостью к примерам каждой очереди
Поиск по инцидентам«такое уже было? как чинили?» эмбеддинги Задача — найти похожие случаи, а не действовать. Семантический поиск находит их за миллисекунды, а прочитает выдачу дежурный
Дубли и кластерыодинаковые жалобы, темы обращений эмбеддинги Это геометрия, а не рассуждение: близкие векторы — дубли, плотные группы — темы. Миллионы записей обрабатываются крайне быстро
Модерация и guardrailsтоксичность, PII, prompt injection decision model Вопрос «да/нет» на каждом сообщении. Нужны скорость и порог уверенности, цикл действий здесь не нужен
Ответ по базе знанийFAQ, регламенты, документация эмбеддинги + 1 вызов LLM Путь известен заранее: найти фрагменты и ответить по ним. Это RAG, один проход без витков
Перевод, саммари, черновик 1 вызов LLM Всё нужное уже есть в запросе, внешний мир не нужен
Фиксированный процессвыгрузка, отчёт по расписанию скрипт Шаги известны и не меняются, а код надёжнее, дешевле и воспроизводим
Разбор нового инциденталоги, гипотезы, проверки агент Вот здесь агент нужен: следующий шаг зависит от того, что нашлось на предыдущем. А эмбеддинги и decision models становятся его быстрыми инструментами
Попробуйте сами Имитация сервис-портала с заявками и карточками Поиск по смыслу, роутинг заявок, проверка на пароли в тексте и прочее.
→
Попробуйте сами Настоящий крошечный агент — прямо в вашем браузере
→