Главная / Статьи

Интерфейс чата или цикл агента? Как определить требования к функции ИИ

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

Издатель: REACTAPP.TOP12 мин чтения2824 слов

Источники: Your AI Chatbot Can Talk — But Can It Actually Take Action?

Два продукта на основе ИИ могут использовать один и тот же текстовый поле и одно и то же приветствие, при этом быть построенными на совершенно разных архитектурах. Один преобразует ваше сообщение в ответ; другой рассматривает его как цель, вызывает соответствующие инструменты, анализирует полученные результаты и определяет дальнейшие действия. Если вы разрабатываете функцию ИИ, путаница между этими двумя подходами приводит либо к продукту с недостаточной производительностью, либо к дорогостоящему и нестабильному решению. В этом руководстве представлен словарь терминов для различия этих подходов, способ классификации любой системы в зависимости от её характеристик и практический чек-лист для выбора того подхода, который следует применить при разработке.

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

Два система за одним текстовым полем

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

Вторая система получает ту же самую фразу, но выполняет совершенно другие действия. Она запрашивает актуальные данные о продуктах с помощью подключенных инструментов, сравнивает характеристики, проверяет кандидатов на соответствие вашим требованиям, и если первая группа результатов не подходит, она изменяет критерии поиска и пробует снова. Окно чата остается неизменным; разница заключается в действиях, которые происходят после нажатия клавиши Enter.

Вот центральный вопрос этого руководства: в какой момент система, способная к общению, превращается в систему, способную к действию?

Зачем создается чат-бот

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

  • пользователь отправляет сообщение
  • система обрабатывает его
  • она генерирует или получает ответ и возвращает управление пользователю

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

Такая схема охватывает большинство реальных случаев использования: ответы на вопросы, объяснение концепций, составление и краткое изложение текста, мозговой штурм, обслуживание клиентов и репетиторство.

Боты на основе правил и чаты с использованием больших языковых моделей

Чат-боты появились раньше больших языковых моделей. Ранние версии в основном были запрограммированы заранее: приветствие вызывало готовое приветствие в ответ, запрос на отслеживание заказа требовал указания номера заказа, а любые отклонения от заданного алгоритма приводили к использованию запасного сообщения. Они были предсказуемы именно потому, что каждый сценарий был написан вручную.

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

Что делает систему агентом

Искусственный интеллект-агент — это система, которая достигает цели путем принятия решений и выполнения действий с использованием предоставленных ей возможностей, обычно инструментов. Вопрос, который она постоянно задает себе, заключается не только в том, какой ответ дать, но и в том, какой шаг сделать дальше.

Упрощенная структура работы агента выглядит следующим образом:

  1. Получение цели.
  • Интерпретируйте его и связанные с ним ограничения.
  • Составьте план.
  • Выберите следующее действие.
  • Выполните его, обычно с помощью соответствующего инструмента.
  • Оцените результат.
  • Скорректируйте план в соответствии с полученными данными.
  • Либо продолжите с другим действием, либо прекратите работу, так как цель достигнута.
  • Важной особенностью является то, что шаги с четвертого по восьмой повторяются. Система участвует в многоэтапном рабочем процессе, а не формирует один ответ и ждет.

    Запрос на поездку, обрабатываемый двумя способами

    Если попросить чат-бота помочь спланировать трехдневную поездку в Дубай, он, скорее всего, составит структурированный маршрут: Бурдж-Халифа и торговый центр Dubai Mall в первый день, Старый Дубай — во второй, район Марина и сафари в пустыне — в третий. Это полезно, но за всем практическим организационным аспектом все равно придется следить самостоятельно: отели, цены, наличие мест, рейсы, часы работы и окончательный график.

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

    Кратко говоря: чат-бот обсуждает задачу, тогда как агент создается для её выполнения.

    Ответ против действия

    Если вам нужна однозначная модель мышления, используйте эти два подхода:

    • чат-бот: сообщение, затем ответ
    • агент: цель, затем решение, действие, наблюдение и следующее действие — повторяется до завершения

    Первый подход ориентирован на диалог; второй — на результат.

    Почему интерфейс ничего не говорит

    Агент также может находиться за чат-окном, и именно поэтому внешний вид вводит в заблуждение. Представьте два приложения, которые оба показывают одно и то же дружелюбное приветствие и оба получают запрос «найти последние научные статьи о ИИ-агентах».

    Приложение А передаёт запрос модели, которая отвечает на основе своих обучающих данных. Приложение Б использует инструмент поиска, собирает статьи, читает результаты, оценивает их релевантность, если первый поиск оказался неудачным — проводит его снова, а затем пишет краткое резюме. На экране они выглядят практически одинаково; на самом деле в первом случае используется лишь один вызов модели, а во втором — сложная последовательность операций. Нельзя классифицировать систему по её интерфейсу. Необходимо изучить логику управления.

    Кто управляет процессом

    В типичной сессии с чат-ботом человек выступает в роли руководителя. Вы просите предоставить статьи по машинному обучению — и получаете рекомендации. Вы просите сравнение — и оно предоставляется. Вы спрашиваете о ограничениях — и получаете информацию об них. Каждый переход от одной стадии к следующей — это решение, принятое вами и введенное вами.

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

    Компоненты, превращающие модель в агента

    Инструменты

    Использование инструментов — это способность, которая в наибольшей степени ассоциируется с агентами. Тот или иной агент может быть оснащен:

    • инструмент поиска актуальной информации
    • инструмент базы данных для хранения записей
    • инструмент выполнения кода, такой как песочница Python, для анализа и вычислений
    • инструмент работы с файлами для чтения документов
    • календарный инструмент для проверки расписания
    • инструмент электронной почты, используемый только при наличии соответствующих прав
    • для связи с другим программным обеспечением — произвольные API

    Задача модели — определить, какой из этих инструментов необходим на текущем этапе. Для команд, работающих с JavaScript и TypeScript, здесь применяются такие концепции, как вызов функций и аргументы инструментов с проверкой по шаблону; примеры в моделях ограниченных агентских циклов для использования инструментов LLM в TypeScript показывают, как это выглядит в коде.

    Пример исследования делает результаты более наглядными. Студент просит помощи в изучении технологии генерации с усилением на основе поиска для языков с ограниченными ресурсами. Чат-бот может объяснить, как работает RAG, почему языки с ограниченными ресурсами представляют сложность, какие ключевые слова стоит использовать и как структурировать обзор литературы, после чего студент выполняет исследование сам. Исследовательский агент с соответствующими инструментами может преобразовать вопрос в поисковые запросы, искать академические источники, собирать подходящие варианты, отбрасывать нерелевантные, читать оставшиеся материалы, извлекать методы и наборы данных, сравнивать результаты, отмечать ограничения и составлять структурированный обзор. В этот момент ИИ не просто описывает процесс исследования — он является его частью.

    Планирование и выполнение

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

    Следует отметить, что чат-бот также может сгенерировать точно такой же список действий. Написание плана представляет собой генерацию текста. Разница заключается в том, может ли система выполнять эти шаги и реагировать на результаты каждого из них. План, который пользователь должен выполнить вручную, является советом; план, который выполняет система, представляет собой автономные действия.

    Наблюдение и цикл обратной связи

    Актёрское мастерство — это лишь половина дела. Агент должен анализировать результат каждого действия. Предположим, он ищет недавние статьи по агентному RAG, но находит плохие результаты. Умелый агент замечает, что результаты недостаточно релевантны, переформулирует запрос, снова ищет и в итоге находит что-то лучшее.

    Этот цикл, часто описываемый как «думай, действуй, наблюдай, корректируй», и отличает циклическую структуру от последовательной. Без наблюдения система просто выполняет инструменты в фиксированном порядке, полагаясь на удачу.

    Память и состояние задачи

    Память часто считается характеристикой агентов, но чат-боты тоже могут что-то запоминать, поэтому одна лишь память не делает систему агентом. Она более важна для агентов, поскольку их задачи длительнее и включают больше промежуточных результатов. Исследовательский агент должен отслеживать первоначальный вопрос, какие статьи он уже изучил, какие источники отклонил и почему, ключевые выводы на данный момент, требования пользователя и результаты предыдущих действий. Без целенаправленного управления состоянием в процессе длительной работы возникают сбои: агент перечитывает одни и те же источники, забывает о ограничениях или противоречит собственным предыдущим выводам.

    Спектр, а не переключатель

    Реальные продукты редко находятся четко в одной из категорий. Многие системы сочетают в себе функции общения и агентности, поэтому полезно рассматривать развитие в виде этапов:

    1. Базовый чат-бот. Сообщение пользователя поступает в модель, после чего приходит ответ.
    2. Чат-бот с использованием инструментов. Модель может вызвать такой инструмент, как поисковик, перед тем как ответить, но процесс всё равно состоит из одного запроса и одного ответа.
    3. Агент. Модель получает цель, планирует действия, выбирает инструмент, выполняет действие, наблюдает за результатом, снова принимает решение и повторяет процесс до завершения задачи.

    Чёткой границы между вторым и третьим этапами нет. Некоторые системы являются конверсационными ассистентами, некоторые выполняют несколько вызовов инструментов, а некоторые работают с длинными многоэтапными рабочими процессами. То, к какой категории относится ваша система, зависит от того, насколько большой у модели контроль над потоком действий.

    Является ли один вызов инструмента агентом?

    Не обязательно. Бот, который при запросе о погоде всегда обращается к API погоды, использует инструмент, но рабочий процесс фиксирован: вопрос, вызов API, ответ. Ничего не принимается решением.

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

    Агенты без любого окна чата

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

    Выбор между чат-ботом и агентом

    Хочется рассматривать «агента» как улучшенную версию «чат-бота». Такой подход заставляет команды переусердствовать в проектировании. Правильный вопрос заключается в том, что на самом деле нужно вашему приложению.

    Когда чат-бот — лучший выбор

    Обычно достаточно прямого ответа модели, когда основной задачей является ведение диалога или генерация контента, например:

    • ответы на часто задаваемые вопросы
  • объяснение таких концепций, как градиентный спуск или нейронные сети
  • краткое изложение абзаца или документа
  • создание или переписывание контента, например преобразование черновика письма в профессиональный вариант
  • ответы на простые вопросы
  • Для этих задач чат-бот обычно проще в использовании, быстрее, дешевле и легче в обслуживании. Нет необходимости в автономной выполнении нескольких шагов, а каждый избегнутый дополнительный вызов модели снижает задержки и расходы.

    Когда для выполнения задачи требуется агент

    Агент начинает проявлять сложность, когда задача включает несколько из следующего:

    • множество взаимосвязанных шагов
    • выбор среди инструментов
    • взаимодействие с внешними системами
    • принятие решений на ходу
    • повторные действия
    • проверка результатов
    • изменение подхода на основе этих результатов
    • сохранение состояния задачи между шагами

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

    Цена автономии

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

    Именно поэтому агентам требуется инженерная поддержка, которую чат-боты часто могут пропустить:

    • права доступа, ограничивающие возможности каждого инструмента
    • проверка входных и выходных данных инструментов
    • логирование и отслеживание каждого шага
    • обработка ошибок при неудачных или неполных вызовах инструментов
    • оценка всего процесса выполнения, а не только отдельных ответов
    • четкие условия остановки, такие как лимиты шагов и бюджеты
    • подтверждение человеком перед выполнением необратимых действий

    Если более простая система способна надежно решать задачу, она обычно является лучшей системой.

    Видимость различий от начала до конца

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

    Чат-бот: сообщение пользователя понимается, генерируется ответ, и управление возвращается к пользователю.

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

    Последний пример показывает, как оба подхода могут быть полезны для одной и той же задачи. Кто-то говорит, что хочет изучить агентные ИИ. Чат-бот может предложить план обучения, список тем, учебные ресурсы и четкие объяснения. Более продвинутый обучающий агент может оценить то, что уже знает учащийся, составить план обучения, провести урок, задать задание, оценить ответ, выявить слабые места, адаптировать следующий урок, отслеживать прогресс со временем и продолжать этот цикл. Первый помогает учащемуся понять материал; второй участвует в самом процессе обучения. Они решают разные задачи.

    Основные выводы

    • Чат-бот ориентирован на диалог (входящее сообщение, выходной ответ); агент ориентирован на достижение цели (планирование, действие, наблюдение, корректировка, завершение).
    • Интерфейс также не является критерием: агенты могут работать за чат-окном, а также могут функционировать без какого-либо чат-окна вовсе.
  • Одни лишь вызовы инструментов не делают агента; решающим фактором является то, зависит ли следующий шаг от результата предыдущего.
  • Память, планирование и инструменты важны для обоих типов систем, но агенты зависят от выполнения и обратной связи, а не только от создания плана.
  • Начните с самой простой конструкции, которая надежно решает задачу, и добавляйте автономию только с необходимыми ограничениями: разрешения, проверки, логирование, условия остановки и одобрение человека.