
Суть проблемы
Практически любая реальная бизнес-задача всегда состоит из нескольких этапов (цепочки подзадач). В небольших компаниях, как правило, один сотрудник вынужден сам выполнять все этапы бизнес-процесса, в то время как в крупных компаниях один сотрудник — это очень узкоспециализированный специалист, выполняющий только одну функцию.
При попытках заставить нейро-сотрудников на базе ChatGPT выполнять сразу несколько функций мы столкнулись с проблемой: в одной системной роли в текущих версиях ИИ не получается с нужной степенью надежностью реализовать переключение между различными функциями.
В данной статье мы с вами протестируем как работает вариант по разделению одной большой системной роли ChatGPT на 12 узкоспециализированных ролей (нейро-сотрудников) и 1 управляющую роль (руководитель нейро-сотрудников).
Знакомьтесь, Святослав a.k.a. MasterBot
В прошлой статье я рассказал про отдел из нейро-сотрудников и вот теперь хочу рассказать и показать как можно управлять этим отделом через их руководителя - Святослава, который доступен всем желающим в виде Телеграм бота.
Ну граждане алкоголики, тунеядцы, хулиганы, кто хочет поработать? (цитата из фильма)
Итак, давайте посмотрим кто у нас сейчас работает в нейро-отделе Святослава:

🌟 Наша команда помощников 🌟
1️⃣ Яков - Специалист по поиску в Яндексе. Он умеет находить нужную информацию в Яндексе. ID: 1617
2️⃣ Полина - SMM-копирайтер. Она поможет тебе с написанием SMM текстов на нужную тему. ID: 1556
3️⃣ Светлана - Менеджер Телеграм канала. Она умеет публиковать посты в нужном тебе Телеграм канале. ID: 1553
4️⃣ Толик - Парсер Телеграм каналов. Он умеет читать любой Телеграм канал и выдавать нужное количество постов. ID: 1606
5️⃣ Майя - Дизайнер. Она генерирует любые изображения. ID: 1608
6️⃣ Пётр - Программист Python. Он может решить поставленную задачу, написав код на Python и показать результат его работы. ID: 1624
7️⃣ Юлия - YouTube менеджер. Она поможет с вопросами и ссылками на ролики в YouTube. ID: 1633
8️⃣ Глеб - Менеджер Google Sheets. Он создаст готовую таблицу по переданной информации. ID: 1687
9️⃣ Дарья - PDF менеджер. Она оформит информацию в виде PDF файла. ID: 1686
🔟 Виктория - Google календарь менеджер. Она может запланировать событие или рассказать о запланированных событиях. ID: 1668
1️⃣1️⃣ Мария - Виртуальный гид по гео-координатам. Она предоставит список интересных мест в указанных гео-координатах. ID: 1667
1️⃣2️⃣ Мила - Email менеджер. Она создаст и отправит письмо на указанный Email адрес. ID: 1695
1️⃣3️⃣ Мария - Секретарь Ксения. Она может позвонить по телефону или написать человеку в Телеграм. ID: 1554
Песчаный карьер, два человека! (цитата из того же фильма)
Ну конечно на песчаный карьер мы ПОКА :) никого из них не отправим, но создавать посты в Телеграм канале эти ребята вполне готовы.
Итак, сформулируем задачу, которую мы хотим решить при помощью нашего отдела нейро-сотрудников:
Необходимо запросить тему поста, написав человеку в его Телеграм, и по полученной теме создать текст поста, фото к посту, и опубликовать в нужном нам Телеграм канале.
Ну поехали, стартуем бота и пишем первую задачу:

В его ответе видим, что задача передана Ксении - секретарю. Через пару минут мне приходит такой вопрос в мой Телеграм:

И еще через минуту мой ответ получает наш нейро-руководитель Святослав:

Идем дальше и теперь мы можем дать ему следующую задачу:

Видим, что эта задача была передана Полине - нашему нейро-копирайтеру. Ждем минуту и видим ответ Полины:

Двигаемся дальше, просим создать фото для нашего поста:

Видим, что задача была передана дизайнеру Майе и меньше чем через минуту мы получаем фото:

Финальный шаг, просим опубликовать этот пост с фото в нужном нам Телеграм канале:

Задача передает нейро-менеджеру Телеграм каналов - Светлане.
И вот, наш пост в Телеграм канале!

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

И тогда вы просто ставите задачи и просите публиковать пост, после его готовности.
Вы спросите: ну а для чего весь этот балаган из недо-сотрудников?
Ответ будет такой:
Декомпозиция сложной задачи повышает надежность работы ChatGPT и снижает расход токенов.
Если задачу можно разделить по нескольким узкоспециализированным нейро-сотрудникам (ролям ChatGPT) и дать им эффективную систему общения друг с другом это повышает в разы стабильность выполнения сложных задач и на порядок снижает расход токенов.
Как же происходит общение между нейро-сотрудниками?
Все общение строится всего на одной функции, вызываемой Святославом (Мастер Ботом).
Вот определение функции для роли ChatGPT:
{
"name": "send_taks_to_assistant",
"description": "Send task to assistant",
"parameters": {
"type": "object",
"properties": {
"assistant_id": {
"type": "integer",
"description": "Assistant ID",
},
"task": {
"type": "string",
"description": "Task description in English",
},
"role": {
"type": "string",
"description": "Role text",
},
},
"required": ["assistant_id", "task", "role"],
},
},
А вот сам код функции:
def send_taks_to_assistant(arguments):
import requests
import json
API_KEY = "chain-ai-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}",
}
API_ENDPOINT = 'https://___API_POINT___/ask_employee_queue'
data = {
'assistant_id' : arguments['assistant_id'],
'role' : arguments['role'],
'task' : arguments['task'],
}
response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(data))
return str(response.json())
Когда мы ставим задачу Святославу то видим вот такие обращения к этой функции:
{
"assistant_id": 1556,
"task": "Please write a post about butterflies.",
"role": "SMM copywriter"
}
{
"assistant_id": 1608,
"task": "Create an image for a post about how people often struggle to predict future technologies while being in the present. Answer in Russian.",
"role": "Designer"
}
{
"assistant_id": 1553,
"assistant_name": "Svetlana",
"task": "Опубликуйте пост на русском языке в Telegram канале. Приложите к посту фото.",
"role": "⏰ Telegram channel manager"
}
После запуска функции запускается внутренний диалог с нужным сотрудником и после его завершения результат высылается в текущий диалог со Святославом и цепочка задач продолжается.
За счет чего снижается расход токенов?
Когда вы общаетесь с ChatGPT вместе с вашим текущим вопросом передается весь ваш предыдущий диалог и расход токенов расчет практически в геометрической прогрессии.
В нашей модели каждый из 12 нейро-сотрудников получают не всю переписку с управляющим ботом (Святославом) а только ту информацию из диалога, которая нужна им для решения своей узкой задачи.
А что можно еще поручить этой команде нейро-сотрудников?
Цепочка №1: Ведение новостного Телеграм канала с утверждением постом Заказчиком:
🔍 Яков ищет новости на заданную тему в Яндекс
✍️ Полина пишет пост на найденный инфоповод
📋 Ксения утверждает с Заказчиком (отправив полученный от Полины текст) в Телеграм
✍️ Полина вносит правки Заказчика в текст поста
🎨 Майя создает фото к утвержденному тексту посту
⏰ Светлана публикует пост
Цепочка №2: Финансовая аналитика для Заказчика
🔍 Яков ищет финансовые показатели в Интернет
🐍 Петр визуализирует данные используя Python (строит диаграммы и графики)
✍️ Полина пишет аналитический отчет по найденным показателям
📄 Дарья формирует PDF отчет с текстом Полины и графиками Петра
📋 Ксения отправляет отчет PDF Заказчику
Итог
Мы только начинаем путь в сторону создания по настоящему работающих отделов и компаний, состоящих из нейро-сотрудников и мы в самом начале пути, но если вам это направление интересно, то пишите ваши вопросы, предложения мне в телеграм.
Да, и самое важное!
Если вы хотите создать свой отдел нейро-сотрудников со своими специальностями, то это можно сделать абсолютно не зная программирования на нашей no-code платформе. Пишите мне и я открою вам доступ для создания нейро-сотрудников и объединения их в отделы и компании.
P.S.
Все нейро-сотрудники, описанные в статье работают только по простой текстовой инструкции и вы можете создавать и настраивать их как будто вы раздаете должностные инструкции живым сотрудникам.
Любой сотрудник может быть обучен специфике вашей компании и будет работать исходя из вашей специфики. И это тоже не требует сложных технических навыков.
Каналы коммуникации можно дать любому сотруднику любые: WhatsApp, Telegram, VK, Avito, Битрикс24, AmoCRM … список не ограничен.
Сейчас все сотрудники и сам Святослав работают на базе ChatGPT 3.5 и для примера публикация одного поста с фото расходует в среднем от 30 до 70 тысяч токенов ~ 3-7 рублей :)