Osmi
Учебные пособия

Человек в цепочке

В предыдущих уроках мы рассмотрели, как агент может динамично использовать инструменты для ответа на запросы или выполнения поставленных задач. Human-in-the-loop (человек в цикле) добавляет уровень контроля, позволяя агенту запрашивать у человека ввод, одобрение или обратную связь перед дальнейшими действиями.

В предыдущих уроках мы рассмотрели, как агент может динамично использовать инструменты для ответа на запросы или выполнения поставленных задач. Human-in-the-loop (человек в цикле) добавляет уровень контроля, позволяя агенту запрашивать у человека ввод, одобрение или обратную связь перед дальнейшими действиями.

Существует 2 способа использования human-in-the-loop:

  • Использование узла Ввод от человека для приостановки выполнения
  • Включение опции Требуется ввод человека для инструментов агента

Узел Ввод от человека

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

Обзор

Цель этого сценария — создать интеллектуальную систему автоматического ответа на электронные письма, которая:

  1. Получает входящие запросы по электронной почте
  2. Генерирует профессиональные ответы с помощью ИИ
  3. Запрашивает одобрение человека перед отправкой
  4. Позволяет вносить исправления и улучшения
  5. Автоматически отправляет одобренное письмо

Шаг 1: Настройка стартового узла

  1. Перетащите и разместите узел Старт на холсте. Это точка входа для данных входящих писем.
  2. Настройте узел Старт следующим образом:
  • Тип ввода: "Form Input" (Форма ввода) — чтобы захватывать структурированные данные письма
  • Заголовок формы: "Входящая почта"
  • Описание формы: "Запрос по входящей почте"
  1. Добавьте поля формы:
  • Subject (Строка): для заголовка письма
  • Body (Строка): для содержания письма
  • From (Строка): для адреса отправителя

Шаг 2: Создание агента для ответа на письмо

  1. Добавьте узел Агент и соедините его с узлом Старт. Этот агент будет анализировать входящее письмо и генерировать ответ.
  2. Добавьте системное сообщение, например:
    Вы — сотрудник службы поддержки клиентов компании OSMI-AI. Напишите профессиональный ответ на запрос пользователя. Используйте инструменты поиска в Интернете для получения дополнительных деталей о клиенте.
    
    Всегда отвечайте как Samantha, представитель службы поддержки OSMI-AI. Не используйте заглушки
    
  3. Добавьте следующие инструменты для расширения возможностей агента:
    • Google Custom Search: для поиска информации о клиенте и предоставления релевантного контекста
    • Current DateTime: чтобы включать актуальные временные метки в ответы

Шаг 3: Добавление Ввод от человека для одобрения

  1. Добавьте узел Ввод от человека и соедините его с агентом для ответа. Это создаст контрольную точку human-in-the-loop.
  2. Настройте узел Ввод от человека:- Тип описания: "Fixed"- Описание: "Вы уверены, что хотите продолжить?"- Включить обратную связь: True (чтобы человек мог оставить комментарий или исправления)
  3. Этот узел приостановит выполнение и покажет сгенерированный ИИ ответ человеку-ревьюеру, который сможет:
    • Одобрить: продолжить и отправить письмо
    • Отклонить: оставить обратную связь и отправить обратно агенту для доработки

Шаг 4: Настройка механизма возврата (Loop Back)

  1. Добавьте узел Loop, который будет обрабатывать случаи отказа. Он позволяет возвратиться к агенту для улучшений.
  2. Настройте узел Loop:
    • "Loop Back To": выберите "Email Reply Агент"
    • "Max Loop Count": 5 (чтобы предотвратить бесконечные циклы)
  3. Соедините выход "reject" узла Ввод от человека с узлом Loop. Тогда, при отказе, рабочий процесс возвращается к агенту с комментариями для коррекции.

Шаг 5: Создание генератора темы и тела письма

  1. Добавьте узел LLM и соедините его с выходом "продолжить" узла Ввод от человека. Этот узел сформирует структуру письма — тему и текст.
  2. Настройте структурированный JSON-вывод:
  • "subject" (тип: string): тема письма
  • "body" (тип: string): содержание письма

Шаг 6: Настройка отправки письма

  1. Добавьте узел Tool и соедините его с узлом LLM по теме и телу. Этот узел будет отвечать за фактическую отправку письма.
  2. Настройте узел Tool:
    • Инструмент: выберите "Gmail"
    • Действие сообщения: "sendMessage" (отправить сообщение)
  3. Укажите аргументы:
    • to: {{ $form.from }}, чтобы ответить отправителю исходного письма
    • subject: {{ llmАгентflow_0.output.subject }}, чтобы получить сгенерированную тему из Шага 5
    • body: {{ llmАгентflow_0.output.body }}, чтобы получить сгенерированное содержание письма из Шага 5

Как работает рабочий процесс

Когда поступает электронное сообщение с запросом, происходит следующее:

  1. Ввод формы: система захватывает тему письма, его содержание и информацию об отправителе
  2. Анализ ИИ: агент по ответу на электронную почту анализирует запрос и генерирует профессиональный ответ с использованием поиска в интернете для дополнительного контекста
  3. Рассмотрение человеком: рабочий процесс приостанавливается, и сгенерированный ИИ ответ показывается человеку-одобрителю
  4. Точка решения: человек может либо:
  • Одобрить: ответ переходит к форматированию и отправке по электронной почте
  • Отклонить: ответ возвращается агенту с обратной связью для улучшения
  1. Форматирование письма: если одобрено, ответ структурируется в правильный формат email с темой и содержанием
  2. Отправка email: окончательное письмо автоматически отправляется через Gmail на исходный адрес отправителя

Тестирование рабочего процесса

  1. Запустите рабочий процесс, заполнив форму с примером электронного запроса
  2. Просмотрите ответ агента на этапе ручного ввода
  3. Отклоните ответ и предоставьте дополнительную обратную связь:
  4. Просмотрите исправленный ответ от агента:
  5. Продолжите и убедитесь, что письмо отправляется правильно:

Полная структура потока

Требуется ручной ввод при использовании инструментов агента

Когда агент решает использовать инструменты, происходит следующее:

  1. Исходя из запроса пользователя, LLM определяет, необходимо ли вызывать инструменты.
  2. Если в ответе LLM обнаружены вызовы инструментов, OSMI-AI находит соответствующие инструменты и выполняет соответствующие функции.
  3. Результаты выполнения инструментов возвращаются в LLM.
  4. Затем LLM решает, нужны ли дополнительные вызовы инструментов или у него есть достаточная информация для возврата окончательного ответа.

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

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

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

Конфигурация

  1. Добавьте узел Агент и подсоедините его к узлу Старт. Этот один агент будет обрабатывать как анализ электронной почты, так и одобрение человеком.
  2. Добавьте системное сообщение для агента, например:
    Вы — сотрудник службы поддержки клиентов, работающий в OSMI-AI. Создайте черновик профессионального ответа на запрос пользователя. Используйте инструменты поиска в сети, чтобы получить больше деталей о клиенте.Всегда отвечайте как Samantha, представитель службы поддержки клиентов OSMI-AI. Не используйте заполнители. Сегодняшняя дата: {{ current_date_time }}.
    
  3. Добавьте следующие инструменты:
    • Google Custom Search: для исследования информации о клиенте
    • Gmail: для создания черновиков писем с возможностью ручного одобрения
  4. Настройте инструмент Gmail:
    • Gmail Тип: "drafts"
    • Действия для черновика: "createDraft"
    • Требовать ручной ввод: ✅ Включите этот параметр - это ключевая функция, которая реализует работу с участием человека (HITL)

Как работает упрощённый рабочий процесс

  1. Ввод формыt: пользователь отправляет детали запроса по электронной почте
  2. Анализ ИИ: агент анализирует письмо и использует Google Search для получения дополнительного контекста
  3. Создание черновика: при попытке агента создать черновик в Gmail рабочий процесс приостанавливается
  4. Рассмотрение человеком: система показывает черновик письма для одобрения человеком
  5. Решение человек может одобрить (создать черновик) или отклонить (дать обратную связь и повторить попытку)

Тестирование агента

  1. Запустите рабочий процесс, заполнив форму с примером электронного запроса
  2. Перед созданием черновика в Gmail агент спросит у пользователя одобрение или отказ.
  3. Если инструмент одобрен, агент продолжит выполнение и создаст черновик в Gmail. Агент достаточно умён, чтобы определить подходящую тему, содержание и получателя для письма.

Полная структура потока

Совместное использование трассировок выполнения для внешнего обзора и одобрения

  1. В панели слева на панели управления нажмите Выполнения.
  2. Найдите трассировку выполнения и нажмите Поделиться.
  3. Трассировка выполнения теперь доступна как публичная ссылка. Вы можете поделиться этой ссылкой с другими для обзора.
  4. Пользователи за пределами OSMI-AI могут отклонить или одобрить: