Наш стартап по созданию no-code платформы нейро-сотрудников на базе ChatGPT (и других LLM) наконец-то добрался до очень важного рубежа:
Объединение нейро-сотрудников в полноценные отделы с руководителями и подчиненными, выполняющее цепочки задач в которых также могут участвовать и живые люди, причем, на любом этапе цепочки.
Для данной статьи мы выбрали в качестве пример отдел SMM, задача которого продвигать ваш Телеграм канал.
Представьте, что в 10.00 по понедельникам на ваш сотовый телефон поступает такой звонок:
Предположим, вы захотели пост про женскую красоту. После того как вы сформулировали эту задачу и получили подтверждение от нейро-сотрудника что задача принята, через несколько минут вам приходит сообщение (например на ваш Телеграм или WhatsApp):
После этого сообщения бот спрашивает вашего одобрения на публикацию поста, и еще через пару минут пост опубликован в вашем канале:
Далее мы вами подробно разберем как это работает и какое количество нейро-сотрудников было задействовано для реализации данной цепочки задач.
Но давайте по порядку…
Что такое нейро-сотрудник?
Этот термин сейчас все чаще виден в сети и это конечно же благодаря выходу ChatGPT 3.5, поскольку именно такой уровень ИИ позволяет уже “повысить” чат-ботов в звании и с гордостью перевести их в Сотрудники.
Чтобы отличать обычных сотрудников и таких продвинутых ботов мы называем их нейро-сотрудниками.
Как создается нейро-сотрудник?
Это удивительно, но для создания эффективного нейро-сотрудника не нужно знание программирования от слова СОВСЕМ!
Давайте для примера разберем одного нейро-сотрудника из нашего первого отдела.
Знакомьтесь:
SMM-копирайтер - Полина
Она работает вот по такой простой инструкции:
Цель:
Создать такой креатив, который понравится заказчику.
Роль:
Ты - женщина.
Тебя зовут - Полина
Ты работаешь в должности - SMM-копирайтер
Ты создаешь идеи для SMM-контента, SEO-описания, META-теги по запросу заказчика.
Поведение:
Старайся угодить заказчику.
Конечно, это очень базовый пример роли (промпта) для нейро-сотрудника, но нам сейчас важно понять с вами принципы их работы и дойти до главного - а как они работают в команде и выполняют реальные цепочки задач.
В каких каналах может вести общение нейро-сотрудник?
Любой нейро-сотрудник может писать первым или отвечать по любому из этих каналов:
Нейро-сотрудник умеет говорить?
Да, еще как умеет! Благодаря современным технологиям по распознаванию и синтезу голоса нейро-сотрудник не только понимает речь на любом языке, но еще и ответ может синтезировать тем же голосом и на разных языках.
Вот пример переключения на разные языки в рамках одного диалога и с сохранением тембра и стиля синтезируемого голоса:
Вы конечно скажете: “Ну, с такими задержками кому это надо?”
Но представьте, что вам звонить ваш собственный нейро-руководитель отдела SMM и просит у вас дать ему поручение, неужели вы так расстроитесь из-за небольших задержек в диалоге?
Итак, как же выглядит цепочка задач в нашем нейро-отделе SMM?
Цепочка задач SMM отдела нейро-сотрудников
Внутренний код для задания цепочки задач выглядит так:
arguments = {
'phone' : '+79123456789', # это номер на который нужно позвонить для получения задания
'telegram' : '@TelegramUserName', # Это ник реального сотрудника, который утвердит тест поста перед публикацией
'channel_id' : '@telegram_channel', # Это ID вашего телеграм канала
'bot_token' : 'XXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXX', # Это токен бота, который в вашем канале имеет права на публикацию постов
}
chain = [
{
'employee_id' : None,
'role' : 'Запроси на какую тему нужно составить пост для Телеграм канала и сразу после получения ответа заверши диалог фразой: ```Хорошо, я вас понял.```.',
'hello_text' : 'Здравствуйте! На связи руководитель вашего SMM-отдела нейро-сотрудников. На какую тему желаете опубликовать пост?',
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' : 5,
'external_dialog' : {
'client_dict' : {'name' : 'User', 'phone': arguments['phone']},
'channel' : 'Voximplant',
'voice' : 'Morpheus_RU'
},
},
{
'employee_id' : 1556,
'role' : 'Ты - ChatGPT',
'hello_text' : 'Напиши пост для Телеграм канала по этой просьбе человека: ##task_result##',
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' : 5,
'external_dialog' : None,
},
{
'employee_id' : 1554,
'role' : 'Ты - ChatGPT. Твоя задача утвердить текст поста.',
'hello_text' : 'Прошу подтвердить размещение такого поста в вашем телеграм канале: `##task_result##`. Отправьте мне ???? если текст Вам нравится.',
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' : 10,
'external_dialog' : {
'client_dict' : {'name' : 'User', 'phone': arguments['telegram']},
'channel' : 'Telegram',
},
},
{
'employee_id' : 1553,
'role' : 'Ты - ChatGPT.',
'hello_text' : f"""
ID канала: "{arguments['channel_id']}"
Токен бота: "{arguments['bot_token']}"
Напиши пост на эту тему: ```##task_result##```
""",
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' :5,
'external_dialog' : None,
},
]
Теперь давайте разбирать по шагам каждый блок этой цепочки.
Звено №1: Звонок на обычный сотовый телефон для получения задачи
Вот такими параметрами задается исходящий звонок на сотовый телефон:
{
'employee_id' : None,
'role' : 'Запроси на какую тему нужно составить пост для Телеграм канала и сразу после получения ответа заверши диалог фразой: ```Хорошо, я вас понял.```.',
'hello_text' : 'Здравствуйте! На связи руководитель вашего SMM-отдела нейро-сотрудников. На какую тему желаете опубликовать пост?',
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' : 5,
'external_dialog' : {
'client_dict' : {'name' : 'User', 'phone': arguments['phone']},
'channel' : 'Voximplant',
'voice' : 'Morpheus_RU'
},
},
В параметре role
мы передаем ту самую роль (промпт) который будет определять общение нашего руководителя SMM-отдела. Мы видим, что его роль очень проста - узнать на какую тему нужно создать пост и сразу после этого завершить диалог.
В параметре hello_text
мы задаем ту фразу, которую скажет наш нейро-руководитель, когда человек возьмет трубку.
Вот текст роли нашего нейро-руководителя Марка:
Цель:
Получить все требуемые параметры для запуска функции "chain_telegram_channel_post".
Роль:
Ты - мужчина.
Тебя зовут - Марк
Ты работаешь в должности - Руководитель SMM-отдела
Ты должен помогать клиенту с продвижением его телеграм канала.
Поведение:
Говори кратко.
Ничего не выдумывай.
Только при получении всех требуемых параметров запусти функцию "chain_telegram_channel_post".
chain_telegram_channel_post
- это и есть та самая наше цепочка задач, которую и вызывает Марк.
Звено №2: Пишем пост на заданную тематику
После завер1шения разговора по телефону вся расшифровка этого диалога передается на вход следующему сотруднику в цепочке, давайте разберем его код:
{
'employee_id' : 1556,
'role' : 'Ты - ChatGPT',
'hello_text' : 'Напиши пост для Телеграм канала по этой просьбе человека: ##task_result##',
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' : 5,
'external_dialog' : None,
}
employee_id
- это уникальный номер нейро-сотрудника на платформе. В нашем случае это как раз та самая SMM-копирайтер Полина, роль которой мы рассмотрели в начале статьи.
role
- вот тут ВНИМАНИЕ!!! это внутренняя роль, которая будет общаться с нейро-сотрудником Полиной и просить её написать статью на нужную тему.
hello_text
- этим текстом наша внутренняя роль поприветствует Полину и попросит написать пост. Внимание снова - ##task_result##
- этот блок будет заменен на диалог из предыдущего звена нашей цепи, в данном случае сюда будет подставлена расшифровка телефонного разговора где человек задает тематику поста.
Еще раз приведём текст роли Полины:
Цель:
Создать такой креатив, который понравится заказчику.
Роль:
Ты - женщина.
Тебя зовут - Полина
Ты работаешь в должности - SMM-копирайтер
Ты создаешь идеи для SMM-контента, SEO-описания, META-теги по запросу заказчика.
Поведение:
Старайся угодить заказчику.
Звено №3: Подтвердить текст поста у человека, написав ему в Телеграм
{
'employee_id' : 1554,
'role' : 'Ты - ChatGPT. Твоя задача утвердить текст поста.',
'hello_text' : 'Прошу подтвердить размещение такого поста в вашем телеграм канале: `##task_result##`. Отправьте мне ???? если текст Вам нравится.',
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' : 10,
'external_dialog' : {
'client_dict' : {'name' : 'User', 'phone': arguments['telegram']},
'channel' : 'Telegram',
},
}
Получив текст поста от Полины мы передаем эстафету следующему сотруднику - секретарю Ксении:
Вот роль Ксении на платформе:
Цель:
Отвечай на вопросы, помогай.
Роль:
Ты - женщина.
Тебя зовут - Ксения
Ты работаешь в должности - Секретарь
Твоя роль - выполнять поручения.
Поведение:
Отвечай лаконично.
При просьбе завершить диалог вышли эмоджи: "????".
Если тебе прислали эмоджи "????", то заверши диалог и вышли эмоджи: "????".
Звено №4: Публикация поста в Телеграм канале
{
'employee_id' : 1553,
'role' : 'Ты - ChatGPT.',
'hello_text' : f"""
ID канала: "{arguments['channel_id']}"
Токен бота: "{arguments['bot_token']}"
Напиши пост на эту тему: ```##task_result##```
""",
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' :5,
'external_dialog' : None,
}
Получив подтверждение текста поста у вас, наконец, вступает в дело наш нейро-менеджер Телеграм канала Светлана:
И вот роль Светланы на платформе:
Цель:
Сначала узнай токен бота и id телеграм канала для возможности публиковать посты и без этой информации ты не можешь отвечать ни на какие вопросы пользователя.
Роль:
Ты - женщина.
Тебя зовут - Светлана
Ты работаешь в должности - Менеджер Телеграм канала
Твоя задача размещать интересны, красиво оформленные посты в Телеграм-канале.
Поведение:
Не используй слишком много смайликов при оформлении поста.
Используй только эти два вида выделения для текста: жирный_текст, наклонный_текст.
Какие плюсы дает такой нейро-отдел?
Самое очевидный плюс - это экономия времени на выполнение задач, в нашем примере на написание постов.
Вы делегируете сложные, рутинные, многоэтапные задачи и получаете гарантию их выполнения строго в заданное время. Например в случае SMM отдела вы можете настроить входящий звонок от нейро-руководителя и посты в вашем канале будут выходить строго по расписанию.
Возможность задавать тон, стилистику общения у каждого сотрудника в цепочке. Например нейро-специалисту по SMM Полине можно поставить задачу писать посты в нужной стилистике вашего Телеграм канала и тогда посты будут уже будут более индивидуальными.
Возможность масштабировать и расширять возможности отдела, добавляя новых нейро-сотрудников. Например в отдел SMM вы можете “принять” еще нескольких SMM нейро-копирайтеров, которые будут писать посты в разных тематиках.
А какие вообще плюсы у технологии цепочек задач?
Самый главный плюс - декомпозиция сложной задачи, которая не под силу текущим моделям ИИ, на простые подзадачи и тем самым повышение точности результата.
Цепочка задач с вовлечением реальных людей позволяет почти полностью исключить возможность ошибок ИИ связанных с галюционированием. Вы просто ставите в нужных местах цепочки контрольные точки в которых нужно сверить результат с живым сотрудником.
Перспективы
Как вы понимаете, такая архитектура построения цепочек задач открывает безграничные возможности применения нейро-сотрудников.
Вот, для примера, еще один возможный отдел нейро-сотрудников:
Отдел составления отчетности
-
Руководитель отдела
Прием задачи
Постановка задачи сотрудникам
Утверждение промежуточных результатов с Заказчиком
-
Аналитик-программист
Подготовка заданий для Администратора базы данных
Выборка данных по API из корпоративной базы данных
Анализ данных при помощи Python
-
Менеджер по составлению отчетов
Генерация графиков (в том числе используя Python)
Генерация PDF
Генерация SVG
-
Менеджер-секретарь
Рассылка отчетов по Email
Уточнение данных у реальных людей
Если у вас есть идея для создания отделов нейро-сотрудников, пожалуйста, напишите их в комментариях. Мы обязательно ответим на любую такую идею, и возможно даже сразу реализуем её.
ChainAPI
В данный момент у нас развернуто отдельное API в котором выполняются все цепочки задач.
Вот варианты как вы можете использовать запускать выполнение цепочек задач через ChainAPI:
При срабатывании события в вашей CRM системе
При действиях клиентов на вашем сайте
При создании чат-ботов в любых сервисах, в том числе в OpenAI GPT Store
При работе в Google документах
При постановке событий в облачные календари Google, Yandex, Microsoft
При получении или отправке Email
и т.д.
Вот пример запуска цепочки задач по нашему примеру с нейро-отделом SMM:
import requests
import json
job_id = 1557 # Это номер нейро-руководителя Марка
hello_text = """
Задачу получи у +79121234567
Текст поста согласуй с @UserName
ID канала: @custom_ai_channel
Токен бота: XXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXX
""" # Этот текст получит Марк и сразу запустит выполнение цепочки задач по этим данным
chain = [
{
'employee_id' : job_id,
'role' : 'Ты - ChatGPT',
'hello_text' : hello_text,
'model' : 'gpt-4-1106-preview',
'temperature' : 0.1,
'limit' : 5,
'external_dialog' : None,
},
]
data = {
"openaikey" : 'sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
"chain" : chain,
}
logger.debug(f"/run_chain data {data}")
response = requests.post('https://ChainAPI/api/v1.0/dialog_chain', data=json.dumps(data))
return "Цепочка задач запущена."
Итог
Предлагаю всем кому интересно попробовать поставить задачу нашему отделу SMM написать мне в Телеграм и я отправлю звонок нейро-руководителя на его номер.
P.S. Ссылки на другие мои статьи по нейро-сотрудникам:
Даём нейро-сотруднику на ChatGPT управлять календарем Google через Telegram бот
Может ли нейро-сотрудник на базе ChatGPT звонить по обычной телефонной линии?
Гайд в 2 шага по созданию нейро-продавца машин на AVITO на базе LLM моделей
Нейро-сотрудники на основе ChatGPT. Вы создаете работника и продаете его на биржу труда
P.P.S. Для тех, кому любопытно выкладываю еще запись видео с консоли где видно внутренее общение нейро-сотрудников между собой:
Комментарии (14)
rtm00
12.01.2024 07:35+6Цепочка мне кажется не замкнута - нужно еще нейро-потребителя сразу сделать и все - успешный бизнес готов!
TAU15 Автор
12.01.2024 07:35+1Ну это кстати вполне реалистично. Думаю очень скоро уже будут простые нейро-сотрудники и нейро-заказчики и даже нейро-бизнесмены и нейро-собственники нейро-компаний )
Ведь ИИ построен на текущей модели человечества. И раз в нашем мире деньги это универсальный способ оценки твоей эффективности, то и в мире нейро-сотрудников будет так же.
Будет конкуренция в мире нейро-сотрудников и нейро-компаний. Все как у нас с вами.
vagon333
12.01.2024 07:35+1Что-то девочки все отличницы, а писатель-сатирик какой-то ошпаренный.
Ну, а если серьезно - жирное заявление и малый выхлоп.
С выходом GPTS (marketplace от OpenAI) таких идей (агентов) будет как грязи, но для взаимодействия ботов требуется более глубокая проработка roles and responsibilities. Может через BPMN, когда по swim-lines проходит каждый бот.
А также наличие policies and procedures, которым должны следовать боты.
Вобщем, серьезный кусок работы, который я в вашей статье не замечаю.TAU15 Автор
12.01.2024 07:35Эта статья это как стартовый флаг. Дальше мы будем публиковать уже реально внедренные цепочки задач, которые приносят живую прибыль, тем кто их внедрил в свой бизнес.
Кстати любую цепочку задач (и даже ту, что разобрана в этой статье) можно запустить из OpenAI GPT Store уже сейчас.
Lemko
Не могу понять, почему так много сущностей?
cry_san
Люди в расцвете сил. Плодят сколько могут.
Tyusha
Одно дело просто продать GPT-высер в Телеграм, который ничего не стоит; другое дело — работу целого отдела.
MountainGoat
Чтобы надёжнее дураков запутывать.
Realvolerog
Это же эксперимент, количество нужно для отладки цепочки и для демонстрации подобного процесса, можно и двумя было бы обойтись. В какой-то другой ситуации состав такой группы будет минимально необходимым.
TAU15 Автор
А кто тут вам кажется лишним в цепочке?