Чат-бот отвечает. Агент действует. Между ними не «более умная модель», а архитектура: инструменты, память и цикл, который гоняет модель, пока задача не решена. Без этих блоков 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, риск зациклиться и сжечь бюджет. Поддержка тоже разная: бота чинят промптом, агента — набором инструментов, политикой памяти и стоп-условием.
Чат-бот: один проход
Чат-бот — функция. Получил текст, прогнал через модель, вернул текст. После ответа состояние теряется, кроме истории сообщений, которую вы сами прикладываете к следующему запросу.
- 01Пользователь
- 02Промпт
- 03LLM
- 04Ответ
Модель не открывает файлы, не пишет в БД, не вызывает API. Она генерирует токены. Даже если справа в интерфейсе красивая «нейросеть», внутри это f(prompt) → text.
Так устроен обычный ChatGPT без режима агента, большинство GPT-обёрток и «AI на сайте компании», который отвечает из подсказанного контекста. Это не плохо. Это другой класс системы. Разбор корпоративного варианта — в материале не ещё один чат-бот.
Агент: цикл, а не функция
Между запросом и финальным ответом у агента — много итераций. На каждой LLM смотрит на текущее состояние и решает следующий шаг: ответить, вызвать инструмент, спросить уточнение, остановиться. Получает наблюдение из внешнего мира, обновляет контекст, решает заново.
- 01Задача
- 02Think — шаг
- 03Act — инструмент
- 04Observe — результат
- 05Обновить состояние
- 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 RuntimeLoop
Управляющая программа, которая снова зовёт модель, пока задача не решена. Без цикла LLM с десятью функциями — однопроходный function calling.
Убери мозг — останется скрипт. Убери руки — чат-бот. Убери память — агент с амнезией, который каждый раз начинает с нуля. Убери цикл — даже «агент с инструментами» сделает один ход и замолчит.
Модель не священна. Меняете Claude Opus на Sonnet или GPT — меняется качество решений, не класс системы. Класс задаёт обвязка.
Что происходит внутри цикла
Самый распознаваемый паттерн — ReAct (Reason + Act), Yao et al., 2022. Модель чередует рассуждение и действие: говорит, что собирается сделать, делает, видит результат, правит план.
- 01Think
- 02Act
- 03Observe
- 04Обновить план
- 05Пока не готово
На живом примере это выглядит так. Вы просите: «найди, где в src/ обрабатываются ошибки, и предложи рефакторинг». Агент не выдаёт эссе из памяти.
- Think. Нужно понять структуру репозитория.
- Act.
Glob/Grepпоsrc/. - Observe. Список файлов и совпадений.
- Think. Ошибки, похоже, в
src/lib/errors.tsи в роуте API. - Act.
Readэтих файлов. - Observe. Код.
- Think. Есть дублирование. Нужно проверить тесты.
- Act. Ещё один поиск.
- Ответ. План рефакторинга со ссылками на файлы — или, если вы разрешили, патч.
Каждый шаг — отдельный вызов модели с обновлённым контекстом. В 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. Дайте задачу из двух-трёх шагов, не «напиши функцию с нуля».
# в корне репозитория, если Claude Code установлен
claude "Посмотри src/, найди где обрабатываются ошибки, предложи рефакторинг. Файлы не меняй — только отчёт со ссылками."Откройте панель инструментов. Должны появиться мысль → чтение файла → мысль → grep → ответ. Это и есть агент. Если модель сразу выдаёт абзац «возможно, ошибки обрабатываются где-то в src» без единого tool call — перед вами чат-бот в IDE.
2. Разберите чужой продукт на четыре блока
Возьмите Cursor, Devin, ChatGPT с GPTs, n8n-флоу, «AI-агента» с лендинга. Запишите:
- где LLM;
- какие инструменты (и есть ли они вообще);
- где живёт память — окно чата или файлы/БД;
- есть ли цикл без ваших наводящих вопросов.
Пустой пункт — это не агент. На PLai такие разборы уже были: вечный Codex, ChatGPT Work.
3. Три вопроса к своему боту
Скажите вслух, чего не хватает.
- Вызывает инструменты?
- Делает больше одного прохода без моих подсказок?
- Помнит что-то между сессиями — не потому что я вставил прошлый чат, а потому что сам записал?
Два первых «да» — уже агент в смысле Willison/Anthropic. Третье «да» — агент, который переживает перезапуск. Меньше двух — что-то другое. Не хуже. Другое. Называть вещи своими именами дешевле, чем платить за «агентность» обёртке.
Частые вопросы
Чем AI-агент отличается от чат-бота?
Чат-бот — один проход «текст → модель → текст». Агент в цикле вызывает инструменты, смотрит результат и сам решает следующий шаг, пока не достигнет цели или стоп-условия.
ChatGPT — это агент?
Обычный чат — нет. Режимы, где модель сама несколько раз вызывает инструменты (поиск, код, компьютер) и крутит задачу без вашего «а теперь сделай вот это», ближе к агенту. Смотрите, есть ли цикл, а не логотип.
RAG-система — это агент?
Нет, если поиск документов и ответ укладываются в один проход. Это чат-бот с поиском. Агентом она станет, если модель сама решает, что искать, ходит в несколько источников, проверяет результат и повторяет.
Function calling и агент — одно и то же?
Нет. Function calling — способность модели выбрать функцию. Агент — эта способность плюс цикл: вызвал, посмотрел, вызвал ещё, пока цель не закрыта.
Нужна ли агенту долгая память?
Для одной сессии хватает контекстного окна. Чтобы не начинать с нуля завтра, нужна внешняя память: файлы, заметки, БД. Это не замена циклу и не длинный system prompt.
Claude Code и Cursor — агенты?
Да, в типичном режиме: модель сама читает и правит файлы, гоняет команды, смотрит вывод. Вы ставите цель и стоп (разрешения, лимиты), цикл крутит runtime IDE или CLI.
Сколько итераций нормально?
Сколько требует задача, но с потолком. Для «найди файл и поправь функцию» часто 5–15 шагов. Сотни шагов без стопа — либо плохой инструмент, либо отсутствующий критерий готовности. В проде лимит задаёте вы, не модель.
Можно ли собрать агента в n8n?
Можно собрать workflow с LLM на узлах — это не агент. Агент получится, если есть петля «модель выбирает следующее действие», а не заранее нарисованный граф. n8n хорошо оркестрирует предсказуемые цепочки; открытый цикл туда прикручивают отдельно.
Источники
- Anthropic. Building effective agents — агент vs workflow, «LLM + tools in a loop», стоп-условия.
- Anthropic. Effective context engineering for AI agents — compaction, очистка tool-результатов, контекст как бюджет внимания.
- Simon Willison. Agents — «an LLM agent runs tools in a loop to achieve a goal».
- Yao et al. ReAct: Synergizing Reasoning and Acting in Language Models — паттерн Think → Act → Observe.
Дата: 3 сентября 2026. Определения в индустрии ещё плывут, четыре блока и цикл уже нет.



