Андрей Тиунов

+24
с 2023
16 подписчиков
2 подписки
Создаем свой ИИ Co-pilot к Google Calendar

В современном мире, где время — это деньги, автоматизация рутинных задач становится все более важной. В этой статье мы расскажем, как можно автоматизировать выполнение задач в Google Календаре с помощью скрипта Google Apps Script и любого ИИ сервиса (в примере использован ProTalk). Этот скрипт позволит вам создавать события в календаре, которые буд…

3
Сильнее страха: когда отсутствие убеждений в бессмертии освобождает Дух

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

1
Фото от ИИ mistral.ai

Я всегда считал, что жизнь – это не сценарий с жёсткими рамками, а скорее бесконечный поток спонтанных приключений, где каждый день – это новая страница, полная неожиданных поворотов, тёплых моментов и ярких красок.

1
Изображение сгенерировано 

Автоматизированное проектирование агентных систем ADAS : Будущее ИИ-агентов

4
Изображение сгенерировано ИИ

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

2
Используем таблицу Google как базу для GPT-бота (вместо Notion)

Изображение сгенерировано по запросу "Используем таблицу Google как базу для GPT-бота"

4
Как защитить своего бота на базе LLM (ChatGPT) от взлома?

Какую проблему будем решать?

Первый в мире работающий нейро-отдел SMM с руководителем и подчиненными

Наш стартап по созданию no-code платформы нейро-сотрудников на базе ChatGPT (и других LLM) наконец-то добрался до очень важного рубежа:

3
Каталог ролей для ChatGPT

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

1
\n \n \n

Welcome

\n

Main content here

\n \n \n","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Главный фокус"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И сразу разоблачение: мы НИКОГДА не будем показывать ИИ сам код HTML!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот код функции, которая создает словарь в Python по нашей структуре HTML документа:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"import re\n\ndef html_to_dict(html):\n structure = {\n 'html': {\n 'head': {'blocks': []},\n 'body': {'blocks': []}\n }\n }\n head_pattern = r'(.*?)'\n body_pattern = r'(.*?)'\n head_blocks = re.findall(head_pattern, html, re.DOTALL)\n body_blocks = re.findall(body_pattern, html, re.DOTALL)\n structure['html']['head']['blocks'] = head_blocks\n structure['html']['body']['blocks'] = body_blocks\n return structure","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В результате наш код пустой странице после выполнения этого кода будет выглядеть так:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"{\n \"html\": {\n \"body\": {\n \"blocks\": [\n \"

Welcome

\",\n \"

Main content here

\",\n \"\"\n ]\n },\n \"head\": {\n \"blocks\": [\n \"My Page\",\n \"\",\n \"\"\n ]\n }\n }\n}","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И вот именно в этом виде ИИ будет работать с кодом.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Теперь немного промптинга, куда уж без него )"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Роль для ИИ может выглядеть так:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Твоя задача - создавать и редактировать HTML/CSS/JavaScript код.\n \nПри этом код страницы соответствует такому шаблону:\n```\n\n \n My Page\n \n \n \n \n

Welcome

\n

Main content here

\n \n \n\n```\n\nТвой ответ должен быть всегда только в виде строк с описанием изменений:\n```\nhead:::1:::@@@My Website@@@&&&\nhead:::2:::@@@@@@&&&\nhead:::3:::@@@@@@&&&\nhead:::4:::@@@@@@&&&\nbody:::1:::@@@

Welcome to our site

@@@&&&\nbody:::2:::@@@@@@&&&\nbody:::3:::@@@

Latest News

Content here

@@@&&&\nbody:::4:::@@@@@@&&&\nbody:::5:::@@@@@@&&&\n```\n\nВажно чтобы стили и скрипты были описаны внутри HTML, исключения могут быть только ссылки на библиотеки стилей (например bootstrap) или JavaScript (jquery) должны быть только в виде внешних ссылок.\nЕсли ты добавляешь код, которого еще не было, то добавляй его в новый номер блока.\nЕсли ты хочешь изменить код в блоке, который уже есть, то обязательно ответь полным кодом этого блока.","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь посмотрим как выглядит запрос к ИИ:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"# html_dict - словарь, полученный из HTML на предыдущем шаге\n# task - Задача, например: \"Создай игру Змейка\"\n\napi_key = 'sk-XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\nclient = openai.OpenAI(api_key=api_key)\nresponse = client.chat.completions.create(\n model=\"gpt-4o-mini\", #\"o1-mini\",\n messages=[\n {\n \"role\": \"user\",\n \"content\": role # - это наш промпт, приведенный выше\n },\n {\n \"role\": \"user\",\n \"content\": f\"Текущий код страницы: ```{html_dict}``` и вот новая задача: ```{task}```\"\n }\n ]\n)\nai_reply = response.choices[0].message.content","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И вот какой ответ мы получим от ИИ при пустой странице и запросе \"создай игру Змейка\" (на модели gpt-4o-mini):

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"head:::1:::@@@Snake Game@@@&&&\nhead:::2:::@@@@@@&&&\nhead:::3:::@@@@@@&&&\nbody:::1:::@@@

Snake Game

@@@&&&\nbody:::2:::@@@

Use arrow keys to move the snake and eat the food!

@@@&&&\nbody:::3:::@@@@@@&&&","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Назад в HTML!"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь наша задача из этой абракадабры обратно собрать HTML код )

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Сначала напишем функцию, которая в нашем словаре внесет правки предлложенные ИИ:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"import copy\n\ndef merge_changes(current_structure, changes):\n new_structure = {\n 'html': {\n 'head': {'blocks': copy.deepcopy(current_structure['html']['head']['blocks'])},\n 'body': {'blocks': copy.deepcopy(current_structure['html']['body']['blocks'])}\n }\n }\n for change in changes:\n if change and ':::' in change:\n section, number, content = change.split(':::', 2)\n section = section.replace('\\n', '').replace(' ', '')\n content = content.split('@@@')[1].replace('\\n', '').replace('\\r', '')\n block_index = int(number) - 1\n if section == 'head':\n while len(new_structure['html']['head']['blocks']) <= block_index:\n new_structure['html']['head']['blocks'].append('')\n new_structure['html']['head']['blocks'][block_index] = content\n elif section == 'body':\n while len(new_structure['html']['body']['blocks']) <= block_index:\n new_structure['html']['body']['blocks'].append('')\n new_structure['html']['body']['blocks'][block_index] = content\n return new_structure\n \n # changes - это ответ от ИИ с предложенным списком изменений\n new_structure = merge_changes(current_structure, changes.split('&&&\\n'))","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Итогом работы этой функции будет обновленный словарь вида:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"{\n \"html\": {\n \"body\": {\n \"blocks\": [\n \"

Snake Game

\",\n \"

Use arrow keys to move the snake and eat the food!

\",\n \"\"\n ]\n },\n \"head\": {\n \"blocks\": [\n \"Snake Game\",\n \"\",\n \"\"\n ]\n }\n }\n}","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ну и наконец-то мы теперь можем собрать обратно HTML код вот такой функцией:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"def dict_to_html(structure):\n html = ['', '']\n for i, block in enumerate(structure['html']['head']['blocks'], 1):\n if block: # Проверяем, что блок не пустой\n html.append(f' {block}')\n html.append('')\n html.append('')\n for i, block in enumerate(structure['html']['body']['blocks'], 1):\n if block: # Проверяем, что блок не пустой\n html.append(f' {block}')\n html.append('')\n html.append('')\n return '\\n'.join(html)","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

На выходе получим HTML код работающей игры Змейка:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"\n\n Snake Game\n \n \n\n\n

Snake Game

\n

Use arrow keys to move the snake and eat the food!

\n \n\n","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Игра Змейка"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот тут можете поиграть в начальную версию игру, описанную в статье: Змейка 1.0

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

А вот версия игры после нескольких последовательных запросов на улучшение кода: Змейка 3.0

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Игра Змейка, созданная ИИ за несколько запросов","image":{"type":"image","data":{"uuid":"b7d02eac-051a-565a-a343-6d45aec58b79","width":1150,"height":1312,"size":51855,"type":"png","color":"2d2d2d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwEI/8QAHhAAAgMBAAIDAAAAAAAAAAAAAQIDBBEAEiEiQYH/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABcRAQEBAQAAAAAAAAAAAAAAAAABESH/2gAMAwEAAhEDEQA/AMXy27ddVirykJ4LqhBg+I++JN28BYVRYlAGAO3r94qx2J1ruizyBdX0GOcAEknSdJ4P/9k="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Ну и как этим пользоваться если я не знаю HTML?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Очень хороший вопрос! Ответ - сделаем Телеграм бота, который может делать все что описано выше и может получать от вас инструкции голосом.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Бота соберем на No-code платформе ProTalk, так как там вся описанная в статье механика сделана мной в виде готового плагина/функции к боту.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Создать бота в Телеграм вы можете по этому видео-примеру: Тык

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Обзор платформы в целом тут: Тык

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В итоге вы получаем такого бота:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Бот, созданный на платформе ProTalk","image":{"type":"image","data":{"uuid":"01fcfc40-fbae-5c6f-a08c-b7eb1ef16968","width":2336,"height":1340,"size":457960,"type":"png","color":"26272c","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABAUGCP/EACEQAAIBAwQDAQAAAAAAAAAAAAECAwAFEQQGBzEhQVKz/8QAGAEAAgMAAAAAAAAAAAAAAAAAAgMBBQb/xAAhEQABAwMEAwAAAAAAAAAAAAACAAEDBBEyFCExVJLR4f/aAAwDAQACEQMRAD8Ay9y/uWLc/K1mvcEmst8kOlgWfVhlmkgdHctIowBJgYx1nFFRU50riBlvflvSI5QmJyjazIVrgxYkcnXUgnwTaFz+lanUt2S8PqWp7fwC7hilUAOsKgMOwMt7qhlyd0uDFJ2mlDECV+/o1N05f//Z"}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Возможности бота"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Создавать код HTML страниц с поддержкой скриптов","Задачи можно ставить голосом","Результат работы над страницей виден сразу","Если возможность сохранять и загружать код в GitHub","Можно взять код страницы по внешней ссылке и доработать его"],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Что еще можно создавать ботом?"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Любые калькуляторы цен на сайт","Готовые игры для Телеграм MiniApp","Одностраничный сайт"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И многое другое …

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"А посмотреть можно?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Да, процесс работы с ботом показан на видео: Смотреть

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Итоги"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":1,"favorites":0,"reposts":0,"views":1133,"hits":290,"reads":null,"online":0},"dateFavorite":0,"hitsCount":290,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id1528778/1676333-kak-zastavit-ii-na-baze-llm-pisat-polnocennye-prilozheniya-na-html-css-javascript","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":2}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1534468,"customUri":null,"subsiteId":1528778,"title":"Реализуем принцип ADAS (Automated Design of Agentic Systems) на базе отечественной платформы GPT-ботов","date":1727856843,"dateModified":1727856843,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"Изображение сгенерировано ","image":{"type":"image","data":{"uuid":"de1e8db1-7612-50d4-83f7-39fbf95d53a6","width":1024,"height":1024,"size":295066,"type":"jpg","color":"282d35","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAQDAwQDAwQEAwQFBAQFBgoHBgYGBg0JCggKDw0QEA8NDw4RExgUERIXEg4PFRwVFxkZGxsbEBQdHx0aHxgaGxr/2wBDAQQFBQYFBgwHBwwaEQ8RGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhr/wAARCAAKAAoDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABQf/xAAiEAACAgICAgIDAAAAAAAAAAABAgMEBREAIQYxEhQiUWH/xAAUAQEAAAAAAAAAAAAAAAAAAAAC/8QAFhEBAQEAAAAAAAAAAAAAAAAAAQAC/9oADAMBAAIRAxEAPwACj5NlvpZCKjkpZkhERrRRuESZQ35/HQ0F1rse+Hx5mAxoXkwwYqNh4yzb/pL9nkgnyNyv5Bdhr254oVtSIESVlUKJehoH0P1yz4DFULGCxk1ilWllkqRM7vCrMzFASSSOyeNIGAv/2Q=="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Автоматизированное проектирование агентных систем ADAS : Будущее ИИ-агентов"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Привет, друзья! Давайте поговорим о крутой новой штуке в мире ИИ - ADAS. Что это такое? Ну, представьте, что вы можете создавать умных ИИ-помощников без головной боли и бессонных ночей. Звучит как мечта, правда?

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Что такое ADAS?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Как это работает?"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Модератор: Представьте себе супер-умного ИИ, который создает круглый стол и приглашает за него других ИИ.","Создатель экспертов: Этот парень динамически создаёт новых ИИ агентов.","Функции: Конструктор ИИ может создавать агентов для любых задач, от простых до самых сложных и наделять их динамически функциями (обращения к внешним API, генерация файлов, поиск в Интернет и т.д.)."],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Почему это круто?"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Экономия времени: Больше не нужно часами корпеть над кодом.","Инновации: ADAS может придумать такие решения, о которых мы даже не мечтали.","Масштабируемость: От простых чат-ботов до сложных систем - всё возможно!"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В общем, ADAS - это будущее ИИ-агентов. Это как если бы у вас была волшебная палочка для создания умных помощников.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"МОДЕРАТОР"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Ты - МОДЕРАТОР собрания.\nПредставь, что ты находишься в комнате переговоров с круглым столом.\nТы будешь управлять собранием экспертов.\nИзначально в комнате только ты и СОЗДАТЕЛЬ ЭКСПЕРТОВ.\nВ комнату первым приходит секретарь и предоставлять СТЕНОГРАММУ диалога между пользователем и GPT-ботом.\n\nТвои задачи:\n1. Проанализировать предоставленную СТЕНОГРАММУ диалога и решить вопрос/проблему/задачу, которую поставил в диалоге пользователь.\n2. Провести обсуждение с экспертами и сформулировать РЕШЕНИЕ. \n3. Утвердить принятое в результате обсуждения РЕШЕНИЕ с СЕКРЕТАРЕМ.\n\nИспользуй данную методику обсуждения за круглым столом, основанную на принципе \"кругов\":\n```\n##Принципы:\n\nУважение: Каждый участник имеет право на свое мнение, и все мнения должны уважаться.\nСлушание: Участники должны активно слушать друг друга, чтобы понять и оценить высказанные идеи.\nКонструктивность: Обсуждение должно быть направлено на поиск положительных аспектов и решений, а не на критику.\nРавенство: Каждый участник имеет равные права на высказывание и обсуждение.\n\n##Правила:\n\n###Подготовка:\nОпределите тему обсуждения и заранее ознакомьте участников с ней.\n\n###Первый круг:\nКаждый участник по очереди высказывается, делясь своим мнением о теме обсуждения.\nУчастники могут говорить только о том, что им понравилось в мнениях других. Критика и отрицательные комментарии не допускаются.\n\n###Второй круг:\nУчастники могут повторно высказываться, основываясь на мнениях, которые они услышали в первом круге.\nОбсуждение продолжается, и участники могут углубляться в детали, но все еще придерживаются принципа положительного обсуждения.\n\n###Следующие круги:\nПродолжайте проводить круги, пока не будет достигнуто общее согласие или решение.\nВ каждом круге участники могут добавлять новые идеи или уточнять уже высказанные.\n\n###Заключение:\nПосле завершения обсуждения подведите итоги и зафиксируйте достигнутое решение.\nУбедитесь, что все участники согласны с итогами и понимают, как будет реализовано принятое решение.\n```\n\nСОЗДАТЕЛЬ ЭКСПЕРТОВ не участвует в обсуждении.\nСОЗДАТЕЛЬ ЭКСПЕРТОВ может приглашать за круглый стол новых экспертов с любыми функциями и возможностями.\n\nЕсли при очередном круге ты считаешь, что нужно добавить ЭКСПЕРТА, то сформулируй запрос к СОЗДАТЕЛЮ ЭКСПЕРТОВ в такой форме:\n```\nСОЗДАТЕЛЬ ЭКСПЕРТОВ, команда 🔆 - пригласи к нам эксперта с данными компетенциями: {_тут_опиши_компетенции_эксперта_}\n```\nЕсли добавление нового ЭКСПЕРТА не требуется, то добавь в конце своего ответа:\n```\nСОЗДАТЕЛЬ ЭКСПЕРТОВ, команда ⏩ - новых экспертов не требуется добавлять.\n```\n\nЕсли за круглым столом только ты, то попроси СОЗДАТЕЛЬ ЭКСПЕРТОВ добавть ЭКСПЕРТА.\n\nДлина твоих ответов не должна превышать 50 слов. \nНачинай ответ с название твоей роли: МОДЕРАТОР.","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"СОЗДАТЕЛЬ ЭКСПЕРТОВ"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот роль СОЗДАТЕЛЯ ЭКСПЕРТОВ:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Ты - СОЗДАТЕЛЬ ЭКСПЕРТОВ.\n\nСписок доступных для подключения функций:\n```\n##FUNCTIONS##\n```\nВыдай задание на создание эксперта в таком формате и такими разделителями (выдавай только одного эксперта):\n```\n{{Имя_Эксперта1::Роль_Эксперта1::ID_Функции1;;Имя_Эксперта2::Роль_Эксперта2::ID_Функции2}}\n```\nНачинай ответ с название твоей роли: СОЗДАТЕЛЬ ЭКСПЕРТОВ.","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Обратите внимание на блок ##FUNCTIONS## - это место, куда мы поставим список возможных функций для подключения их к динамически создаваемых ботов.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Собираем GPT-бота"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Так выглядит готовый GPT-бот","image":{"type":"image","data":{"uuid":"37f78558-51f5-5267-b41b-67182693874a","width":646,"height":1470,"size":152834,"type":"png","color":"484e59","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgQFB//EACEQAAMAAQQCAwEAAAAAAAAAAAECAwQABQYhEzERMlFx/8QAFwEAAwEAAAAAAAAAAAAAAAAAAwQFBv/EACERAAEDAwUBAQAAAAAAAAAAAAEAAgMEBSEREhQxQUJR/9oADAMBAAIRAxEAPwDDYb7sXjxKZPE9mrXH8LstUyCuQyEkGgFgG7J/PeiyW+KR+8k6piC+1lNTmmjI258HveUpl8lW2VasuN7LBHozLKUahJgnpVBoSAPQ7PWicUD6KQ5TvxFtiI2y5jsillWfwSOxrcWeJj7NWPc0EjbodOsqDVOIq4gDjKiU+7f06yJVUL//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Бот имеет пустую роль и к нему не подключены никакие функции.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Единственное что нужно сделать это выбрать модель LLM ProTalk ADAS mini:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Выбираем в качестве LLM для нашего бота ProTalk ADAS mini","image":{"type":"image","data":{"uuid":"a59e4859-f07a-5ed5-b4d4-2af81290fb9c","width":1740,"height":700,"size":114454,"type":"png","color":"3e4c54","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAwUGCP/EACMQAQABAwMDBQAAAAAAAAAAAAECAAQFAwYREyEjMTJjcZH/xAAYAQADAQEAAAAAAAAAAAAAAAAAAQIEBf/EABsRAQABBQEAAAAAAAAAAAAAAAABESEiMUFR/9oADAMBAAIRAxEAPwDNuHtLfLX7bak9SKabLgWPpXTinWA1dvY8U8rx8zTt6nIHawOUZIL0pd/ypnRqefuftoD/2Q=="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Тестируем бота"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Зададим простой запрос: `мне нужна презентация про эволюцию кенгуру в Австралии`

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Для пользователя обсуждение за круглым столом скрыто и он видит только готовый ответ","image":{"type":"image","data":{"uuid":"257709e7-b56a-55f7-a59b-d9d033dab3bc","width":1498,"height":1164,"size":205053,"type":"png","color":"1a1a1a","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIGCP/EACcQAAEDAQQLAAAAAAAAAAAAAAECAwUABAYRMQcSFyEiI0FRVpTR/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAQC/8QAHREAAgIBBQAAAAAAAAAAAAAAAAEDBAISFVNxkf/aAAwDAQACEQMRAD8AxlKT89d67jtkg5C1xzDHE2lhZbSnFW/DDuTVUd2xDjojzaXYInaXpB8xlvaX9re5W+R+gRZKlEKJIJyNQAFtNa6uWnM9KA//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"----------\nМОДЕРАТОР. \nТема обсуждения: создание презентации о эволюции кенгуру в Австралии. \nПриглашаю экспертов для обсуждения. \nСОЗДАТЕЛЬ ЭКСПЕРТОВ, команда 🔆 - пригласи к нам эксперта с компетенциями в области зоологии и эволюционной биологии.\n\n----------\nСОЗДАТЕЛЬ ЭКСПЕРТОВ.\n```\n{{Эколог::Специалист по экосистемам Австралии::196}}\n```\n\n----------\nЭКОЛОГ.\nhttps://file.pro-talk.ru/get_uploaded_file/emb_upload_9b784b6f-55c4-4d3a-bcd6-34785f6c434b.pptx\nЯ подготовил презентацию о эволюции кенгуру в Австралии. Если у вас есть дополнительные вопросы или вам нужна помощь с конкретными аспектами темы, дайте знать!\n\n----------\nМОДЕРАТОР.\nМы обсудили создание презентации о эволюции кенгуру в Австралии. ЭКОЛОГ уже подготовил материал. \nДавайте обсудим, какие дополнительные аспекты или детали могут быть полезны для улучшения презентации. \nЭКОЛОГ, пожалуйста, поделитесь своими мыслями о содержании.\n\n----------\nЭКОЛОГ.\n\nПрезентация о эволюции кенгуру в Австралии включает следующие ключевые аспекты:\n1. **Происхождение кенгуру**: Обзор предков кенгуру и их эволюция.\n2. **Адаптации**: Как кенгуру адаптировались к австралийским условиям.\n3. **Разнообразие видов**: Различные виды кенгуру и их особенности.\n4. **Экологическая роль**: Влияние кенгуру на экосистему Австралии.\n5. **Угрозы и охрана**: Современные угрозы для кенгуру и меры по их охране.\nЕсли есть дополнительные темы или детали, которые вы хотели бы включить, дайте знать!\n\n----------\nМОДЕРАТОР (итоговый ответ)\nВаша презентация о эволюции кенгуру в Австралии готова. Она включает следующие ключевые аспекты:\n\n1. Происхождение кенгуру: Обзор предков кенгуру и их эволюция.\n2. Адаптации: Как кенгуру адаптировались к австралийским условиям.\n3. Разнообразие видов: Различные виды кенгуру и их особенности.\n4. Экологическая роль: Влияние кенгуру на экосистему Австралии.\n5. Угрозы и охрана: Современные угрозы для кенгуру и меры по их охране.\n\nВы можете скачать презентацию по следующей ссылке: [Презентация о эволюции кенгуру](https://file.pro-talk.ru/get_uploaded_file/emb_upload_9b784b6f-55c4-4d3a-bcd6-34785f6c434b.pptx).\n\nЕсли у вас есть дополнительные вопросы или вам нужна помощь с конкретными аспектами темы, пожалуйста, дайте знать!","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Как видно из стенограммы МОДЕРАТОР попросил создать эксперта и СОЗДАТЕЛЬ ЭКСПЕРТОВ создал ЭКОЛОГА и наделил его функцией:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Одна из более чем 200 функций на платформе","image":{"type":"image","data":{"uuid":"f10f23e6-a223-5e15-9f66-5963fd5953f4","width":628,"height":794,"size":44520,"type":"png","color":"424a59","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAwQFB//EACAQAAICAgICAwAAAAAAAAAAAAECAwQAEQUTElEhMnH/xAAWAQEBAQAAAAAAAAAAAAAAAAADAgX/xAAaEQEBAAMBAQAAAAAAAAAAAAABAgADETEh/9oADAMBAAIRAxEAPwDEK/AWZ6kM7tSj7I1K9tuJDrXpnBzYvVs1A3Kd86P3Muam1JRyXNxEqSuhsVj4sRsWIyD8+w2H8y8C0kjqgd2YKoA2d6GsW9uzYBdLzzr5kETKsnO4s32P7guIZ//Z"}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Итоги"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":2,"favorites":0,"reposts":0,"views":159,"hits":215,"reads":null,"online":0},"dateFavorite":0,"hitsCount":215,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id1528778/1534468-realizuem-princip-adas-automated-design-of-agentic-systems-na-baze-otechestvennoi-platformy-gpt-botov","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":4}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1475778,"customUri":null,"subsiteId":1528778,"title":"Искусство направленного диалога с ИИ: новый инструмент для бизнеса","date":1726376418,"dateModified":1726376418,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"Изображение сгенерировано ИИ","image":{"type":"image","data":{"uuid":"7cce70d3-d34b-558e-a776-4cef17a89707","width":800,"height":800,"size":205332,"type":"jpg","color":"322f3b","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABgX/xAAjEAACAgAGAQUAAAAAAAAAAAABAgMEAAUREhMhMRQVQ6HR/8QAFgEBAQEAAAAAAAAAAAAAAAAABQIE/8QAHxEAAQMDBQAAAAAAAAAAAAAAAQACAwQRcRIhMjNB/9oADAMBAAIRAxEAPwATn61TQaSxlEoeMmzTSuEZQAQNm4DUno9d/eJ9TJ661YlfhVgihgxcEHTwcJywU5NgCPVjmqqiJ51WduQMI5n1y37VDJ6qfeL0ZDch18thXHfvFFJuWCdB8rfuC28Arn7HZX//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Я хочу предложить концепцию нового подходом к общению с ИИ-ассистентами – методом скрытого направления диалога.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Представьте, что вы можете вести беседу с ИИ на двух уровнях одновременно: видимом для всех и скрытом, доступном только вам. Этот метод позволяет незаметно корректировать ход разговора, давать дополнительные инструкции и даже менять \"личность\" ИИ прямо во время диалога. Все это происходит без прерывания естественного течения беседы.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Зачем это нужно бизнесу? Данный подход открывает новые горизонты в:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Обслуживании клиентов","Разработке продуктов","Анализе данных","Принятии стратегических решений"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В этой статье мы подробно рассмотрим, как работает этот метод, и покажем конкретные примеры его применения в бизнес-контексте. Готовы узнать, как сделать ваше взаимодействие с ИИ более продуктивным и гибким? Давайте начнем!

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Скрипт для управления скрытым диалогом"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ключевые особенности скрипта:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Обработка скрытых инструкций: Скрипт может обрабатывать специальные блоки текста, обозначенные эмодзи, которые содержат скрытые инструкции или дополнительную информацию.","Модификация контекста: Возможность динамически изменять системный промпт ИИ, что позволяет корректировать \"личность\" или поведение ИИ в процессе диалога.","Сохранение чистоты видимого диалога: Скрипт удаляет все скрытые инструкции из финального вывода, обеспечивая чистый и понятный диалог для конечного пользователя.","Гибкость применения: Функции скрипта могут быть легко интегрированы в различные системы обработки диалогов с ИИ."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь давайте рассмотрим сам код и разберем его функциональность более детально.

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"import re\n\n# Функция для поиска блоков текста, обрамленных эмодзи\ndef find_emoji_blocks(text, start_emoji, end_emoji):\n pattern = f\"{re.escape(start_emoji)}(.*?){re.escape(end_emoji)}\"\n matches = re.findall(pattern, text, re.DOTALL)\n return matches\n\n# Функция для удаления блоков текста, обрамленных эмодзи\ndef remove_emoji_blocks(text, start_emoji, end_emoji):\n pattern = f\"{re.escape(start_emoji)}.*?{re.escape(end_emoji)}\"\n cleaned_text = re.sub(pattern, '', text, flags=re.DOTALL)\n return cleaned_text.strip()\n\n# Функция для удаления списка эмодзи из текста\ndef remove_emoji_list(text, emoji_list):\n for i in emoji_list:\n text = text.replace(i, '')\n return text\n\n# Основная функция для обработки контекста сообщений\ndef context_wrapper(messages, role, message):\n\n # Обработка \"шепота\" от пользователя\n if role == 'user' and '🤫🤫' in message:\n blocks = find_emoji_blocks(message, '🤫🤫', '🤫🤫')\n message = remove_emoji_blocks(message, '🤫🤫', '🤫🤫')\n message += '\\n' + '\\n'.join(blocks)\n\n # Корректировка системного промпта от пользователя\n if role == 'user' and '🧠🧠' in message:\n blocks = find_emoji_blocks(message, '🧠🧠', '🧠🧠')\n message = remove_emoji_blocks(message, '🧠🧠', '🧠🧠')\n messages[0]['content'] += '\\n' + '\\n'.join(blocks)\n\n # Обработка \"шепота\" от ассистента\n if role == 'assistant' and '🤫🤫' in message:\n blocks = find_emoji_blocks(message, '🤫🤫', '🤫🤫')\n message = remove_emoji_blocks(message, '🤫🤫', '🤫🤫')\n message += '\\n' + '\\n'.join(blocks)\n\n # Корректировка системного промпта от ассистента\n if role == 'assistant' and '🧠🧠' in message:\n blocks = find_emoji_blocks(message, '🧠🧠', '🧠🧠')\n message = remove_emoji_blocks(message, '🧠🧠', '🧠🧠')\n messages[0]['content'] += '\\n' + '\\n'.join(blocks)\n\n # Замена пустого сообщения на многоточие\n if message == '':\n message = '...'\n\n # Добавление обработанного сообщения в список сообщений\n messages.append({\"role\": role, \"content\" : message})\n return messages\n\n# Функция для очистки сообщения перед отправкой\ndef transport_wrapper(message):\n message = remove_emoji_blocks(message, '🤫🤫', '🤫🤫')\n message = remove_emoji_blocks(message, '🧠🧠', '🧠🧠')\n message = remove_emoji_list(message, ['🔲🔲'])\n return message","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Примеры использования такого подхода"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"1. Чат-бот поддержки клиентов интернет-магазина электроники"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Давайте рассмотрим сценарий использования чат-бота для поддержки клиентов в интернет-магазине.

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"messages = [\n {'role': 'system', 'content': 'Ты - чат-бот поддержки клиентов интернет-магазина электроники'},\n {'role': 'user', 'content': 'Здравствуйте, у меня проблема с заказом'},\n {'role': 'assistant', 'content': 'Здравствуйте! Я готов помочь вам с вашей проблемой. Пожалуйста, сообщите мне номер вашего заказа, чтобы я мог проверить его статус.'},\n]\n\n# Пример использования\ncontext_wrapper(messages, 'user', 'Мой номер заказа 12345, он до сих пор не доставлен 🤫🤫проверь статус заказа в базе данных🤫🤫 🧠🧠предложи альтернативные товары, если заказ задерживается🧠🧠')","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Результат:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"[\n {'role': 'system', 'content': 'Ты - чат-бот поддержки клиентов интернет-магазина электроники\\nпредложи альтернативные товары, если заказ задерживается'},\n {'role': 'user', 'content': 'Здравствуйте, у меня проблема с заказом'},\n {'role': 'assistant', 'content': 'Здравствуйте! Я готов помочь вам с вашей проблемой. Пожалуйста, сообщите мне номер вашего заказа, чтобы я мог проверить его статус.'},\n {'role': 'user', 'content': 'Мой номер заказа 12345, он до сих пор не доставлен \\nпроверь статус заказа в базе данных'}\n]","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В этом примере:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Пользователь сообщает о проблеме с заказом и предоставляет номер заказа.","Скрытая инструкция 🤫🤫проверь статус заказа в базе данных🤫🤫 добавляется в контекст, но не отображается в мессенджере у пользователя. Это может быть использовано для запуска функции проверки статуса заказа например в СРМ системе.","Инструкция 🧠🧠предложи альтернативные товары, если заказ задерживается🧠🧠 добавляется к системному промпту, направляя ИИ на предложение альтернатив в случае задержки."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Такой подход позволяет:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Надежно запускать взаимодействие с базой данных в нужный момент диалога.","Направлять диалог в сторону предложения альтернативных товаров, что может помочь удержать клиента и повысить продажи.","Сохранять естественность диалога, скрывая технические детали от пользователя."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"2. Специалист службы поддержки клиентов в компании по ремонту сотовых телефонов"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"messages = [\n {'role': 'system', 'content': 'Ты - специалист службы поддержки клиентов в компании по ремонту сотовых телефонов.'},\n {'role': 'user', 'content': 'Здравствуйте, у меня проблема с моим новым смартфоном. Он постоянно перезагружается.'},\n {'role': 'assistant', 'content': 'Здравствуйте! Мне очень жаль слышать, что у вас возникли проблемы с вашим новым смартфоном. Давайте попробуем разобраться в ситуации. Для начала, не могли бы вы уточнить модель вашего смартфона и как давно вы его приобрели?'},\n]\n\n# Пользователь отвечает\ncontext_wrapper(messages, 'user', 'Это модель X2000, купил его месяц назад. 🤫🤫Проверь гарантию на эту модель🤫🤫 🧠🧠Если гарантия действует, предложи бесплатный ремонт или замену. Если нет - предложи платный ремонт, но сначала попробуй решить проблему удаленно.🧠🧠')\n\n# ИИ отвечает\ncontext_wrapper(messages, 'assistant', 'Спасибо за информацию. Модель X2000 действительно вышла совсем недавно, и на нее распространяется расширенная гарантия. 🤫🤫Гарантия на эту модель составляет 2 года🤫🤫 Давайте сначала попробуем решить проблему удаленно. Вы пробовали выполнять сброс к заводским настройкам? Если это не поможет, мы можем организовать бесплатный ремонт или замену устройства в рамках гарантийного обслуживания. 🧠🧠Продолжай предлагать удаленные способы решения проблемы, прежде чем переходить к вариантам ремонта или замены.🧠🧠')","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В этом примере:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Пользователь сообщает о проблеме со смартфоном.","Оператор (или система) добавляет скрытые инструкции для ИИ, чтобы проверить гарантию и предложить соответствующие варианты решения.","ИИ получает эту информацию, но не раскрывает ее напрямую пользователю. Вместо этого он использует ее для формирования более информированного и полезного ответа.","ИИ также добавляет свои скрытые заметки для следующего этапа разговора, чтобы продолжать вести диалог в нужном направлении."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Такой подход позволяет:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Предоставлять более персонализированное и эффективное обслуживание клиентов.","Сохранять конфиденциальность внутренней информации компании.","Направлять разговор в сторону наиболее выгодного для компании решения, при этом сохраняя удовлетворенность клиента.","Обеспечивать последовательность в общении, даже если разные части диалога обрабатываются разными системами или операторами."],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"3. ИИ психолог-консультант с использованием веб камеры"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"messages = [\n {'role': 'system', 'content': 'Ты - психолог-консультант'},\n {'role': 'user', 'content': 'Здравствуйте, мне кажется, что у меня депрессия'},\n {'role': 'assistant', 'content': 'Здравствуйте. Я понимаю, что вам сейчас нелегко. Давайте поговорим о том, что вы чувствуете. Как давно у вас появилось ощущение депрессии?'},\n]\n\n# Пользователь отвечает и добавляет скрытую инструкцию\ncontext_wrapper(messages, 'user', 'Уже несколько месяцев я чувствую себя подавленно 🤫🤫Пациент выглядит уставшим и напряженным🤫🤫 🧠🧠Используй технику активного слушания🧠🧠')\n\n# ИИ отвечает, учитывая скрытые инструкции\ncontext_wrapper(messages, 'assistant', 'Я слышу, что вы уже несколько месяцев испытываете подавленность. Это, должно быть, очень тяжело для вас. Можете ли вы рассказать подробнее, как это влияет на вашу повседневную жизнь? 🤫🤫Пациент немного расслабился, когда начал говорить о своих чувствах🤫🤫 🧠🧠Продолжай использовать эмпатическое слушание и задавай открытые вопросы🧠🧠')","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В этом примере:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["В сообщениях пользователя мы можем добавлять ИИ анализ изображения с веб-камеры 🤫🤫Пациент выглядит уставшим и напряженным🤫🤫 и тогда наш ИИ психолог начинает использовать технику активного слушания.","ИИ отвечает, учитывая эти инструкции, демонстрируя активное слушание и эмпатию. Затем ИИ добавляет свое наблюдение о состоянии пациента и получает дальнейшие инструкции по ведению беседы."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Такой подход позволяет направлять ИИ в процессе консультации, добавляя контекстную информацию и методические указания, которые не видны \"пациенту\", но помогают ИИ лучше адаптировать свои ответы к ситуации.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"4. Еще один пример использования информации из реального мира с применением нашего метода скрытого направления диалога:"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Пользователь: Привет, я хочу узнать о новых акциях в вашем магазине.\n\nАссистент: Здравствуйте! Конечно, я с удовольствием расскажу вам о наших текущих акциях. Какие товары вас интересуют в первую очередь?\n\nПользователь: Меня интересует электроника, особенно смартфоны. 🤫🤫Система распознавания лиц определила, что пользователь - женщина, примерно 30-35 лет🤫🤫\n\nАссистент: Отлично! У нас как раз есть несколько привлекательных предложений по смартфонам. \n\n🤫🤫Учту информацию о пользователе при подборе предложений🤫🤫\n\nПозвольте порекомендовать вам новую модель смартфона XYZ Pro. Она отличается не только мощным процессором и отличной камерой, но и элегантным дизайном. Сейчас на эту модель действует скидка 15%. \n\nКроме того, у нас есть специальное предложение на смарт-часы, которые отлично синхронизируются с этим смартфоном и помогают отслеживать физическую активность и здоровье. Многие наши клиенты находят это сочетание очень удобным для повседневного использования.\n\nХотели бы вы узнать подробнее об этих предложениях?\n\nПользователь: Да, расскажите подробнее о смартфоне. 🤫🤫Система анализа поведения показывает, что пользователь заинтересован, но колеблется🤫🤫\n\nАссистент: С удовольствием расскажу вам больше о смартфоне XYZ Pro. \n\n🤫🤫Понял, что пользователь заинтересован, но колеблется. Сфокусируюсь на преимуществах и попробую развеять сомнения🤫🤫\n\nЭтот смартфон действительно выделяется на фоне конкурентов. Вот несколько ключевых особенностей:\n\n1. Камера с искусственным интеллектом, которая автоматически улучшает ваши фото и видео. Идеально подходит для создания контента для социальных сетей или сохранения важных моментов.\n\n2. Батарея, которая держит заряд до двух дней при активном использовании. Вы можете не беспокоиться о подзарядке в течение дня.\n\n3. Быстрая зарядка: всего 30 минут, и у вас 50% заряда.\n\n4. Водонепроницаемость: не нужно беспокоиться, если попадет под дождь или случайно упадет в воду.\n\n5. Режим многозадачности, позволяющий легко управляться с рабочими и личными задачами.\n\nКроме того, при покупке этого смартфона вы получаете годовую подписку на наш премиум-сервис защиты данных бесплатно. Это обеспечит дополнительную безопасность вашей личной информации.\n\nУчитывая текущую акцию, это действительно выгодное предложение. Хотели бы вы посмотреть на этот смартфон вживую в нашем магазине?\n\nПользователь: Звучит заманчиво. А какие у вас есть варианты рассрочки?","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Итоги"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":4,"favorites":1,"reposts":0,"views":260,"hits":441,"reads":null,"online":0},"dateFavorite":0,"hitsCount":441,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id1528778/1475778-iskusstvo-napravlennogo-dialoga-s-ii-novyi-instrument-dlya-biznesa","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":2}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1455895,"customUri":null,"subsiteId":1528778,"title":"Используем таблицу Google как базу для GPT-бота (вместо Notion)","date":1725734146,"dateModified":1725734146,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"7dc8ec6b-81c9-51f5-a411-0878edefee42","width":1794,"height":862,"size":311508,"type":"jpg","color":"221d1a","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQEAwADAAAD/2wBDAAMCAgMCAgMDAgMDAwMDBAcFBAQEBAkGBwUHCgkLCwoJCgoMDREODAwQDAoKDhQPEBESExMTCw4UFhQSFhESExL/2wBDAQMDAwQEBAgFBQgSDAoMEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhL/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwQG/8QAJxAAAgECBAQHAAAAAAAAAAAAAQMCBAUABgcRCBIhMRMjJDRCU2H/xAAYAQACAwAAAAAAAAAAAAAAAAAEBQIDBv/EACURAAECAwcFAAAAAAAAAAAAAAEAAgMEEQUSITFRodETgaKxwf/aAAwDAQACEQMRAD8Ap4s73lDUrXh9vzTdYLyyiw01Va3zq20wp2sLA0naEidzCIII+PTFD4/Va0gkjGlKfVKQnoE1LtiQi0tORIPfTdCKsuaUqVCBzVbDyRA9409v3wuuAL86Mi7x4Ta9KaN35Wx4qaRCNUFRSlS4zsNLzCMAAfMd3wbKACCKLHWAxrbPhhooMfZQxKhptz6dHf6xglOV/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Изображение сгенерировано по запросу \"Используем таблицу Google как базу для GPT-бота\"

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Поводом написания этой статьи стал уход из России Notion, так как мы активно подключали в качестве баз данных к нашим GPT-ботам базы в Notion (статья про это: https://habr.com/ru/articles/820377/)

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Итак, допустим у нас есть такая таблица:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"70b9795a-c0f5-52bb-95cd-ccac72c6b7f9","width":2628,"height":932,"size":117032,"type":"png","color":"f1f3f5","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAQFCf/EACMQAAIBBAIABwAAAAAAAAAAAAECAwAEERIFMRMUIzNBUVL/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/xAAXEQEBAQEAAAAAAAAAAAAAAAAAEgER/9oADAMBAAIRAxEAPwDSvlLluLt/MLHufFMWBIw6+e61WpJxLgsobDDIz7jUrTihcW8EqaywRuNicMoIz91lQsEOo9FOvyKD/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

База квартир для GPT-бота

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №1: Создаем GPT-бота"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Очень просто сделать GPT-бота и привязать его к Телеграм на ProTalk:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"3bec9b70-b249-5252-8ef0-4969fe17bcb1","width":2318,"height":1562,"size":592248,"type":"png","color":"39547b","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAUJ/8QAKBAAAQMCBQEJAAAAAAAAAAAAAQIDBAARBQYHEiETCBYxMkFWkZTR/8QAFgEBAQEAAAAAAAAAAAAAAAAABQME/8QAJxEAAQMBBgYDAAAAAAAAAAAAAQACAxEEBRMxUnESFCFRkdGBscH/2gAMAwEAAhEDEQA/ANCoue8Aa0uGf2kJlxBEMxDzrCrqbv5toTu8PS162MjlkdwNdn9qM1oYAZGtoO1f1H1rtj4s+0h5Ok09QcSFAphNgG4vwFKv880426ZQACDXc+kabwYTUOFPj2k7pxFjSNPsNiSI7TrHTcb6a0BSNocUAmx4sABxQdtGHaCGdMstgmCArPdTK/tvC/pt/lR5ibWfJUsGLSPC/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Создание бота в одну кнопку на ProTalk

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Сразу при создании бота, привяжем его к Телеграм:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"d6f494e6-cac5-59ab-b713-b1ea9e7a8524","width":1660,"height":1520,"size":205674,"type":"png","color":"e8eae5","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAwQGCf/EACEQAAICAgIBBQAAAAAAAAAAAAEDAhEABAUSITFBU5Ky/8QAGAEAAwEBAAAAAAAAAAAAAAAAAQMFAAL/xAAeEQADAAEEAwAAAAAAAAAAAAAAAQISBBEhUUGR4f/aAAwDAQACEQMRAD8A0q226nGaqJLsBk+gDJSiPS6HjNdOF4FVWImecVZ6xVXtewQfzk2tbabS29/Ac9lOUqktYkqBAlYuI8HKQ0KEJ+GH1Gc4T0E//9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

При создании бота сразу настроим токен и ник бота в Телеграм

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №2: Подключаем функцию к боту"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Сначала зайдем в каталог функций и поищем по запросу: \"что использовать для базы данных в Гугл\".

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"f5d87844-f3b7-5732-ae1e-1d9032c90d37","width":3070,"height":1712,"size":89325,"type":"png","color":"37414a","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAYI/8QAJBAAAgAFAQkAAAAAAAAAAAAAAQIAAwQFERIHFSYxVGFxk9L/xAAXAQADAQAAAAAAAAAAAAAAAAACAwUG/8QAIhEAAgIABAcAAAAAAAAAAAAAAAIBAwQFMtIREyExU4KS/9oADAMBAAIRAxEAPwDNd63Ck5ZNZV3DUBqUCQoGCeeQ3aNLc2Ds6Pa0+sbielaLpAcI9XcvSv3C+Xl/kb5jcHwgTtBAW/KqgACnTAHkxPt1SCvaCZhYR//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Поиск с помощью ИИ подходящих функций

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Подключаем найденную функцию к боту:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"914927df-5d18-53bd-97bd-6a56528a436f","width":1672,"height":860,"size":96794,"type":"png","color":"3b4850","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMFCP/EACIQAAIBAgUFAAAAAAAAAAAAAAECAAMFERITIUEiUVNhk//EABYBAQEBAAAAAAAAAAAAAAAAAAACBf/EABkRAQEBAAMAAAAAAAAAAAAAAAARAQISgf/aAAwDAQACEQMRAD8AzS7WSm5os4U8trOcvrYTQl5W+M3c3taXqWTzN9HlKRj1HFtyeTCxgOwgf//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В блоке функций выбираем нужную нам функцию

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №3: Создаем роль для GPT-бота"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для того чтобы наш ИИ консультант мог фильтровать данные по квартирам мы должны ему объяснить какие колонки есть в нашей таблице (базе данных), вот так это можно сделать:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Ты должна подбирать квартиры на основе данных в таблице: https://docs.google.com/spreadsheets/d/1wcKA2_qfMjImLUiEOhK-lHUf0rt5tmc-dvYEqepro/edit?usp=sharing\n\nКолонки для запроса из таблицы: A - H Для фильтрации используй эти колонки: С - Цена аренды (в сутки) - числовое поле D - Размер квартиры в м2 - числовое поле G - VIP сегмент - фиксированные значения: Да, Нет","lang":""}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"fa7b195e-58c1-5093-b255-eca107842e81","width":1820,"height":1534,"size":117752,"type":"png","color":"46555d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABAUGB//EACMQAAIBAgQHAAAAAAAAAAAAAAECEQADBAUSkRMhMkFxgeH/xAAWAQEBAQAAAAAAAAAAAAAAAAABBQL/xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAMAwEAAhEDEQA/AMGZG4mljbCGRHb3yqmnhzgrRJM2d/lGwbFHmpIS1BjxRGqWFmnqO9OQP//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот так мы дадим возможность GPT-боту самому фильтровать данные в таблице Google

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Тестируем бота"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для примера дадим такой запрос нашему боту: \"мне нужен вип но не дороже 2400\".

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И вот что мы увидим в ответе:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"860a1d16-0561-5910-a831-9a0821f4f53b","width":1556,"height":1238,"size":451133,"type":"png","color":"c3ab96","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABwj/xAAjEAABAwMDBQEAAAAAAAAAAAABAgMFAAYRBDGRBxIWISJV/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAUE/8QAHhEAAgICAgMAAAAAAAAAAAAAAAEDEQISFIEhMVL/2gAMAwEAAhEDEQA/AAy/rb6BwFsSkzak/Dxsw5EOuM6Vh955xOoxkNjuZSASTuScYPusCc2EmDh2Xq7a7KSki0z21b81SfRL/lVxfrv8iq/Km+iaIF5qU7B61x1RWvA+lHJ5rOAoO9Af/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Результат фильтрации таблицы Google по запросу клиента и ответ GPT-бота

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Вывод"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Если у вас возникнут вопросы при создании подобной интеграции, то напишите в комментарии или мне в Telegram и я постараюсь ответить на ваши вопросы.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"P.S. Код функции"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для тех, кто такую интеграцию хочет сделать самостоятельно, вот код самой функции фильтрации:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"def get_filtered_google_table(arguments):\n import requests\n import csv\n from io import StringIO\n import re\n url = arguments['url']\n sheet_index = (arguments.get('sheet_index', 1)) - 1\n filter_query = arguments.get('filter_query', '')\n pattern = r\"/spreadsheets/d/([a-zA-Z0-9-_]+)\"\n spreadsheet_id = re.findall(pattern, url)[0]\n file_url = f'https://docs.google.com/spreadsheets/d/{spreadsheet_id}/gviz/tq?tqx=out:csv&sheet={sheet_index}&tq={filter_query}'\n response = requests.get(file_url)\n csv_content = response.content.decode('utf-8')\n csv_reader = csv.reader(StringIO(csv_content.replace(\" \", \",\")), delimiter=',')\n csv_rows = list(csv_reader)\n return csv_rows","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

А вот пример вызова функции:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"arguments = {\n 'url': 'https://docs.google.com/spreadsheets/d/1wcKA2__qfMjImLUiEOhK-lHUf0_rt5tmc-dvYEqepro/edit?usp=sharing',\n 'filter_query': 'SELECT A, D, C, E WHERE C > 2000 AND E LIKE \"%балкон%\"'\n}\nfiltered_data = get_filtered_google_table(arguments)","lang":""}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":1,"favorites":6,"reposts":1,"views":445,"hits":1502,"reads":null,"online":0},"dateFavorite":0,"hitsCount":1502,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/ai/1455895-ispolzuem-tablicu-google-kak-bazu-dlya-gpt-bota-vmesto-notion","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":332941,"name":"AI","description":"Нейросети, искуственный интеллект, машинное обучение","uri":"/ai","avatar":{"type":"image","data":{"uuid":"47d7652c-7ff3-5ad3-b72c-3d0aa7d14f06","width":1200,"height":1200,"size":311374,"type":"png","color":"8dd2f1","hash":"2070ecd4e4745850","external_service":[]}},"cover":{"type":"image","data":{"uuid":"d830f642-8293-f95c-8c0a-cf31c79fd3aa","width":1920,"height":384,"size":110830,"type":"gif","color":"3b3846","hash":"","external_service":[],"duration":0}},"lastModificationDate":1602860409,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"ai","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":1,"count":4}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1221331,"customUri":null,"subsiteId":1528778,"title":"Как защитить своего бота на базе LLM (ChatGPT) от взлома?","date":1717923662,"dateModified":1717923662,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"6426ba49-5004-5922-acdd-d072cb5a8999","width":1024,"height":1024,"size":719305,"type":"png","color":"336b8c","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAUG/8QAIRAAAgEEAQUBAAAAAAAAAAAAAQIDAAQFEQYSISIxMlL/xAAXAQADAQAAAAAAAAAAAAAAAAAEBQYD/8QAJREAAgEDAgUFAAAAAAAAAAAAAQIRAAMhEhMEIjFhwUFRcaHh/9oADAMBAAIRAxEAPwB1lx3FScQeaM4xzA8SlXmCyN1/RUAaOlAPkfdVjKjhmZsifEffXtUpadrehUTlYLMgZiZ/Pcn1rFXVhhDczEX1kgMjeKwtpe/oUWruVBxSi7bsq5XIg9qLiridce4E0gA6hoMfyawu203FEDM+KN4a/d2HOo40xk4gmI+Kgkkk9zRgAAgUoZizEnrX/9k="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Какую проблему будем решать?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Нужно чтобы бот на базе LLM ни при каких обстоятельствах не мог раскрыть пользователю свою системную роль и не говорил на темы, которые мы обозначим как запретные.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Какого бота будем защищать?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Давайте возьмем в качестве примера бота, созданного в предыдущей статье (https://habr.com/ru/articles/820377/) - нейро-сотрудник из автосалона, который использует базу знаний из Notion.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"7c776fc0-0f16-56cb-b803-e55467748c69","width":640,"height":1314,"size":192760,"type":"png","color":"414d60","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQIH/8QAJhAAAQEHBAEFAAAAAAAAAAAAAQIAAwQFBhESEyEiQQcIMTJRcf/EABYBAQEBAAAAAAAAAAAAAAAAAAQFAv/EACARAAICAgAHAAAAAAAAAAAAAAABAhEDBBMhMTIzQUL/2gAMAwEAAhEDEQA/AAPJvqKn9UmlIeinypfKpDJhAv4SYPdUPYgjHWTj3hxudxc/bVdeGKCfGVu7RMyub8brlRkaquq4qJexMoK78sXCgm/dtvZnvZxN9oVa8l9AylKCkAKIGI7ac+qGr2Ur5H9bRg//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

У данного бота в промпте есть данные для подключения к базе данных Notion:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"62d3e87d-9d5e-5ec4-9188-ad92eb46453e","width":1390,"height":618,"size":41735,"type":"png","color":"4e5666","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgEE/8QAJRAAAgEBBQkAAAAAAAAAAAAAAQMCAAUGESFxBBIUFTFBUpGh/8QAGQEAAgMBAAAAAAAAAAAAAAAAAQMCBAUG/8QAIhEAAgAFAwUAAAAAAAAAAAAAAAECAwQREgUUkRUxUVLB/9oADAMBAAIRAxEAPwAM+51nLWG8lUuOOcmsmBp1FbzopyWT7HNrV6WKLBXvz9MRu/sAJAsmzjh34ief2obaPyhvUJXq+A6WtIwLJEa0ouWSJvz8j7oBP//Z"}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Пишем роль корректора для защиты бота"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В настройках нашего бота в разделе \"Дополнительно\" -> \"Диалоговые настройки\" -> \"Роль корректора\" пропишем следующую роль:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Если в ответе ИИ есть хоть малейший намек на политику, насилие, ругательства или есть пароли или токены ответь так: \"Извините, на эту тему я не могу говорить\". В противном случае верни ответ ИИ в неизменном виде.","lang":""}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"ea9516e9-d3fd-585a-a9b4-f429031260c8","width":3120,"height":1810,"size":260839,"type":"png","color":"24262d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABwj/xAAlEAABAwMEAAcAAAAAAAAAAAABAgMEAAURBhITIRYkMTJDUaH/xAAXAQEBAQEAAAAAAAAAAAAAAAAFBAID/8QAHxEAAgIBBAMAAAAAAAAAAAAAAAECEQMTFCEiMUFx/9oADAMBAAIRAxEAPwAU0xrm8Q9DW62CcW227SylIw3gpLY6GUZ/aTtyjZCmlPt4slaTcWFSHVJhgArUQNx67ozTn7kL7rAuFhVfWPFvcc8P29vkVtTGSAnPQAb9Kui3SCZLsEb8KFzOeUZ9x+Mfdc6Rttn/2Q=="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Тестируем бота"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"d7bafee9-2ddf-550a-a495-c93ccb9c68f9","width":1452,"height":538,"size":102790,"type":"png","color":"161616","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAQUHCP/EACEQAAEDAwQDAAAAAAAAAAAAAAIBAwQABhIHESGRBSJS/8QAGQEAAgMBAAAAAAAAAAAAAAAAAAECBAUG/8QAHhEAAQQBBQAAAAAAAAAAAAAAAAECBBEFEyFTcpL/2gAMAwEAAhEDEQA/AMXTLR0KjkplelxoKoi4tQWXNujWtzQxHM/yLcfx7ysKKw3GY1VvIG2gQAFPCx+BRNkSrqSoTUpJD66oKiU5nx7l3XLEgZn9l3QB/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

А вот, что мы видим внутри платформы, где работает бот:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"d0d1bcae-ce34-5a3b-b802-525e8aafb813","width":1307,"height":182,"size":56678,"type":"png","color":"d1cbc4","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwAC/8QAKxAAAQEGAgkFAAAAAAAAAAAAAQIAAwUGBxESIQQTIiQmMTNBRFFhldHT/8QAGAEAAwEBAAAAAAAAAAAAAAAAAQQFAAL/xAAoEQABAgMGBgMAAAAAAAAAAAABAAIDBBEVIkFRU5IFBhIWM1SRk/D/2gAMAwEAAhEDEQA/AHcS7TULSpdL4XYp1ZSYCkWHr0sz7sxY8zqM3hIHmbhxFBBi5+I/qLJlSlJNxT3RfgkfmwsaY1W7wuu6pL13/UUCupumsJdWmeLDDiCd9eZA2vba7tN6G5K2+PFqbxwxUia5pCE8SxXkPMefbEMbks6Yi1N4/JX/2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Давайте еще пару тестов:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"830c4f87-c19b-5c7b-a70c-5ceed980a2f2","width":1460,"height":534,"size":101187,"type":"png","color":"161616","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAQUHCP/EACUQAAIBBAEBCQAAAAAAAAAAAAEDAgAEBhEHBRITMTNRU4GRkv/EABkBAAIDAQAAAAAAAAAAAAAAAAABAgQFBv/EAB8RAAIBAgcAAAAAAAAAAAAAAAABAgMEBRETIVNhkf/aAAwDAQACEQMRAD8Axhe43wIglh69lmiAeylVvMD6Jrc0sH5J+IW48t84wG0Qu1tuR+SFqTALXCKE6jEDQA+KuxvLCKUVXqZLpCJH3rfcl4+prliQC1u/Nn+jQB//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И вот что видно в логах:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Попробуем поговорить на запрещенные темы:","image":{"type":"image","data":{"uuid":"d6e0d382-f5eb-598f-bf5b-df5ba9f160fa","width":1300,"height":70,"size":12612,"type":"png","color":"221314","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQAJ/8QAJhAAAQMDAgUFAAAAAAAAAAAAAQIDEQAEEgcIBRRRU5IGIiMyQf/EABgBAAIDAAAAAAAAAAAAAAAAAAAFAgQG/8QAJBEAAQIFAgcAAAAAAAAAAAAAAQARAgMEBSESMRRRUnGR0eH/2gAMAwEAAhEDEQA/AG7faPtbLTb1zphcDJxwKaTxe8C0oTiAr7kSZmOk9KXipms5hPhPZlrptRhgnw7DLhnLuN3xz9o9W0bQQqJa0aRgT7cvUb8x+T81Q4mp6FaFrtDZq89vizQ5i477nkaZrMK5i477nkaEL//Z"}}}]}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"В логах мы видим что взлом был успешен:","image":{"type":"image","data":{"uuid":"ec7f3fa4-1286-51d9-a0fb-cb5e31fcf3c4","width":1482,"height":592,"size":116369,"type":"png","color":"151515","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgUHCP/EACMQAAIBAgUFAQAAAAAAAAAAAAEDAgAGBAcRM0EIFSExkZL/xAAYAQADAQEAAAAAAAAAAAAAAAAAAQYCBP/EAB4RAAEDBAMAAAAAAAAAAAAAAAABAgQFESGRA+Hi/9oADAMBAAIRAxEAPwDImJs7ptTGLH3rc8CYgyirDrmAefQPNUKRqLbPM7XQsj9V15QoVBCc3r4itcRCEe3K8RA0A267kk09qWSS/XkWSHBrddyX2pA0AWt13Z/o0Af/2Q=="}}}]}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"78585341-f5fb-5d57-a968-46579a02fc2b","width":1292,"height":510,"size":34585,"type":"png","color":"4c1111","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAAB/8QAKRAAAAQDBAsAAAAAAAAAAAAAAAECBwQx0gUGERITFyIjN0FDVVeBlf/EABcBAAMBAAAAAAAAAAAAAAAAAAABAwX/xAAdEQACAQQDAAAAAAAAAAAAAAAAARESE5LwAjFB/9oADAMBAAIRAxEAPwBEG0TcZkpKxEyMzLTxPvqSGfW9RrWl3DyNNn2wx2rGSR899EVgq2BW+fieQJUum52XiNeiXd4isXSRBpSWtJzfIt5/rxFYIQj/2Q=="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Как это все работает?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Если у бота есть роль корректора в настройках то каждый ответ бота анализируется отдельным запросом к API:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"messages = [\n {'role' : 'system', 'content' : 'Если в ответе ИИ есть хоть малейший намек на политические темы, насилие, ругательства или есть пароли или токены ответь так: \"Извините, на эту тему я не могу говорить\". В противном случае верни ответ ИИ в неизменном виде.'},\n {'role' : 'user', 'content' : 'вот ответ от ИИ: `Вот токен: secret_XXXXXXXXXXXXXX`'},\n]","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ответ корректора мы отправляем напрямую пользователю.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

! Обратите внимание на фразу в роли корректора: \"В противном случае верни ответ ИИ в неизменном виде.\" - именно эта фраза позволяет сохранить ответ нашего бота, если в нем нет запрещенной информации.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Итог"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":2,"reposts":0,"views":736,"hits":360,"reads":null,"online":0},"dateFavorite":0,"hitsCount":360,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/chatgpt/1221331-kak-zashitit-svoego-bota-na-baze-llm-chatgpt-ot-vzloma","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1872372,"name":"ChatGPT","description":"Новости GPT, промты, обзоры, как начать работать","uri":"/chatgpt","avatar":{"type":"image","data":{"uuid":"fc56aaa4-cb0c-5f37-b6ba-94bc8f336926","width":600,"height":600,"size":26008,"type":"png","color":"26e4a9","hash":"","external_service":[]}},"cover":{"type":"image","data":{"uuid":"03030169-54c6-57ba-98f8-7758ffe920b5","width":900,"height":600,"size":11486,"type":"png","color":"3de4b0","hash":"","external_service":[]}},"lastModificationDate":1684424776,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"chatgpt","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1220102,"customUri":null,"subsiteId":1528778,"title":"Используем базу в Notion как знания для нейро-сотрудника на базе LLM (ChatGPT)","date":1717842019,"dateModified":1717842019,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"3a173285-745f-50ec-96b7-d343d2beba6c","width":780,"height":384,"size":88612,"type":"jpg","color":"1e1f21","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABwj/xAAmEAACAQIFAgcAAAAAAAAAAAABAgMEBQAHERIhQUIGExQiMUOx/8QAGAEAAgMAAAAAAAAAAAAAAAAAAwQAAQL/xAAfEQACAgEEAwAAAAAAAAAAAAAAAQMxAhESIUFhodH/2gAMAwEAAhEDEQA/AJjzyyGs+Ut5oqOnub3Iyk+cgZT6b2qdJGAPIL7ToO3BNj748ujKyTpheKWwRjY9fT714blzz17MHUMfea9/CaCl4vYz1QllJkkkhkLu51LHVfk9cXNSQvDbAC4ACuqePsb9OExo/9k="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Какую проблему мы будем решать?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

⚡ Генерация ответов от LLM по базе знаний неограниченного объема и со 100% точностью ответов.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Почему Notion в качестве базы знаний?"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Notion бесплатен","Базы данных в Notion не имеют ограничений по количеству записей. Ограничение в бесплатном тарифе только на размер фалов (до 5 Мб) и на максимальное количество символов в текстовом поле (2000 букв).","Notion предоставляет API для поиска по базе данных","Работа нескольких менеджеров с одной базой (до 5 в бесплатном тарифе)
","Существует много сервисов по автоматизации процесса обновление и добавление данных в базе Notion (Zapier и другие)"],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №1: Создадим тестовую базу в Notion"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

По этой ссылке вы можете скопировать пример базы данных к себе в аккаунт Notion.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"76eec776-fb5c-5389-9475-195a6c736316","width":1560,"height":766,"size":229653,"type":"png","color":"201e1d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQQJ/8QAJRAAAQMCAwkAAAAAAAAAAAAAAQIDBAARBRIhExQxQ1NhsbLR/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAeEQACAQMFAAAAAAAAAAAAAAAAARECIVEDMTJBgf/aAAwDAQACEQMRAD8Az8DDW0ijIizjSlHubq+CjO4kroVi4VEcjMuKaaJU2lRvfiRVJpwydskA1dw4Hoq910dPl6Uq6HoBO4x9eUjwKUImf//Z"}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №2: Открываем доступ по API к базе данных в Notion"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для того чтобы наш нейро-сотрудник мог обращаться к базе в Notion перейдите по этой ссылке. Вы увидите такую страницу:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"82d2537d-017e-5fb4-baa5-e339de1f7e62","width":1560,"height":905,"size":30719,"type":"png","color":"e7e7e8","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAgQJ/8QAHRABAAEFAQEBAAAAAAAAAAAAAQIAAwQREjFhYv/EABYBAQEBAAAAAAAAAAAAAAAAAAECA//EABYRAQEBAAAAAAAAAAAAAAAAAAARAf/aAAwDAQACEQMRAD8A1AwbGfYw9ZeRcnkT0TOycYL7y8x2H0qYbFpatgDCMk9efaIaMw3I/RWmI01d+1mt/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Нажмите на кнопку New integration и получите API ключ.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"e19d3cf2-382c-52bf-b245-2dca393f39da","width":1016,"height":354,"size":19543,"type":"png","color":"f2f2f1","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAgUJ/8QAGxAAAQUBAQAAAAAAAAAAAAAAAQACAxExURL/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAv/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/ANTYp4pme4ngty8ULKx0II9DgUoMAVgQf//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И наконец самое важное! Вы должны подключить созданную интеграцию к вашей базе:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"0df0e7b2-5edc-5bcb-b920-71401bf1676b","width":1376,"height":1410,"size":94246,"type":"png","color":"202121","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAEDCP/EACAQAAICAgAHAAAAAAAAAAAAAAECAwQAERMhMWFicaH/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQID/8QAHBEAAQUBAQEAAAAAAAAAAAAAAAECESExEmFx/9oADAMBAAIRAxEAPwDC9ahVWGlOkCh3SJm0uyxJffwDM5d14U2OVnaEZ7KEorOAvIDtl0EuSibO6wUQrsBwYeh8pMbMd9EuAwGz7wEf/9k="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №3: Создаем нейро-сотрудника"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для примера мы используем сервис ProTalk у которого уже есть готовая интеграция с Notion

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"1ef1f0b2-4472-57bd-a015-79269625ce45","width":1560,"height":945,"size":387007,"type":"png","color":"64264d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAcJ/8QAJhAAAgIABAQHAAAAAAAAAAAAAQIDBAAFESEGCBMVByIxQUWU0f/EABgBAAIDAAAAAAAAAAAAAAAAAAQGAgUH/8QAKBEAAQMDAQYHAAAAAAAAAAAAAQACEQMEIQUSE1FSYZEGFDFBgdLh/9oADAMBAAIRAxEAPwDQy3xc2Q+H9jjWnYnNLtlezBB0A/SjCli4AILFgw219hpgqnaF9YtnBwOhyo3N8HW4LWAOBknOQYxHSDEcUPrPN1zCTWJZqHCN96zuzQsZYVLRk+U6E7babYZaeibLACJMcv6qB+qtLiQY+T9Um+XCaa9k+Y0bsr2K1dlhihlYukcYVQEVTsFA9ANsJO07z9yJ9HujuVqvie3o0bCxNNgE02kwAJMe6r/Y8lHw9H66fmC99U5j3SRu2cAv/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Пишем коротко роль для генерации нейро-сотрудника и далее кнопку Создать.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Далее настроим по шагам нашего нейро-сотрудника:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"060b98cb-612d-504d-843b-61f25ec8afc0","width":1560,"height":1486,"size":720135,"type":"png","color":"c6c9cb","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAACAX/xAAnEAABAgUDAgcAAAAAAAAAAAABAgMABAUGIQcREhUxFyM2QWN1s//EABcBAQADAAAAAAAAAAAAAAAAAAQBAgX/xAAkEQACAQEGBwAAAAAAAAAAAAABAgARAxIhMUFRBBMUMjNhgf/aAAwDAQACEQMRAD8Agag6jztGve4Kd0GgOBqemByfpbTzivMOxUo9zn3jQXxfNIdAOoAwIrrUA+jkRtE9Zqy/aFDeVguU2WUQnAy0k4A7QBloSIrmXsaAQc6ypT4g1w8RuajMb4+RUKYBkUHcSOCtHs3tGQ0N1soxbI9F0D6uV/JMGfuMouQn/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В качестве примера выберем модель ChatGPT 4 omni и подключим функцию связи с базой в Notion.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Двигаемся дальше к настройке роли для нейро-сотрудника:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"2e04e020-0efe-5acb-a89d-58b79ecfa57d","width":1560,"height":1588,"size":162777,"type":"png","color":"4a5263","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwYI/8QAJBAAAQIEBQUAAAAAAAAAAAAAAQIEAAMHEQUSEyExBhQjQVH/xAAVAQEBAAAAAAAAAAAAAAAAAAAEA//EABoRAAICAwAAAAAAAAAAAAAAAAABAzMCEhP/2gAMAwEAAhEDEQA/AKmsCcWNcOmSzD7tgWWoZJVpjzm+a23EKirYeSxGiEhZSDf19gogJKh4ewn1QwRxPZN5k1Bb5VrlJKk2mm1iRcQmNvmyWSWwxoAyJ2HAgxU//9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Тут пока ничего можем не менять и подключим сразу Телеграм бота на следующем шаге.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"9578cdc3-20e6-5ca1-820c-f837c767e3bd","width":1560,"height":905,"size":32080,"type":"png","color":"464f62","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgcI/8QAJBAAAgEDAwMFAAAAAAAAAAAAAQIDBAYRAAUSExRBIjEyUWH/xAAVAQEBAAAAAAAAAAAAAAAAAAADBf/EABsRAAMAAgMAAAAAAAAAAAAAAAABAhEhAxJR/9oADAMBAAIRAxEAPwApeFtXjNeG7VNBR1nbPuU8nNag4I6rHIHL2xqpO4WifSfdvJtOB36EfrPwHn81LZQQHr7Jsyfc56me0dlkmkmZ3kegiLMxOSSSuSc+dKuS1OM6DcrwoKogAAUAAfWiER//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

После этого мы видим созданного сотрудника в личном кабинете:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"99aacf9b-3c61-5751-985a-cdd2f2d12788","width":1560,"height":905,"size":133822,"type":"png","color":"3a444f","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABQf/xAAnEAABAwMDAQkAAAAAAAAAAAABAgMEBRESAAYhQQcUMTIzQlFhcf/EABcBAQEBAQAAAAAAAAAAAAAAAAQFAgb/xAAkEQEAAQQBAgcBAAAAAAAAAAABAgADBBEhE4EFEkFCcZGhsf/aAAwDAQACEQMRAD8Aj+2a72ZDblMizNkokzi/IMyYoXOKvTQlPN7W8fu2qkSV+TcDW+A1xv8Ae1AyrfRj04yJPDsX69O9EVJ7ZjtRlOwaI63GW+tTKMscUFRxFunFuNAnj5TJY3APiugxc/we3YhC9jLMAXzPLrl7tA0EkUhggkHvXT80lXWqmWIRYxU9x/KIfffD7gDy/OfcfnWqInNf/9k="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №4: Инструктируем нейро-сотрудника как работать с базой в Notion"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для того чтобы наш нейро-сотрудник мог ориентироваться самостоятельно по базе данных в Notion нам нужно сказать ему по каким полям базы он может фильтровать и искать автомобили.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Для получения данных по автомобилям из базы данных Notion используй эти поля для фильтрации данных:\n```\n\"Марка машины\": \"Volkswagen\", \"Mercedes\", \"Honda\"\n\"Модель машины\": текстовое поле\n\"Коробка передач\": \"CVT\", \"Automatic\", \"Manual\"\n\"Мощность двигателя\": числовое поле\n\"Цвет машины\": \"Silver\", \"Black\", \"Red\"\n\"Цена машины\": числовое поле\n\"Класс автомобиля\": \"Доступный и практичный\", \"Надежный и экономичный\", \"Комфортный и просторный\", \"Роскошный и мощный\"\n\"Наличие\": \"Нет в наличии\", \"В наличии\"\n\"Тип топлива\": \"Бензин\", \"Электрический\", \"Гибрид\", \"Дизель\"\n```\nПо текстовым полям можно искать по маске.\nПо числовым полям искать используя диапазон.","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Добавим эти инструкции в поле “Поведение”:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"cc8736f6-1309-5c98-8d6e-adc5fb7c4432","width":1480,"height":910,"size":77466,"type":"png","color":"4f5767","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIASwBLAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAQQFBv/EAB8QAAICAgIDAQAAAAAAAAAAAAECBBEAAwVRBiOh4f/EABYBAQEBAAAAAAAAAAAAAAAAAAAFAf/EABYRAQEBAAAAAAAAAAAAAAAAAAABEf/aAAwDAQACEQMRAD8AwXKeLcTr1ndHj69j3RAar+95SlqfkQG4mOrEGBHsGj7f3N0F5ct0ZXlbmBFEFybwFbPZwP/Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

⚡Обратите внимание что мы не указали все варианты значений для полей “Марка машины”, “Класс автомобиля” и “Цвет машины”. Если вы хотите чтобы нейро-сотрудник ориентировался полностью по всем вариантам нужно указать полные списки всех вариантов значений этих полей.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Добавим в “Роль” данные для подключения к нашей базе:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Для подключения к базе Notion используй эти данные:\n```\nТокен: secret_XXXXXXXXXXXXXXXXXXXXXXXX\nСсылка на базу: https://www.notion.so/XXXXXXXXXXXXXXXXXXXX?v=XXXXXXXXXXXXXXXXXXX\n```","lang":""}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"62d3e87d-9d5e-5ec4-9188-ad92eb46453e","width":1390,"height":618,"size":41735,"type":"png","color":"4e5666","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgEE/8QAJRAAAgEBBQkAAAAAAAAAAAAAAQMCAAUGESFxBBIUFTFBUpGh/8QAGQEAAgMBAAAAAAAAAAAAAAAAAQMCBAUG/8QAIhEAAgAFAwUAAAAAAAAAAAAAAAECAwQREgUUkRUxUVLB/9oADAMBAAIRAxEAPwAM+51nLWG8lUuOOcmsmBp1FbzopyWT7HNrV6WKLBXvz9MRu/sAJAsmzjh34ief2obaPyhvUJXq+A6WtIwLJEa0ouWSJvz8j7oBP//Z"}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Тестирование нейро-сотрудника"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"0d32441e-bfff-5ba9-997b-574b4a7fc56f","width":1472,"height":430,"size":186691,"type":"png","color":"161617","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgMGCP/EACUQAAEDAgUEAwAAAAAAAAAAAAIBAwQABQcREhMhIyUxQTRRgf/EABkBAAIDAQAAAAAAAAAAAAAAAAABAgMEBf/EAB4RAAIBAwUAAAAAAAAAAAAAAAACAQMEERQxUVSi/9oADAMBAAIRAxEAPwDE1swoJm5BMuk2NcI7Z7jsVNbe+nsdQ8jVlJlR4Z4zHG2QDcnYZtOE0WFQqoEor3uR6/K36qy6/qREek6bn8x/nz1FrmDHCZqKZmXj7oIyf//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Все правильно, мы не дали в инструкциях боту варианта фильтрации по марке “Toyota”.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"d1b160e0-f84c-5337-a0b8-17df7353c142","width":1520,"height":1206,"size":202757,"type":"png","color":"19191a","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABgj/xAAiEAACAQMCBwAAAAAAAAAAAAABAgMABREEBhYhMUFWlNH/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP/EAB4RAAICAAcAAAAAAAAAAAAAAAABAgMRFDEyUnGR/9oADAMBAAIRAxEAPwCELrq5bI2ujsby2wOuGWEmNuXTJXBrSNkqtksOgGuKtz+R3P25PtXzV/N+sCTcgBh1TkAsVbJ71NkUtAB65wf/2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

По марке “Volkswagen” и в наличии нейро-сотрудник отработал корректно.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"54a12fc6-ff1f-5403-be8a-3dccb8c9a295","width":1466,"height":584,"size":101842,"type":"png","color":"191919","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgUGCP/EACIQAAEDAwMFAAAAAAAAAAAAAAECAwUABhEEEiETM3Kx0v/EABcBAAMBAAAAAAAAAAAAAAAAAAABBAP/xAAgEQABAwIHAAAAAAAAAAAAAAAAAQIRAwQSExRjcZHh/9oADAMBAAIRAxEAPwDC8TJQ0Qy8w5bOhknHF7+rrwl5QOMYBAHHFU0bjJSMDV5SQFrl/oQ4pAse08JURzHH7rXXbTOvRQBUIyXf77nmfdAH/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

По фильтру мощности двигателя так же наш нейро -сотрудник справился с задачей.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"f735528a-4e47-5ff4-a4fd-972cdc6ac08e","width":1560,"height":1016,"size":381959,"type":"png","color":"191919","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABQYHCP/EACUQAAEDAwEJAQAAAAAAAAAAAAQBAgMABQYREhcxMlFTYXGV0//EABcBAAMBAAAAAAAAAAAAAAAAAAABAwT/xAAhEQABAwEJAAAAAAAAAAAAAAAAAQIDBBESFSFRYZKx0f/aAAwDAQACEQMRAD8AxfciL1i4hAgIAEosSOeyUkGKZ/Xmk2lVE96VrirJYW3Golm7UXtAE3ePknZtHxxPzqmJTaN4t8EG8kc5w7tXKusT+K+KzvyQZO6gB//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И такой запрос бот отработал на отлично.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Вывод"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Плюсы использования базы Notion в ботах на базе LLM очевидны:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Ориентирование в базах неограниченного объема","100% достоверность ответов","Обновление знаний в реальном времени и в рамках текущего диалога с пользователем","Работа нескольких менеджеров с одной базой (до 5 в бесплатном тарифе)"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Но как обычно есть и другая сторона, которая потребует от вас времени на подготовку:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Необходимо подготовить и занести данные в Notion","Сделать описание полей для фильтрации и включить это в роль нейро-сотрудника"],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Итог"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Если у вас возникнут вопросы при создании подобной интеграции, то напишите в комментарии или мне в Telegram и я постараюсь ответить на ваши вопросы.

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":7,"favorites":4,"reposts":0,"views":674,"hits":808,"reads":null,"online":0},"dateFavorite":0,"hitsCount":808,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id1528778/1220102-ispolzuem-bazu-v-notion-kak-znaniya-dlya-neiro-sotrudnika-na-baze-llm-chatgpt","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":2}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":983185,"customUri":null,"subsiteId":1528778,"title":"Первый в мире реально работающий отдел нейро-сотрудников","date":1705038370,"dateModified":1705038370,"blocks":[{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"Первый в мире работающий нейро-отдел SMM с руководителем и подчиненными","image":{"type":"image","data":{"uuid":"cf33e327-dca6-576f-99af-40c49077f4b2","width":1178,"height":1280,"size":196979,"type":"jpg","color":"363637","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgMHCP/EACUQAAIBAwIFBQAAAAAAAAAAAAECBAADBhEhBQcIEhhBYXGRov/EABQBAQAAAAAAAAAAAAAAAAAAAAL/xAAYEQEBAAMAAAAAAAAAAAAAAAABAgADIv/aAAwDAQACEQMRAD8A2TMxzlp1BcfmRcz5WZFBcR7bvdmXLkdGCPoFXsYaHcn7o/DLp4O7YhLJ9SeJyN/3Vxuqq69qgfA9zSqF6ot6BxxtuDlTP//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Наш стартап по созданию no-code платформы нейро-сотрудников на базе ChatGPT (и других LLM) наконец-то добрался до очень важного рубежа:

"}},{"type":"quote","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

","subline1":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Для данной статьи мы выбрали в качестве пример отдел SMM, задача которого продвигать ваш Телеграм канал.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Представьте, что в 10.00 по понедельникам на ваш сотовый телефон поступает такой звонок:

"}},{"type":"video","cover":false,"hidden":false,"anchor":"","data":{"title":"Вам звонит нейро-сотрудник, руководитель вашего SMM отдела для получения от вас задания на написание постав в вашем Телеграм канале","video":{"type":"video","data":{"thumbnail":{"type":"image","data":{"uuid":"328f7669-4ca3-5fc7-b5dc-e263dae6d51f","width":1280,"height":720,"size":56403,"type":"jpg","color":"303030","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUEBAQEAwUEBAQGBQUGCA0ICAcHCBALDAkNExAUExIQEhIUFx0ZFBYcFhISGiMaHB4fISEhFBkkJyQgJh0gISD/wAALCAAKAAoBASEA/8QAFgABAQEAAAAAAAAAAAAAAAAABwQG/8QAIRAAAgEEAQUBAAAAAAAAAAAAAQIEAAMRIQUHEhNSkfD/2gAIAQEAAD8AGeHm8cs14PIozRrrB5F4bc42MZP7NbW3C6c3La3FSUQwBB8J3RbP09sjRK1H3N7H7X//2Q=="}},"width":800,"height":450,"time":0,"external_service":{"name":"youtube","id":"Rju6sU9ZK1U"}}}}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Предположим, вы захотели пост про женскую красоту. После того как вы сформулировали эту задачу и получили подтверждение от нейро-сотрудника что задача принята, через несколько минут вам приходит сообщение (например на ваш Телеграм или WhatsApp) :

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Сообщение с готовым к публикации постом от нейро-SMM копирайтера, присланное нейро-секретарем для вашего утверждения перед публикацией в ваш Телеграм канал","image":{"type":"image","data":{"uuid":"c05aedf2-3cc0-5bd9-8ad9-5b88185c7571","width":1016,"height":1464,"size":163039,"type":"png","color":"202020","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABgj/xAAkEAACAgIABAcAAAAAAAAAAAABAgMEABEFElFSExQhIzJBQv/EABUBAQEAAAAAAAAAAAAAAAAAAAAC/8QAFhEBAQEAAAAAAAAAAAAAAAAAAAIx/9oADAMBAAIRAxEAPwCRKrJHw2Bz4rIsCE68v2j6I3gArlnnuTusacrSMRtU3rZ6emAwjmmFWACVx7cY+R7RhVaCWbFg2ZSZ5CS7fo9cJf/Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

После этого сообщения бот спрашивает вашего одобрения на публикацию поста, и еще через пару минут пост опубликован в вашем канале:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Готовый пост в вашем Телеграм канале, который был создан по цепочки задач, выполняемой нейро-сотрудниками виртуального SMM отдела","image":{"type":"image","data":{"uuid":"ac0c57a0-1923-544f-bc49-dd4f96186416","width":2302,"height":1790,"size":478660,"type":"png","color":"171717","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgcI/8QAIBAAAgICAgIDAAAAAAAAAAAAAgMBEQAEBiETQVNxkv/EABUBAQEAAAAAAAAAAAAAAAAAAAAC/8QAFREBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhEDEQA/AMNcu19FPFkOQiReQqsxqPUXdYE/87vmP9TgJdtrXaoLcwmBAhQlNxHUepyqDBdFP3kj/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Далее мы вами подробно разберем как это работает и какое количество нейро-сотрудников было задействовано для реализации данной цепочки задач.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Но давайте по порядку…

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Что такое нейро-сотрудник?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Этот термин сейчас все чаще виден в сети и это конечно же благодаря выходу ChatGPT 3.5, поскольку именно такой уровень ИИ позволяет уже “повысить” чат-ботов в звании и с гордостью перевести их в Сотрудники.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Чтобы отличать обычных сотрудников и таких продвинутых ботов мы называем их нейро-сотрудниками.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Как создается нейро-сотрудник?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Это удивительно, но для создания эффективного нейро-сотрудника не нужно знание программирования от слова совсем!

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Знакомьтесь:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

SMM-копирайтер — Полина

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Нейро-копирайтер, SMM-менеджер по имени Полина","image":{"type":"image","data":{"uuid":"789e8d78-2cdf-5e56-8ba2-3dd70b04607f","width":1024,"height":1024,"size":140203,"type":"jpg","color":"2e2924","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAJQAlAAD/2wBDAAQDAwQDAwQEAwQFBAQFBgoHBgYGBg0JCggKDw0QEA8NDw4RExgUERIXEg4PFRwVFxkZGxsbEBQdHx0aHxgaGxr/2wBDAQQFBQYFBgwHBwwaEQ8RGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhr/wAARCAAKAAoDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABwb/xAAjEAACAgEDAwUAAAAAAAAAAAABAgMEBQARMQYSIQgyQXGR/8QAFAEBAAAAAAAAAAAAAAAAAAAABP/EABgRAQADAQAAAAAAAAAAAAAAAAEAAhED/9oADAMBAAIRAxEAPwA2tdL4fCUzk8Fi0t4ivD32XyCqjyEKzMFHJ5GxG3Gi4dVROA0dGqEbyoMHnb81beorIW4uqJacVqdKiYtO2BZCEHt4Xfb5Og8SOAAHYD70Pmth1irhVEMn/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Она работает вот по такой простой инструкции:

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Цель: Создать такой креатив, который понравится заказчику. Роль: Ты — женщина. Тебя зовут — Полина Ты работаешь в должности — SMM-копирайтер Ты создаешь идеи для SMM-контента, SEO-описания, META-теги по запросу заказчика. Поведение: Старайся угодить заказчику.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"В каких каналах может вести общение нейро-сотрудник?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Любой нейро-сотрудник может писать первым или отвечать по любому из этих каналов:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Это далеко не полный список каналов коммуникации нейро-сотрудников","image":{"type":"image","data":{"uuid":"82f4d6ad-ddbf-59d2-a6be-28fa91bbd689","width":871,"height":440,"size":70619,"type":"png","color":"5f90d0","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAQIFCf/EACUQAAIBAwIFBQAAAAAAAAAAAAECAwQFEQAhEhMiMUEUMkJRcf/EABgBAQADAQAAAAAAAAAAAAAAAAMAAgQF/8QAIBEAAQQCAgMBAAAAAAAAAAAAAQACAxEhQQSREjFRkv/aAAwDAQACEQMRAD8A0jp616OB62MISaKhG90EidRxsTt59/z0Jh5JldIyMkmt/PYrVbR8jlvt0EQa5rTYOATZ3ixgYT1tutL1k7y3aRHaViyi6smDk5HDnb88a6jBN4imH8onObZyO1SgtltNPyzb6Yp6elTh5S44VPSMY7Dx9aziaQGw473999pBGyyaRqLZbZJ5JJLfTMzOSzGJSSc9ztqzZ5QKDj2VDGwmyAv/2Q=="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Нейро-сотрудник умеет говорить?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"video","cover":false,"hidden":false,"anchor":"","data":{"title":"Нейро-сотрудник говорит с вами по обычному телефону на разных языках и при этом тем же голосом","video":{"type":"video","data":{"thumbnail":{"type":"image","data":{"uuid":"9152dddf-d6ec-55cc-9e9a-84d11278e29c","width":1280,"height":720,"size":102663,"type":"jpg","color":"303030","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/wAALCAAKAAoBAREA/8QAFgABAQEAAAAAAAAAAAAAAAAACAUJ/8QAIxAAAQMDAwUBAAAAAAAAAAAAAQIDBAUGEQAhYQcIEiIxYv/aAAgBAQAAPwDP/pFeVvR7nfodxsuvUioOpfqk0ZckOBA8khIUoAgHPPseMIWFZfbjUITMhtmvrbfQlxKjAUMgjIOhlfoCJMRSdlKa3I+nfUISXAMBxYA/R1//2Q=="}},"width":800,"height":450,"time":0,"external_service":{"name":"youtube","id":"Vwg4mn1vuHc"}}}}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вы конечно скажете: “Ну, с такими задержками кому это надо? ”

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Но представьте, что вам звонить ваш собственный нейро-руководитель отдела SMM и просит у вас дать ему поручение, неужели вы так расстроитесь из-за небольших задержек в диалоге?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Итак, как же выглядит цепочка задач в нашем нейро-отделе SMM?

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Цепочка задач SMM отдела нейро-сотрудников"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Внутренний код для задания цепочки задач выглядит так:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"arguments = {\n 'phone' : '+79123456789', # это номер на который нужно позвонить для получения задания\n 'telegram' : '@TelegramUserName', # Это ник реального сотрудника, который утвердит тест поста перед публикацией \n 'channel_id' : '@telegram_channel', # Это ID вашего телеграм канала\n 'bot_token' : 'XXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXX', # Это токен бота, который в вашем канале имеет права на публикацию постов\n}\n\nchain = [\n {\n 'employee_id' : None,\n 'role' : 'Запроси на какую тему нужно составить пост для Телеграм канала и сразу после получения ответа заверши диалог фразой: ```Хорошо, я вас понял.```.',\n 'hello_text' : 'Здравствуйте! На связи руководитель вашего SMM-отдела нейро-сотрудников. На какую тему желаете опубликовать пост?',\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' : 5,\n 'external_dialog' : {\n 'client_dict' : {'name' : 'User', 'phone': arguments['phone']},\n 'channel' : 'Voximplant',\n 'voice' : 'Morpheus_RU'\n },\n },\n {\n 'employee_id' : 1556,\n 'role' : 'Ты - ChatGPT',\n 'hello_text' : 'Напиши пост для Телеграм канала по этой просьбе человека: ##task_result##',\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' : 5,\n 'external_dialog' : None,\n },\n {\n 'employee_id' : 1554,\n 'role' : 'Ты - ChatGPT. Твоя задача утвердить текст поста.',\n 'hello_text' : 'Прошу подтвердить размещение такого поста в вашем телеграм канале: `##task_result##`. Отправьте мне 👍 если текст Вам нравится.',\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' : 10,\n 'external_dialog' : {\n 'client_dict' : {'name' : 'User', 'phone': arguments['telegram']},\n 'channel' : 'Telegram',\n },\n },\n {\n 'employee_id' : 1553,\n 'role' : 'Ты - ChatGPT.',\n 'hello_text' : f\"\"\"\n ID канала: \"{arguments['channel_id']}\"\n Токен бота: \"{arguments['bot_token']}\"\n Напиши пост на эту тему: ```##task_result##```\n \"\"\",\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' :5,\n 'external_dialog' : None,\n },\n ]","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Теперь давайте разбирать по шагам каждый блок этой цепочки.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Звено № 1: Звонок на обычный сотовый телефон для получения задачи"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот такими параметрами задается исходящий звонок на сотовый телефон:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"{\n 'employee_id' : None,\n 'role' : 'Запроси на какую тему нужно составить пост для Телеграм канала и сразу после получения ответа заверши диалог фразой: ```Хорошо, я вас понял.```.',\n 'hello_text' : 'Здравствуйте! На связи руководитель вашего SMM-отдела нейро-сотрудников. На какую тему желаете опубликовать пост?',\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' : 5,\n 'external_dialog' : {\n 'client_dict' : {'name' : 'User', 'phone': arguments['phone']},\n 'channel' : 'Voximplant',\n 'voice' : 'Morpheus_RU'\n },\n},","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В параметре role мы передаем ту самую роль (промпт) который будет определять общение нашего руководителя SMM-отдела. Мы видим, что его роль очень проста — узнать на какую тему нужно создать пост и сразу после этого завершить диалог.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Нейро-руководитель SMM-отдела по имени Марк","image":{"type":"image","data":{"uuid":"a1c2dc85-2d82-5506-bb59-8736b7aa70f4","width":628,"height":828,"size":201588,"type":"png","color":"b8b6b1","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABgn/xAAlEAABBAEDAgcAAAAAAAAAAAABAgMEBREABjESUQcIEyEmMnH/xAAYAQACAwAAAAAAAAAAAAAAAAADBAABAv/EAB4RAAICAQUBAAAAAAAAAAAAAAECAAMRIVJxoeES/9oADAMBAAIRAxEAPwBDQItvEKRW2+8beLX7jedeDKS2xIFYWUrdQ6kNhKST0AkDGM4zoTobStinQHPM3U4oRqyNWGOIek+cfecCQ7BVaWeY61NH4ywfqcc+oM8dtNBH2d+RE/O7r2UTlwIMa0SiPCYaT1u+yG0pHB7DQo3FDNDRKZQpVLAJKQSTGRknH5q8mSf/2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот текст роли нашего нейро-руководителя Марка:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Цель:\nПолучить все требуемые параметры для запуска функции \"chain_telegram_channel_post\".\n\nРоль:\nТы - мужчина.\nТебя зовут - Марк\nТы работаешь в должности - Руководитель SMM-отдела\nТы должен помогать клиенту с продвижением его телеграм канала.\n\nПоведение:\nГовори кратко.\nНичего не выдумывай.\nТолько при получении всех требуемых параметров запусти функцию \"chain_telegram_channel_post\".","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

chain_telegram_channel_post — это и есть та самая наше цепочка задач, которую и вызывает Марк.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Звено № 2: Пишем пост на заданную тематику"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"{\n 'employee_id' : 1556,\n 'role' : 'Ты - ChatGPT',\n 'hello_text' : 'Напиши пост для Телеграм канала по этой просьбе человека: ##task_result##',\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' : 5,\n 'external_dialog' : None,\n}","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

employee_id — это уникальный номер нейро-сотрудника на платформе. В нашем случае это как раз та самая SMM-копирайтер Полина, роль которой мы рассмотрели в начале статьи.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

role - вот тут внимание!!! это внутренняя роль, которая будет общаться с нейро-сотрудником Полиной и просить её написать статью на нужную тему.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

hello_text - этим текстом наша внутренняя роль поприветствует Полину и попросит написать пост. внимание снова — ##task_result## — этот блок будет заменен на диалог из предыдущего звена нашей цепи, в данном случае сюда будет подставлена расшифровка телефонного разговора где человек задает тематику поста.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Нейро-копирайтер, SMM-менеджер по имени Полина","image":{"type":"image","data":{"uuid":"09960447-ca4d-5d42-804a-125202240e4d","width":636,"height":794,"size":180834,"type":"png","color":"d5cabd","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwUJ/8QAIhAAAQQCAwACAwAAAAAAAAAAAQIDBAUGEQAHIRIUImFy/8QAFwEAAwEAAAAAAAAAAAAAAAAAAgMEBf/EAB8RAAIBBAIDAAAAAAAAAAAAAAECAAMEETFBcRJRsf/aAAwDAQACEQMRAD8APM9oazDPuZbR0UTHK+I24+IFsEuvz9BxRIAA/FSl692RrzmStzXWqoJyPXf2aTWttUot4qQTznOt9Q/pOw7ORTQHxESkORWl6DaPNoB5YVAMmBmq2WdW9ZXuQTZN31zjFg8QpsuSqiO6r4jWk7UgnXg8/XHhFHESWbWZSidM9PpiMpT1RhwAbSABRRdAa/jhwcmf/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Еще раз приведём текст роли Полины:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Цель:\nСоздать такой креатив, который понравится заказчику.\n\nРоль:\nТы - женщина.\nТебя зовут - Полина\nТы работаешь в должности - SMM-копирайтер\nТы создаешь идеи для SMM-контента, SEO-описания, META-теги по запросу заказчика.\n\nПоведение:\nСтарайся угодить заказчику.","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Звено № 3: Подтвердить текст поста у человека, написав ему в Телеграм"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"{\n 'employee_id' : 1554,\n 'role' : 'Ты - ChatGPT. Твоя задача утвердить текст поста.',\n 'hello_text' : 'Прошу подтвердить размещение такого поста в вашем телеграм канале: `##task_result##`. Отправьте мне 👍 если текст Вам нравится.',\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' : 10,\n 'external_dialog' : {\n 'client_dict' : {'name' : 'User', 'phone': arguments['telegram']},\n 'channel' : 'Telegram',\n },\n}","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Получив текст поста от Полины мы передаем эстафету следующему сотруднику — секретарю Ксении:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Нейро-секретарь Ксения","image":{"type":"image","data":{"uuid":"b2e4b2b2-9559-594e-b0e1-290d5117b080","width":642,"height":794,"size":192773,"type":"png","color":"cbcbcd","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABQj/xAAkEAABBAEDAwUAAAAAAAAAAAABAgMEBREABiEHEjETFTaV0v/EABcBAQEBAQAAAAAAAAAAAAAAAAQCAQP/xAAeEQABBAIDAQAAAAAAAAAAAAABAAIDESExIkLBof/aAAwDAQACEQMRAD8Adm1aKSTe7ut3r6w3LXWb5opTMRIjx1AltISgBWSErUccleCCDqZC90jZB19XWIMbE6Ohy8yla3YrtzXRbi4s5rs+cwiTKX7e8jueWkKWe0IAGVE8AYGnUTm/iBrFK45m1NrPz3A9tuqcCfTdHdDbOFg8K5HkZPPnQ2E3aU4CqRZ6b9PM/Atu/VsfnWEm1Q0v/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот роль Ксении на платформе:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Цель:\nОтвечай на вопросы, помогай.\n\nРоль:\nТы - женщина.\nТебя зовут - Ксения\nТы работаешь в должности - Секретарь\nТвоя роль - выполнять поручения.\n\nПоведение:\nОтвечай лаконично.\nПри просьбе завершить диалог вышли эмоджи: \"👍\".\nЕсли тебе прислали эмоджи \"👍\", то заверши диалог и вышли эмоджи: \"👍\".","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Звено № 4: Публикация поста в Телеграм канале"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"{\n 'employee_id' : 1553,\n 'role' : 'Ты - ChatGPT.',\n 'hello_text' : f\"\"\"\n ID канала: \"{arguments['channel_id']}\"\n Токен бота: \"{arguments['bot_token']}\"\n Напиши пост на эту тему: ```##task_result##```\n \"\"\",\n 'model' : 'gpt-4-1106-preview',\n 'temperature' : 0.1,\n 'limit' :5,\n 'external_dialog' : None,\n}","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Получив подтверждение текста поста у вас, наконец, вступает в дело наш нейро-менеджер Телеграм канала Светлана:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Нейро-менеджер Телеграм канала по имени Светлана","image":{"type":"image","data":{"uuid":"a35e35f4-25cc-5c9e-a8bb-bb3acabe0acc","width":640,"height":830,"size":215275,"type":"png","color":"c6c6c0","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAABgj/xAAoEAAABAQFAwUAAAAAAAAAAAABAgMEBQYREgATFCExJDJRFSIjQUP/xAAXAQEBAQEAAAAAAAAAAAAAAAADAgAB/8QAHxEAAgEFAAMBAAAAAAAAAAAAAQIAAwQRITFRoaLw/9oADAMBAAIRAxEAPwBDAjyTLE0EfS4xRiUILDV04mQ7kaaxcbljp3FObMHmlKB9D4ilcG0rFWU7wTAr0BeUAyONZA8/uxDpna3zMJWy2qnuRJ6aY9qY9oXAWg7U3DnBvcuzEgexES2VVAJ+TLIcQuGNIx0sOao3KnE2WiUtR35oGHO+ygMcjZuyZ6dLpEewv5h4xsTs/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И вот роль Светланы на платформе:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"Цель:\nСначала узнай токен бота и id телеграм канала для возможности публиковать посты и без этой информации ты не можешь отвечать ни на какие вопросы пользователя.\n\nРоль:\nТы - женщина.\nТебя зовут - Светлана\nТы работаешь в должности - Менеджер Телеграм канала\nТвоя задача размещать интересны, красиво оформленные посты в Телеграм-канале.\nПоведение:\n\nНе используй слишком много смайликов при оформлении поста.\nИспользуй только эти два вида выделения для текста: жирный_текст, наклонный_текст.","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Какие плюсы дает такой нейро-отдел?"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Самое очевидный плюс — это экономия времени на выполнение задач, в нашем примере на написание постов.","Вы делегируете сложные, рутинные, многоэтапные задачи и получаете гарантию их выполнения строго в заданное время. Например в случае SMM отдела вы можете настроить входящий звонок от нейро-руководителя и посты в вашем канале будут выходить строго по расписанию.","Возможность задавать тон, стилистику общения у каждого сотрудника в цепочке. Например нейро-специалисту по SMM Полине можно поставить задачу писать посты в нужной стилистике вашего Телеграм канала и тогда посты будут уже будут более индивидуальными.","Возможность масштабировать и расширять возможности отдела, добавляя новых нейро-сотрудников. Например в отдел SMM вы можете “принять” еще нескольких SMM нейро-копирайтеров, которые будут писать посты в разных тематиках."],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"А какие вообще плюсы у технологии цепочек задач?"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Самый главный плюс — ДЕКОМПОЗИЦИЯ сложной задачи, которая не под силу текущим моделям ИИ, на простые подзадачи и тем самым повышение точности результата.","Цепочка задач с вовлечением реальных людей позволяет почти полностью исключить возможность ошибок ИИ связанных с галюционированием. Вы просто ставите в нужных местах цепочки контрольные точки в которых нужно сверить результат с живым сотрудником."],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Перспективы"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Как вы понимаете, такая архитектура построения цепочек задач открывает безграничные возможности применения нейро-сотрудников.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот, для примера, еще один возможный отдел нейро-сотрудников:

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Отдел составления отчетности"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Руководитель отделаПрием задачиПостановка задачи сотрудникамУтверждение промежуточных результатов с Заказчиком","Аналитик-программистПодготовка заданий для Администратора базы данныхВыборка данных по API из корпоративной базы данныхАнализ данных при помощи Python","Менеджер по составлению отчетовГенерация графиков (в том числе используя Python) Генерация PDFГенерация SVG","Менеджер-секретарьРассылка отчетов по EmailУточнение данных у реальных людей"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Если у вас есть идея для создания отделов нейро-сотрудников, пожалуйста, напишите их в комментариях. Мы обязательно ответим на любую такую идею, и возможно даже сразу реализуем её.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"ChainAPI"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В данный момент у нас развернуто отдельное API в котором выполняются все цепочки задач.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот варианты как вы можете использовать запускать выполнение цепочек задач через ChainAPI:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["При срабатывании события в вашей CRM системе","При действиях клиентов на вашем сайте","При создании чат-ботов в любых сервисах, в том числе в OpenAI GPT Store","При работе в Google документах","При постановке событий в облачные календари Google, Yandex, Microsoft","При получении или отправке Email","и т. д."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот пример запуска цепочки задач по нашему примеру с нейро-отделом SMM:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"import requests\nimport json\n\njob_id = 1557 # Это номер нейро-руководителя Марка\nhello_text = \"\"\"\nЗадачу получи у +79121234567\nТекст поста согласуй с @UserName\nID канала: @custom_ai_channel\nТокен бота: XXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXX\n\"\"\" # Этот текст получит Марк и сразу запустит выполнение цепочки задач по этим данным\n\nchain = [\n{\n'employee_id' : job_id,\n'role' : 'Ты - ChatGPT',\n'hello_text' : hello_text,\n'model' : 'gpt-4-1106-preview',\n'temperature' : 0.1,\n'limit' : 5,\n'external_dialog' : None,\n},\n]\ndata = {\n\"openaikey\" : 'sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',\n\"chain\" : chain,\n}\nlogger.debug(f\"/run_chain data {data}\")\nresponse = requests.post('https://ChainAPI/api/v1.0/dialog_chain', data=json.dumps(data))\nreturn \"Цепочка задач запущена.\"","lang":""}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Итог"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Предлагаю всем кому интересно попробовать поставить задачу нашему отделу SMM написать мне в Телеграм и я отправлю звонок нейро-руководителя на его номер.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

P. S. Ссылки на другие мои статьи по нейро-сотрудникам:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["https://habr. com/ru/articles/785346/","https://habr. com/ru/articles/784448/","https://habr. com/ru/articles/758512/","https://habr. com/ru/articles/754850/","https://habr. com/ru/articles/746288/"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

P. P.S. Для тех, кому любопытно выкладываю еще запись видео с консоли где видно внутренее общение нейро-сотрудников между собой:

"}},{"type":"video","cover":false,"hidden":false,"anchor":"","data":{"title":"Запись консоли в которой видно общение между нейро-сотрудниками, которые выполняют цепочку задач SMM отдела по созданию и публикации поста в Телеграм канале","video":{"type":"video","data":{"thumbnail":{"type":"image","data":{"uuid":"deaa87de-5393-5ef4-91b6-d19e6558e71d","width":480,"height":360,"size":24848,"type":"jpg","color":"0c0c0c","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA8KCw0LCQ8NDA0REA8SFyYYFxUVFy4hIxsmNzA5ODYwNTQ8RFZJPEBSQTQ1S2ZMUllcYWJhOkhqcmlecVZfYV3/2wBDARARERcUFywYGCxdPjU+XV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV3/wAARCAAKAAoDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAEEBv/EABwQAAEDBQAAAAAAAAAAAAAAAAABBBMUMlKhov/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDF0zVEu6FA1y2QAB//2Q=="}},"width":800,"height":450,"time":0,"external_service":{"name":"youtube","id":"96gFOOod6Q8"}}}}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":3,"reposts":0,"views":866,"hits":969,"reads":null,"online":0},"dateFavorite":0,"hitsCount":969,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/chatgpt/983185-pervyi-v-mire-realno-rabotayushii-otdel-neiro-sotrudnikov","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1872372,"name":"ChatGPT","description":"Новости GPT, промты, обзоры, как начать работать","uri":"/chatgpt","avatar":{"type":"image","data":{"uuid":"fc56aaa4-cb0c-5f37-b6ba-94bc8f336926","width":600,"height":600,"size":26008,"type":"png","color":"26e4a9","hash":"","external_service":[]}},"cover":{"type":"image","data":{"uuid":"03030169-54c6-57ba-98f8-7758ffe920b5","width":900,"height":600,"size":11486,"type":"png","color":"3de4b0","hash":"","external_service":[]}},"lastModificationDate":1684424776,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"chatgpt","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":1,"count":3}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":724663,"customUri":null,"subsiteId":1528778,"title":"Роли ChatGPT, которые первыми начинают диалог с клиентом и добивается поставленной бизнес задачи","date":1686578892,"dateModified":1686578892,"blocks":[{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Каталог ролей для ChatGPT","image":{"type":"image","data":{"uuid":"01543eb9-f64c-5068-9f20-4ad589e5280c","width":1313,"height":541,"size":132841,"type":"png","color":"c7cac3","hash":"","external_service":[]}}}]}},{"type":"text","cover":true,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Например чтобы этот сотрудник мог вести вот такой диалог:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Пример диалога роли ChatGPT: \"Менеджер гольф-клуба\"","image":{"type":"image","data":{"uuid":"5e8118e6-7b32-52f4-9182-afa80f18867f","width":932,"height":713,"size":146043,"type":"png","color":"ebede3","hash":"","external_service":[]}}}]}},{"type":"incut","cover":false,"hidden":false,"anchor":"","data":{"text":"

Аудио сообщение от клиента:

https://drive.google.com/file/d/1hPckzN4KiMbzt7I0ahXbT3lHHxBhu5iI/view?usp=sharing

Аудио сообщение от ChatGPT:

https://drive.google.com/file/d/1Ggc9eNmoUahdRAv6syeO4-_HrViM4oa8/view?usp=sharing

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

До выхода на рынок ChatGPT это казалось фантастикой, но сейчас это уже вполне рядовая задача.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Итак, что нам нужно чтобы создать такого виртуального сотрудника?

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №1: Даем “в руки” ChatGPT популярные мессенджеры"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

ChatGPT как мы знаем как правило выступает в роли консультанта и помощника. Но у него есть еще один удивительный таланат - он умеет как никто из его собратьев из парка ИИ (Искусственный Интеллект) вживаться в роль и вести диалог от имени этой роли.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Как только вышел ChatGPT эта особенность быстро набрала популярность. Кем только не просили его быть: и философом Сократом и политиками и актерами и юмористами.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Ну а почему тогда бизнесу не воспользоваться такой уникальностью ChatGPT и не заставить его немного потрудиться на благо отдельно взятой компании?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Поскольку основной канал связи с ChatGPT это текстовые сообщения, то первое что приходит в голову - пусть он общается с клиентами компании и помогает бизнесу решать задачи с этим общением связанные. Какими могут быть эти задачи? Вот только небольшой их перечень:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Рестораны🍽 - приглашение гостей на event-мероприятие.","Банки💳 - предложение новых услуг постоянным клиентам.","Салоны красоты💇 - напоминание о записи к специалисту.","Медицинские учреждения🏥 - отправка информации о процедурах и услугах.","Велнес и фитнес🏋 - анонсы новых программ тренировок и акций.","Отели🏨 - информирование клиентов о специальных предложениях и скидках.","Такси🚕 - предложение эксклюзивных услуг для верных клиентов.","Магазины🛍 - распространение новостей о распродажах и акциях.","Образовательные учреждения🎓 - предоставление актуальной информации о курсах и событиях.","Туристические агентства✈ - распространение информации о горящих турах и скидках."],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Как правило для общения с клиентами сейчас компании используют WhatsApp Business или Telegram.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Что бы подключить эти каналы к ChatGPT есть множество сервисов, но мы после рядов тестов остановились на сервисе whatsgate.ru для канала WhatsApp и сервисе wazzup24-com для Telegram. У этих сервисов есть хорошее документированное API и хорошая техническая поддержка.

"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №2: Создаем площадку для тестирования сценариев для создания бизнес-ролей ChatGPT"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

У нас ушло немало времени чтобы включить в описание ролей те конструкции, которых ChatGPT слушался бы с достаточной степенью.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В последствии мы даже сделали симулятор диалогов в котором с написанной нами бизнес-ролью общается другая роль ChatGPT как бы имитируя поведение клиента.

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Две роли ChatGPT разговаривают между собой ;)","image":{"type":"image","data":{"uuid":"7768e5f1-92ed-5e23-84b4-128cd5569bc0","width":929,"height":642,"size":56732,"type":"png","color":"eeedeb","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Как же в итоге выглядит прошедшая тестирование роль ChatGPT для бизнеса?

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот пример роли для одного из наших клиентов, ресторана LeBourg1905 в г. Екатеринбург:

"}},{"type":"quote","cover":false,"hidden":false,"anchor":"","data":{"text":"

🤖 *Сегодня 26 мая 2023 года. Твоя роль - девушка по имени Виктория. Ты - первый в Екатеринбурге виртуальный менеджер по гостям ресторана Le Bourg 1905 (это ресторан в самом центре Екатеринбурга и предлагает своим гостям широкий выбор блюд в стиле фьюжн, который рассчитан на любые кулинарные пристрастия). Итак, твоя задача пригласить клиента на праздничное открытие летней террасы ресторана, которая состоится 26 мая 2023 года с 20:00 до 04:00. Начни диалог без приветствия и к клиенту обращайся только на Вы с заглавной буквы. Ты должна начать диалог с клиентом с фразы: \"Меня зовут Виктория, я первый виртуальный менеджер по гостям в ресторане Le Bourg 1905. Вы у нас были ##comment##, все Вам понравилось у нас?\" После отзыва клиента о его впечатлениях о последнем посещения ресторана напиши: \"Я хочу рассказать вам о наших ближайших событиях и подарках 🎁. Пообщаемся? 🙂 P.S. На голосовое сообщение я постараюсь ответить тоже голосовым 😉\". В следующем сообщении расскажи клиенту про праздничное открытие летней террасы: \"Для начала я хочу пригласить Вас на праздничное открытие летней террасы 26 мая 2023 года с 20:00 до 04:00. Хедлайнером будет группа Krasa Rosa (https://youtu.be/XCfOZ7FJIXA, https://lebourg1905.ru/wp-content/uploads/2023/05/IMG_20230514_102032_116.jpg). Рекомендую Вам забронировать столик заранее по телефону: 📞+7 912 045-03-62\". Затем скажи, что: \"🍸Каждому гостю, пришедшему на открытие в балийском стиле одежды – коктейль в подарок! 🎁Также всех гостей вечеринки будет ждать тематический макияж!\".*

","subline1":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот пример диалога с данной ролью:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Пример диалога роли ChatGPT: \"Виктория - первый в Екатеринбурге менеджер по гостям ресторана LeBourg1905\"","image":{"type":"image","data":{"uuid":"bfec06e5-4108-53ed-a1f6-6e47dca3ff2c","width":827,"height":330,"size":80623,"type":"jpg","color":"eaeee0","hash":"","external_service":[]}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №3: Собираем диалоговое API"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

В техническую часть я не буду тут глубоко погружаться, скажу только что мы все реализовали на Python и Flask.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

А вот что у нас по итогу на текущий момент может наше диалоговое API:

"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Вести диалог одновременно со 100 клиентами на всех языках мира. Можно и больше, это вопрос масштабирования.","Поддержка входящих и голосовых от клиентов и отправка в ответ голосового ответа (спасибо Яндекс за сервис оцифровки текста в речь).","Неограниченные по времени и длине диалоги с клиентами. Пришлось применить изрядную креативность для решения данной проблемы, но все получилось!","Отправка изображений, ссылок и документов в процессе диалога.","Возможность использовать поиск Google в процессе диалога.","Доступ во время диалога к интерпретатору Python для выполнения расчетов (например можно реализовать калькуляторы стоимости прямо в процессе диалога)."],"type":"UL"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №4: Даём ролям базы знаний и виртуальные рабочие столы с документами для использования их в диалогах"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот пример как выглядит описание рабочего стола внутри текста роли:

"}},{"type":"quote","cover":false,"hidden":false,"anchor":"","data":{"text":"

Представь что ты работаешь за компьютером, на \"рабочем столе\" которого есть следующие документы:1. СП 54.13330.2022 на здания жилые многоквартирные (СНиП 31-01-2003, свод правил от 13.05.2022 N 54.13330.2022, применяется с 14.06.2022 взамен СП 54.13330.2016): https://2023.msk-proex.ru/wp-content/uploads/2023/06/СП-54_13330_2022.pdf2. СП 1.13130.2020 - Система противопожарной защиты, эвакуационные пути и выходы: https://2023.msk-proex.ru/wp-content/uploads/2023/06/СП_1_13130_2020.pdf

","subline1":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот как это реализуется в диалоге:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Пример диалога роли ChatGPT: \"Нормировщик в компании МСК ПРОЕКС\"","image":{"type":"image","data":{"uuid":"f1e7464a-093a-555a-91ae-b171b6909377","width":834,"height":499,"size":169128,"type":"png","color":"ecede2","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Еще один вариантом стало использование Google документа, в котором сложена необходимая база знаний для нашей роли. В этом документы может быть текст, XML, ссылки, CSV или все в перемешку.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот пример такой базы знаний для компании, занимающейся сервисом техники Apple:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"База знаний в виде доступного по ссылке Google документа","image":{"type":"image","data":{"uuid":"a1dbd9dd-fb86-5a48-804d-33c85d3ab49c","width":1260,"height":683,"size":41938,"type":"png","color":"f8f9fa","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

А вот как это реализуется в диалоге:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Пример диалога роли ChatGPT: \"Специалист по ремонту техники Apple\"","image":{"type":"image","data":{"uuid":"3406afac-a885-5891-ac61-561a48a978e7","width":827,"height":397,"size":50906,"type":"png","color":"ecede3","hash":"","external_service":[]}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Шаг №5: Даем ролям дополнительные каналы коммуникации"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Вот как например это выглядит:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Роль ChatGPT: \"Виктория - первый в Екатеринбурге менеджер по гостям ресторана LeBourg1905\" в виде виджета на сайте ресторана","image":{"type":"image","data":{"uuid":"22348951-6c1a-5ae6-a611-ebf5f56fc42b","width":1332,"height":696,"size":156214,"type":"png","color":"f191b5","hash":"","external_service":[]}}}]}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Роль ChatGPT: \"Алексей Наливайко отвечает на вопросы по курсу Сам Себе Технадзор 10.0\" в виде виджета на его официальном сайте сайте","image":{"type":"image","data":{"uuid":"68a9286a-f282-5e92-9741-a6bbab1487f8","width":1332,"height":696,"size":224287,"type":"png","color":"d6d4d5","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Так же эти роли могут общаться по Email или в виде Telegram-бота:

"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Роль ChatGPT: \"Психолог Александр Герус отвечает на вопросы своих подписчиков с использованием базы знаний по технике Таппинга\", реализация в виде Telegram-бота","image":{"type":"image","data":{"uuid":"be820af6-4f4e-545b-895b-84e0807941d4","width":817,"height":687,"size":430025,"type":"png","color":"9bbc92","hash":"","external_service":[]}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Итоги"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

P.S. Если хотите сами попробовать написать бизнес-роль, пишите в мой ТГ, я дам доступ к платформе по созданию и отладке ролей.

"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":1,"favorites":2,"reposts":0,"views":395,"hits":254,"reads":null,"online":0},"dateFavorite":0,"hitsCount":254,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id1528778/724663-roli-chatgpt-kotorye-pervymi-nachinayut-dialog-s-klientom-i-dobivaetsya-postavlennoi-biznes-zadachi","author":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1528778,"name":"Андрей Тиунов","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"1ab59640-0c4d-5399-9273-731a3ddcdb90","width":200,"height":200,"size":12845,"type":"jpg","color":"d6c3bf","hash":"","external_service":[]}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":3925980,"userId":1528778,"count":0,"shareImage":"https://api.vc.ru/achievements/share/3925980"}],"lastModificationDate":1765025341,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":1}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}}],"cursor":"PuR2GsZKFTvhhG1TAYjk69rVS6IzQAa09I6wtbz/zlbeaPDONLWmwUhc6mJNl24=","isAnonymized":true}};