AI-агент и AI-ассистент: в чём разница и что выбрать для задачи
Модель отвечает, ассистент помнит диалог, агент сам делает шаги с инструментами. Разбираем различия на примерах и помогаем решить, что нужно для вашей задачи.
5 мин · · агенты · модели
Слова «модель», «ассистент» и «агент» в разговорах про нейросети часто используют как синонимы, хотя за ними разные вещи с разной ценой и разными рисками. Если вы выбираете инструмент под задачу и хотите понять, в чём разница между AI-агентом и AI-ассистентом, начните с трёх уровней: сама модель, ассистент вокруг неё и агент, который действует. Ниже разбор на примерах, таблица сравнения, небольшой пример кода и правило, когда достаточно обычного чата.
Три уровня: модель, ассистент, агент
Модель (LLM)
Языковая модель получает текст и возвращает текст. Всё остальное делается вокруг неё. Через API она не помнит предыдущих запросов: историю диалога вы каждый раз отправляете заново. Если спрашивают «AI agent vs LLM», то ответ такой: LLM — это «двигатель», а агент — «машина» с рулём, топливом и маршрутом.
Примеры моделей из каталога Zukko: claude-sonnet-5-5, gpt-6.1-sol, deepseek-v4.1-flash. Один ключ позволяет вызывать любую из них.
Ассистент
Ассистент — это модель плюс обвязка для диалога: системная инструкция («ты помощник поддержки»), хранение истории, интерфейс чата. Он отвечает на вопросы, пишет и правит тексты, объясняет код. Но действия остаются за вами: он советует, вы делаете. Классический чат в браузере — это ассистент.
Агент
Агент — это модель, которой дали инструменты и поставили цель. Он сам выбирает следующий шаг, вызывает инструмент (прочитать файл, выполнить запрос, запустить тесты), смотрит на результат и решает, что делать дальше, пока не посчитает задачу выполненной или не упрётся в ограничение. Цикл выглядит так:
- Модель получает цель и список доступных инструментов.
- Она отвечает либо текстом (задача закончена), либо запросом на вызов инструмента.
- Программа выполняет инструмент и возвращает результат модели.
- Шаги 2-3 повторяются до остановки.
Если коротко, что такое AI-агент: программа, где модель принимает решения в цикле, а не один раз отвечает на запрос.
Сравнение
| Критерий | Чат-ассистент | Агент |
|---|---|---|
| Кто делает действия | Вы | Агент через инструменты |
| Число обращений к модели на задачу | Одно или несколько, по вашему желанию | Столько, сколько шагов выберет агент |
| Контекст | Растёт по мере диалога | Растёт на каждом шаге вместе с результатами инструментов |
| Предсказуемость расхода | Высокая | Ниже: число шагов заранее неизвестно |
| Риски | Неверный совет | Неверное действие: удалённый файл, лишний запрос, зацикливание |
| Контроль | Вы читаете ответ | Нужны подтверждения, песочница, лимиты |
Примеры из практики
«Объясни ошибку в этом стектрейсе». Вы вставляете текст, получаете объяснение. Это задача для ассистента: нужен один запрос, действий вне чата не требуется.
«Найди, почему падает тест, и исправь». Нужно прочитать файлы, запустить тест, внести правку, снова запустить. Это работа агента, например Claude Code или opencode. Один человек может провести эти шаги вручную через чат, но придётся копировать результаты туда и обратно.
«Ответь клиенту по шаблону». Ассистент с хорошей инструкцией. Агент здесь не нужен, он только добавит риск и расход.
«Раз в день собери новые заявки из таблицы, проверь дубли и отправь отчёт». Автоматизация. Для неё агент не обязателен: при жёстком порядке шагов надёжнее обычный скрипт, который вызывает модель в нужных местах. Агентом это становится, когда шаги заранее неизвестны.
Минимальный пример агента
Чтобы увидеть границу между ассистентом и агентом, достаточно нескольких десятков строк. Здесь у модели один инструмент, чтение файла, и жёсткий потолок на число шагов:
import json
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key=os.environ["ZUKKO_API_KEY"])
tools = [{
"type": "function",
"function": {
"name": "read_file",
"description": "Прочитать текстовый файл по пути",
"parameters": {
"type": "object",
"properties": {"path": {"type": "string"}},Без цикла это был бы ассистент: один запрос, один ответ. Цикл с инструментами делает из него агента. Реальные агенты добавляют песочницу, подтверждения и учёт расхода, а в этом примере нет проверки пути, поэтому на реальных данных его использовать нельзя. Полный разбор есть в статье Как создать ИИ-агента на Python с нуля.
Что выбрать для задачи
Задайте себе четыре вопроса:
- Нужно ли выполнять действия, а не только получить текст? Если нет, берите чат или обычный вызов модели из кода.
- Известен ли порядок шагов заранее? Если известен, пишите скрипт и вызывайте модель в нужных точках: дешевле и предсказуемее.
- Можете ли вы ограничить область действий агента? Если нет (нет песочницы, нет резервных копий), начните с ассистента.
- Есть ли способ проверить результат? Агент, который сам запускает тесты, может исправить себя. Агент без проверки уверенно ошибается.
Подробнее про устройство готовых агентов — в статье Что такое агентный harness.
Сколько стоит разница
Ассистент платит за один запрос, а у агента токены умножаются на число шагов: на каждом шаге модели заново отправляется накопленный контекст. Агент, который делает 20 шагов, обращается к модели 20 раз. Поэтому для агента важны три вещи: потолок шагов, лимит расхода на ключе и выбор модели под задачу. Реальный расчёт по шагам с формулой мы разбираем в статье Сколько реально стоит час работы с агентом.
Для новичков стоит начать с документации для начинающих: она объясняет, как получить ключ и сделать первый запрос. Создать ключ можно в кабинете Zukko. Один ключ работает с моделями Claude, GPT, Gemini, DeepSeek, Qwen и GLM.
Частые вопросы
Агент всегда лучше ассистента?
Нет. Агент полезен там, где задача состоит из нескольких зависимых действий. Для вопросов и текстов он избыточен, стоит дороже и добавляет риск лишних действий.
Чем агент отличается от скрипта с вызовом модели?
В скрипте порядок шагов задаёт программист. В агенте порядок выбирает модель по ходу работы. Если порядок известен заранее, скрипт надёжнее и дешевле.
Нужна ли особая модель для агента?
Модель должна поддерживать вызов инструментов. Какая именно лучше справится, зависит от вашей задачи: сравните по цене, контексту и индексу силы из каталога и проверьте на своих примерах.
Как не потерять контроль над расходом?
Задайте потолок числа шагов, отдельный ключ с дневным лимитом и следите за расходом в разделе «Использование».
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- Roo Code Ollama: локальные модели в Cline и Aider, честный разборПодключаем Ollama к Roo Code, Cline, Aider и OpenCode по документации инструментов, разбираем ограничения и показываем, когда проще вернуться к облачному API.
- Агенты opencode: как настроить роли, модели и инструментыСвой агент в opencode — это роль, модель и список разрешений. Показываем конфиг и пример, где рутину делает дешёвая модель, а код правит сильная.
- Plan mode в Claude Code: сначала план, потом правки в кодеВ plan mode Claude Code читает код и предлагает план, но ничего не правит, пока вы не согласитесь. Как включить, использовать и во сколько это обходится.
- xAI Grok API: подключение Grok 4.7, цена и контекст 256KКак вызвать grok-4.7 через OpenAI-совместимый API, что делать с лимитом контекста 256K и сколько стоят типичные запросы. Плюс сравнение с Grok 4.6.