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

Спойлер: В результате я получил от ChatGPT то что хотел. Однако путь которым пришлось пройти сильно напоминает комедию с элементами детектива.

Спойлер: Промпт присутствует. Может быть полезен для сортировки слабоструктурированных текстовых массивов информации.

Условия задачи:

Мне нужно было написать сценарий документально видеоролика длительностью около часа, с элементами аналитики. Предположим, про Илона Маска (все имена и явки вымышлены и не имеют отношения к нашей реальности).

Поиск

При помощи ChatGPT я великолепно собрал исходную информацию:

  • Дал задание ему искать и в русскоязычных и в англоязычных источниках, с ссылками на первоисточник.

  • Задал ему стиль изложения. А то ведь он не просто ищет информацию, а ПЕРЕСКАЗЫВАЕТ её. Так пусть хоть пересказывает в нужном стиле, а не в своем доброжелательно-дебильно-политкорректно стерилизованном.

  • На его предложения о том что он может рассказать дополнительные подробности я часто соглашался.

  • Если проявлялся интересный нюанс, просил дать мне информацию и о нем тоже.

Одним словом я был доволен.

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

На выходе у меня получился файл на 120 страниц с плохо структурированной информацией.

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

Далее мне предстояло этот файл на 120 страниц упорядочить, иначе я в нем утонул бы.

Попытка 1

Первая логичная мысль: попросить ChatGPT рассортировать этот файл согласно таймлайну, то есть в порядке хронологии. Логичная ведь мысль?

Выяснились 2 вещи:

  1. 120 страниц в него не лезет. Ну это ладно, можно попробовать по частям.

  2. Он уже забыл то что сам же нашел и мне пересказал.

Вот второе - критично. Делает сортировку невозможной.

Попытка 2

Ладно, я решил попробовать скормить ему собранную им же информацию, и пересказать ее мне в соответствии с таймлайном.

У ChatGPT есть 2 проблемы, которые меня реально бесят:

  1. Доброжелательно-тупой америкосовский стиль изложения. Насчет термина “тупой” претензии не ко мне, а к Михаилу Задорнову, он этот факт открыл и обосновал.

  2. Он стерилизует материал. Из материала исчезают конкретные имена, даты, географические названия. Остается выхолощенный пересказ с нарративом “за все хорошее против всего плохого”.

С этим можно бороться, но об этой его особенности нужно помнить.

Я не вспомнил, и материал который мне сделал ChatGPT напоминал кисельную сладенькую сказочку.

Выходов два:

  • Обучить ChatGPT. Но я работаю над разными текстами, и не уверен что обученный он мне не испортит все следующие материалы.

  • В каждом промпте давать ему указания о стиле написания и о сохранении фактических данных. Хотя, может и не помочь.

Попытка 3

Ладно, я задал ему стиль изложения. Крепко-накрепко указал сохранять все фактические данные. Категорически приказал писать все-все-все подробности!

Результат получился… ну, скажем, парадоксальным.

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

Однако, я вдруг наткнулся на какие-то новые имена и события.

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

Но вот тот факт, что мать условного Илона Маска теперь звали по другому, вселил в меня смутные сомнения…

Оказалось, что все-таки он половину выдумал сам, и качественно встроил в исходную информацию.

Так что эксперимент опять не удался.

Попытка 4

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

Я спросил у ChatGPT о том как бы он посоветовал решить возникшую проблему.

Он посоветовал сделать разметку исходного материала. С чем мне в итоге пришлось согласиться.

Сделал разметку. Твердо-натвердо приказал ни в коем случае не менять исходный текст. Отправил на исполнение.

И что? Вы думаете на этом все закончилось?

Получив от ChatGPT полученный материал я бегло посмотрел что получилось и возрадовался! Тот материал который был у меня перед глазами, был упорядочен в соответствии с моими идентификаторами!

А потом я проверил объем исходного материала, который я скормил GPT и полученного от него.

Полученный был примерно в 2 раза меньше(((

Нет, ну я конечно понимаю, что в исходном материале много информации дублировалось, потому что поиск-то я проводил многократный. Но вопрос в том что он удалил - менее или более подходящие мне информационные блоки?

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

Я: Слушай, а тут не вся информация…

Он: Вся.

Я: Верни текст в состояние до редактирования.

Он: Вернул.

Я: Ну вот же, смотри, вот же фраза “ХХХ”, а в итоговом документе она отсутствует?

Он: Нет здесь фразы “ХХХ”.

Я: А это что?

Он: В шаблоне обрабатываемого документа эта фраза отсутствует. Обновить шаблон?

Я: Ну, обнови.

Он: Не могу обновить шаблон, возможно слишком сложное форматирование. И вообще, у вас закончился лимит, продолжение работы возможно через 3 часа.

Попытка 5

Я уже было решил плюнуть, и сделать вручную. Но нут в голове всплыла информация, что в основе GPT лежит векторизация.

То есть я вижу текст. А он вместо этого текста видит цифры.

И если у меня перед глазами два блока текста которые очень похожи, то у него перед глазами получается одно и то же число. А зачем ему два одинаковых числа? Одного достаточно.

Это и дало мне решение. Я решил использовать агентную схему. 

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

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

Дальше не интересно, дальше все сработало.

Единственно, загружать файлы для обработки лучше в TXT формате. В этом случае итоговый файл ChatGPT предлагает скачать тоже в формате TXT. При попытке загрузить файл в PDF, итоговый файл формируется на холсте. И там возможны неожиданности. Или нужен третий агент для отображения на холсте. Шизофрения она такая… многогранная.

Вот рабочий промпт:

У нас многоэтапная задача: нужно рассортировать текст по смысловым блокам.

Термины: 

- Исходный документ: текст, который передаётся в обработку. 

- Итоговый документ: текст, получившийся в результате обработки. 

- Идентификатор: пять символов в формате "::NNN", где "NNN" — три цифры. 

- Текстовый блок: неизменяемый блок текста, начинающийся с идентификатора и заканчивающийся перед следующим идентификатором или в конце документа. 

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

Шаги обработки: 

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

1. Аналитик: 

- Определяет текстовые блоки в исходном документе. 

- Передаёт архивариусу каждый текстовый блок вместе с его идентификатором. 

2. Архивариус: 

- Получает текстовые блоки и идентификаторы от аналитика. 

- Вставляет текстовый блок в итоговый документ. 

Порядок вставки: 

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

2. Если блоков с таким идентификатором нет, новый блок размещается после всех блоков с меньшими идентификаторами. 

Пример:

Исходный документ: 

::002 

Это текст блока 002. 

::001 

Это текст блока 001. 

::003 

Это текст блока 003. 

Итоговый документ: 

::001 

Это текст блока 001. 

::002 

Это текст блока 002. 

::003

Это текст блока 003.  

END

Комментарии (0)