От чат-бота к агенту

Этот урок объясняет ключевое различие: чат-бот отвечает текстом, а агент действует — рассуждает, вызывает инструменты и идёт к цели сам.

AI-агент — это система, в которой LLM не просто генерирует ответ, а в цикле сама решает, какие действия выполнить (вызвать инструмент, посмотреть результат, продолжить), чтобы достичь поставленной цели.

Чат-бот: один вход — один выход

Обычное применение LLM выглядит так: вы шлёте промпт — модель возвращает текст. Один запрос, один ответ. Если ответ неполный, вы сами шлёте уточнение. Модель здесь — пассивный «отвечатель»: она не может посмотреть в интернет, посчитать на калькуляторе или запустить код. Всё, что она умеет, — продолжить текст на основе того, что видела на обучении.

Этого хватает для огромного числа задач: переписать письмо, объяснить концепцию, набросать функцию. Но как только нужно достоверное действие во внешнем мире — узнать сегодняшний курс валюты, выполнить SQL-запрос, отправить письмо — голая LLM бессильна. Она может только выдумать правдоподобный ответ.

Агент: цикл, инструменты, цель

Агент превращает LLM из «отвечателя» в «деятеля». Добавляются четыре вещи:

  • Цель — задача, которую нужно решить («найди и посчитай», а не «продолжи текст»).
  • Инструменты — функции, которые агент может вызвать: калькулятор, поиск, доступ к API, выполнение кода.
  • Цикл управления — повторяющийся процесс: мысль → действие → наблюдение… пока цель не достигнута.
  • Память — то, что агент помнит между шагами (что уже сделал, что узнал).

Ключевое слово — автономность. Агенту не диктуют последовательность шагов; он сам решает, что делать дальше, исходя из того, что уже узнал. Именно поэтому агента трудно предсказать — и именно поэтому он мощнее.

Один шаг цикла на простом примере

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

def fake_llm(observation):
    # Заглушка вместо настоящей LLM: по наблюдению решает следующий шаг.
    if "task:" in observation:
        return "THOUGHT: нужно посчитать. ACTION: calc(2+2)"
    if "result: 4" in observation:
        return "FINISH: ответ равен 4"
    return "FINISH: не знаю"

def environment(action):
    if action == "calc(2+2)":
        return "result: 4"
    return "result: unknown"

observation = "task: сколько будет 2+2?"
for step in range(1, 4):
    response = fake_llm(observation)
    print(f"Шаг {step} | наблюдение: {observation}")
    print(f"         | модель: {response}")
    if "FINISH:" in response:
        print("Агент завершил работу.")
        break
    action = response.split("ACTION: ")[1]
    observation = environment(action)

Вывод:

Шаг 1 | наблюдение: task: сколько будет 2+2?
         | модель: THOUGHT: нужно посчитать. ACTION: calc(2+2)
Шаг 2 | наблюдение: result: 4
         | модель: FINISH: ответ равен 4
Агент завершил работу.

Обратите внимание: здесь нет жёстко прописанного «сначала посчитай, потом ответь». Модель сама на каждом шаге решает — действовать или закончить. В настоящем агенте вместо fake_llm стоит вызов реальной LLM, а в environment — настоящие инструменты. Логика цикла — та же.

Чат-бот против агента: сравнение

СвойствоЧат-ботАгент
Число шаговодинмного (цикл)
Действия во внешнем миренетда, через инструменты
Кто решает следующий шагпользовательсама модель
Предсказуемостьвысокаянизкая
Типичная задача«перепиши текст»«найди, посчитай и сделай»

Итог

  • Чат-бот — это «один промпт, один ответ»; агент — это LLM в цикле с инструментами и целью.
  • Главное свойство агента — автономность: он сам выбирает действия, а не следует фиксированному сценарию.
  • Механику агента видно даже без настоящей LLM — достаточно заменить модель детерминированной заглушкой.
Проверьте себя
1. Что отличает AI-агента от обычного чат-бота?
AАгент использует более крупную модель
BАгент всегда отвечает быстрее
CАгент работает в цикле, сам выбирает действия и вызывает инструменты для достижения цели
DАгент не использует LLM
2. Почему голая LLM не может достоверно сообщить сегодняшний курс валюты?
AОна не понимает слово «курс»
BКурсы валют запрещено спрашивать у LLM
CЕй не хватает контекстного окна
DУ неё нет доступа к внешнему миру — она лишь продолжает текст по данным обучения
3. Какое свойство агента делает его мощным, но непредсказуемым?
AАвтономность — он сам решает, какие шаги выполнять
BБольшой словарь
CНизкая стоимость
DОтсутствие памяти