Чат-бот отвечает. Агент действует. Между ними не «более умная модель», а архитектура: инструменты, память и цикл, который гоняет модель, пока задача не решена. Без этих блоков LLM остаётся болтуном — полезным, но болтуном.

Слово «AI-агент» сейчас вешают на что угодно: GPT-обёртку в Telegram, FAQ с шаблонами, RAG-помощника и систему, которая сама лезет в файлы, БД и API. Из-за этого тарифы слипаются. За агента продают чат-бота. За чат-бота берут деньги как за агента. Ниже — критерии, а не слоган.

  • 1
    Проход у чат-бота

    Один вызов модели, один текст на выходе. Состояние само не живёт.

  • N
    Итераций у агента

    Пока задача не решена или не сработал стоп: лимит шагов, бюджет токенов, «готово».

  • 4
    Блока архитектуры

    LLM + Tools + Memory + Loop. Уберёшь любой — получится чат-бот или сломанный скрипт.

Ещё по теме на PLai: как подготовить репозиторий к агентам, Cursor с нуля, Claude из России. Лента только про агентов — в теме AI-агенты.

Зачем это различать

Поисковик, продавец и инженер говорят одно слово и имеют в виду разные машины.

Называют агентомЧто это на самом делеОдин проход?Сам вызывает инструменты в цикле?
GPT в Telegram / на сайтеЧат-ботДаНет
FAQ с готовыми ответамиСкрипт с шаблонамиДаНет
«Умный поиск по базе»RAG-чат-ботОбычно даРедко, и то один раз
Function calling без петлиМодель + одна функцияДаОдин вызов, не цикл
Claude Code, Cursor Agent, DevinАгентНетДа

Разница не в маркетинге. У чат-бота простая экономика: один запрос — один ответ. У агента — N вызовов модели, N обращений к файлам и API, риск зациклиться и сжечь бюджет. Поддержка тоже разная: бота чинят промптом, агента — набором инструментов, политикой памяти и стоп-условием.

Чат-бот: один проход

Чат-бот — функция. Получил текст, прогнал через модель, вернул текст. После ответа состояние теряется, кроме истории сообщений, которую вы сами прикладываете к следующему запросу.

  1. 01Пользователь
  2. 02Промпт
  3. 03LLM
  4. 04Ответ

Модель не открывает файлы, не пишет в БД, не вызывает API. Она генерирует токены. Даже если справа в интерфейсе красивая «нейросеть», внутри это f(prompt) → text.

Так устроен обычный ChatGPT без режима агента, большинство GPT-обёрток и «AI на сайте компании», который отвечает из подсказанного контекста. Это не плохо. Это другой класс системы. Разбор корпоративного варианта — в материале не ещё один чат-бот.

Агент: цикл, а не функция

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

  1. 01Задача
  2. 02Think — шаг
  3. 03Act — инструмент
  4. 04Observe — результат
  5. 05Обновить состояние
  6. 06Снова Think или ответ

Anthropic отдельно отделяет агента от workflow. Workflow — заранее прошитая цепочка: шаг 1, шаг 2, шаг 3, модель не выбирает маршрут. Агент сам выбирает, какой инструмент дернуть и сколько кругов сделать. Цитата из Building effective agents: агенты — «обычно просто LLM, которые используют инструменты по обратной связи среды в цикле». Стоп ставят явно: задача решена, нужен человек, кончился лимит итераций.

Модель здесь — policy engine: она выбирает действие. Цикл — runtime: без него политика не исполняется во времени.

Четыре блока: LLM, инструменты, память, цикл

Когда инженеры из Anthropic, OpenAI, LangChain и независимые разработчики описывают агента, набор сходится. Формула одна.

Agent = LLM + Tools + Memory + Loop

Мозг, руки, блокнот и петля решений.

  • 01 Мозг
    LLM

    На каждой итерации смотрит на состояние и выбирает шаг: ответить пользователю, вызвать инструмент, уточнить, остановиться. Модель взаимозаменяема: Claude, GPT, Gemini, Grok. Агент остаётся агентом.

  • 02 Руки
    Tools

    Функции во внешний мир: файлы, код, API, БД, браузер. Без них модель только говорит. В Claude Code это Read, Write, Edit, Bash, Grep, Glob, WebFetch; снаружи — MCP (GitHub, Notion, Slack).

  • 03 Блокнот
    Memory

    Короткая — контекстное окно сессии. Длинная — файлы, JSON, векторные БД, заметки. Агент сам решает, что записать и что подтянуть.

  • 04 Runtime
    Loop

    Управляющая программа, которая снова зовёт модель, пока задача не решена. Без цикла LLM с десятью функциями — однопроходный function calling.

Убери мозг — останется скрипт. Убери руки — чат-бот. Убери память — агент с амнезией, который каждый раз начинает с нуля. Убери цикл — даже «агент с инструментами» сделает один ход и замолчит.

Модель не священна. Меняете Claude Opus на Sonnet или GPT — меняется качество решений, не класс системы. Класс задаёт обвязка.

Что происходит внутри цикла

Самый распознаваемый паттерн — ReAct (Reason + Act), Yao et al., 2022. Модель чередует рассуждение и действие: говорит, что собирается сделать, делает, видит результат, правит план.

  1. 01Think
  2. 02Act
  3. 03Observe
  4. 04Обновить план
  5. 05Пока не готово

На живом примере это выглядит так. Вы просите: «найди, где в src/ обрабатываются ошибки, и предложи рефакторинг». Агент не выдаёт эссе из памяти.

  1. Think. Нужно понять структуру репозитория.
  2. Act. Glob / Grep по src/.
  3. Observe. Список файлов и совпадений.
  4. Think. Ошибки, похоже, в src/lib/errors.ts и в роуте API.
  5. Act. Read этих файлов.
  6. Observe. Код.
  7. Think. Есть дублирование. Нужно проверить тесты.
  8. Act. Ещё один поиск.
  9. Ответ. План рефакторинга со ссылками на файлы — или, если вы разрешили, патч.

Каждый шаг — отдельный вызов модели с обновлённым контекстом. В Cursor это видно в панели агента: мысль, вызов инструмента, наблюдение, снова мысль. В Claude Code то же самое в терминале. Вы не обязаны кликать «теперь прочитай этот файл» — цикл крутится сам.

Другие имена того же семейства: Plan-and-Execute (сначала план, потом шаги), Reflexion (после ошибки явно записывает, что пошло не так). Суть одна: модель → действие → наблюдение → обновление состояния.

Два вида памяти

«У агента есть память» почти всегда сваливает в кучу две разные вещи. Они ломаются по-разному.

  • Короткая
    Working memory

    Всё, что сейчас в контекстном окне: диалог, свежие выводы инструментов, промежуточные заметки. Лимит окна: порядка 200K токенов у Claude, до 1M у Gemini. Чем длиннее, тем дороже и медленнее.

  • Длинная
    Persistent memory

    Живёт вне модели: `CLAUDE.md`, `NOTES.md`, JSON, векторная БД, документы. Загружается по запросу через инструменты, а не пихается в промпт целиком.

Типичный сбой короткой памяти — recency bias: модель цепляется за последние сообщения и забывает ранние ограничения. Лечат compaction (свернуть старое в саммари) и очисткой старых tool-результатов. Anthropic разбирает это в Effective context engineering for AI agents: контекст — конечный бюджет внимания, не склад.

Типичный сбой длинной памяти — свалка эмбеддингов без правил «что писать» и «когда читать». Паттерн, который держится: just-in-time context. Агент хранит ссылки и пути, а нужный кусок достаёт через grep/glob/SQL в момент шага. Стартовая инструкция (CLAUDE.md) — это не «вся память», это устав. Рабочий блокнот — отдельные заметки, которые агент сам ведёт.

Что чаще всего путают с агентом

Пять подмен. Если узнаёте свою систему — это не приговор, это точное имя.

ГоворятНа делеКак проверить
«У нас агент»RAG-чат-ботОдин проход: нашёл чанки, сгенерировал ответ, стоп
«Агент с десятью интеграциями»Function callingМодель выбрала одну функцию, отдала результат, цикла нет
«Память»Длинный system promptМежду сессиями ничего не записывается в файлы/БД
«Универсальный агент, который умеет всё»Франкенштейн из пересекающихся туловМодель не понимает, какой инструмент выбрать, токены горят
«Автономный агент в проде»Бесконечный циклНет лимита итераций, нет бюджета, нет условия «готово»

Anthropic прямо пишет: лучше curated minimal viable set of tools, чем «подключить все MCP сразу». Пересекающиеся инструменты — это не мощь, это шум в политике.

Второе, что путают: агент и workflow. n8n-флоу с вызовом LLM на шаге 3 — workflow. Он полезен и предсказуем. Он не выбирает маршрут сам. Назвать его агентом можно только в презентации.

Третье: ChatGPT с GPTs. Плагин и база знаний не делают цикл. Если модель один раз дёрнула действие и ответила — это function calling. Если сама крутит несколько шагов к цели — уже ближе к агенту. Смотрите логи, не название режима.

Что сделать прямо сейчас

Три упражнения. На каждое — полчаса. После них слоган «у нас агент» либо подтверждается, либо снимается.

1. Посмотрите живой цикл

Откройте свой репозиторий в Claude Code или в Cursor. Дайте задачу из двух-трёх шагов, не «напиши функцию с нуля».

bash
# в корне репозитория, если Claude Code установлен
claude "Посмотри src/, найди где обрабатываются ошибки, предложи рефакторинг. Файлы не меняй — только отчёт со ссылками."

Откройте панель инструментов. Должны появиться мысль → чтение файла → мысль → grep → ответ. Это и есть агент. Если модель сразу выдаёт абзац «возможно, ошибки обрабатываются где-то в src» без единого tool call — перед вами чат-бот в IDE.

2. Разберите чужой продукт на четыре блока

Возьмите Cursor, Devin, ChatGPT с GPTs, n8n-флоу, «AI-агента» с лендинга. Запишите:

  • где LLM;
  • какие инструменты (и есть ли они вообще);
  • где живёт память — окно чата или файлы/БД;
  • есть ли цикл без ваших наводящих вопросов.

Пустой пункт — это не агент. На PLai такие разборы уже были: вечный Codex, ChatGPT Work.

3. Три вопроса к своему боту

Скажите вслух, чего не хватает.

  1. Вызывает инструменты?
  2. Делает больше одного прохода без моих подсказок?
  3. Помнит что-то между сессиями — не потому что я вставил прошлый чат, а потому что сам записал?

Два первых «да» — уже агент в смысле Willison/Anthropic. Третье «да» — агент, который переживает перезапуск. Меньше двух — что-то другое. Не хуже. Другое. Называть вещи своими именами дешевле, чем платить за «агентность» обёртке.

Частые вопросы

Чем AI-агент отличается от чат-бота?

Чат-бот — один проход «текст → модель → текст». Агент в цикле вызывает инструменты, смотрит результат и сам решает следующий шаг, пока не достигнет цели или стоп-условия.

ChatGPT — это агент?

Обычный чат — нет. Режимы, где модель сама несколько раз вызывает инструменты (поиск, код, компьютер) и крутит задачу без вашего «а теперь сделай вот это», ближе к агенту. Смотрите, есть ли цикл, а не логотип.

RAG-система — это агент?

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

Function calling и агент — одно и то же?

Нет. Function calling — способность модели выбрать функцию. Агент — эта способность плюс цикл: вызвал, посмотрел, вызвал ещё, пока цель не закрыта.

Нужна ли агенту долгая память?

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

Claude Code и Cursor — агенты?

Да, в типичном режиме: модель сама читает и правит файлы, гоняет команды, смотрит вывод. Вы ставите цель и стоп (разрешения, лимиты), цикл крутит runtime IDE или CLI.

Сколько итераций нормально?

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

Можно ли собрать агента в n8n?

Можно собрать workflow с LLM на узлах — это не агент. Агент получится, если есть петля «модель выбирает следующее действие», а не заранее нарисованный граф. n8n хорошо оркестрирует предсказуемые цепочки; открытый цикл туда прикручивают отдельно.

Источники

Дата: 3 сентября 2026. Определения в индустрии ещё плывут, четыре блока и цикл уже нет.