Путь от чат-бота к агенту в Jay Copilot

Jay Copilot — это ассистент, который помогает использовать генеративный искусственный интеллект в работе и повседневных задачах. В нём используются нейросети и сервисы, например: GPT-4o и GPT-4o mini, Flux и DALL·E 3, Whisper, OpenAI o3-mini, DeepSeek.

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

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

Алексей Борщов

Product Owner, Jay Copilot

С лета 2023 года мы активно развиваем нашу платформу для работы с LLM — Jay Copilot. Нашей целью было создание удобного ассистента для бизнеса, чтобы автоматизировать рутинные задачи и повысить эффективность работы. Так появился Jay — программный продукт с более чем 20 приложениями, способными решать задачи в различных областях: от маркетинга и текстов до программирования и анализа данных.

С чего всё начиналось

Революцию Генеративного искусственного интеллекта и всплеск интереса к этой теме во всем мире вызвал выход на рынок первой диалоговой системы.

В ней пользователь мог пообщаться с большой языковой моделью прямо в чате ChatGPT от компании Open AI. Продукт, основанный на модели GPT-3.5, был представлен 30 ноября 2022 года и был способен вести беседы в чате, практически неотличимые от человеческих. Эта возможность сделала доступным мир AI для людей без специальной математической подготовки — любой пользователь мог написать свой вопрос в чат и получить на него ответ от нейронной сети.

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

Что было дальше

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

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

Изменения архитектуры и интеграция AI с логикой приложений

На начальных этапах развития LLM мы были ограничены в возможностях. Поэтому было решено объединить качественные ответы от AI с программной логикой (сценарием) для создания цепочек последовательных запросов. На каждом этапе цепочки (Workflow), запросы в сеть делал уже не человек, а система. Далее она проверяла полученный ответ и создавала новый запрос в сеть, используя предыдущий ответ. И так до конца цепочки или до какого-то признака штатного или нештатного завершения процесса. Например, причиной завершить процесс могла быть ошибка при выполнении запроса. Или пользователь сам останавливал приложение, потому что его устраивал полученный результат или, наоборот, не устраивал.

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

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

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

  • Парсинг файлов — извлечение текстовой информации для ее использования (для всех приложений) или сайтов (приложение «Поиск по сайту»), который вытащит текст из данных и отправит вместе с запросом в нейросеть.
  • Оптическое распознавание сканов документов и PDF — приложение «Сравнение документов».
  • Транскрибация аудио и видео — приложение «Расшифровка совещаний».
  • Синтез речи — «Диктор» или «Создание подкастов» и другие функции.

 

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

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

Введение функций рассуждения и планирования

Чтобы решить эту проблему, мы решили использовать новую возможность нейросетей — их способность к рассуждению (reasoning) и планированию, а также самостоятельный выбор подходящих инструментов для выполнения поставленных задач.

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

Что получилось

В итоге мы превратили все наши приложения в инструменты для нейросети. Сегодня Ассистент Jay может сам проанализировать промпт и исходя из задачи вызвать нужное приложение.

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

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

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

Например, теперь вы можете попросить нейросеть подготовить программу мероприятия с таймингом и выгрузить ее в excel-файл.

Модель самостоятельно напишет код для создания файла, выполнит его и предоставит вам готовый результат. Таким образом, вы сможете удобнее работать с данными при их согласовании.

За первые полтора года развития Jay Copilot мы проделали сложный путь экспериментов и улучшений. Каким станет Ассистент Jay через несколько месяцев? Пока неизвестно, но одно мы гарантируем — он будет становиться только лучше. Оставайтесь с нами!

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

Спасибо за ваш запрос!

Мы обязательно его рассмотрим и свяжемся с вами в ближайшее время.

Спасибо за заявку!

Ждите тестовый звонок

Отлично!

Вы подписались на видеоподкаст «Conversations with…». Теперь вы первым узнаете о выходе нового эпизода!