А ведь давно уже напрашивается что-то вроде IDE (Интегрированная среда разработки) для писателей. Мне придумалось что-то эдакое лет ещё десять назад, но тогда у нас не было таких LLM и всю разметку тегами текста пришлось бы делать человеку.
Сейчас же с нынешними возможностями обработки естественного языка генеративными моделями можно автоматизировать огромное количество писательской рутины.
Давайте набросаем тезисный перечень фич такого редактора для художественной литературы.
Литературное произведение в ходе написания представляет собой каталог с файлами и подкаталогами. Внутри исходники, а итоговый текст собирается и компилируется из этих исходников в любой момент или даже в фоновом режиме.
В "исходниках" книги для формализованного описания миров, локаций, персонажей и прочего можно использовать декларативную систему "фактов" в виде формальных предикатов.
Какие-то сущности, например мир, локация или персонаж могут использоваться в серии книг. Тогда декларативное описание их можно выделить в подключаемый модуль и использовать в разных литературных (и не только) произведениях. Наверно такой подход был бы очень удобным для написания фан-фиков.
- Версионность
Раз книга наша представляется в виде исходников с декларативными и структурированными описаниями, то напрашивается использование классических или специализированных систем управления версиями, типа git или mercurial. Тогда вся работа над книгой будет концептуально разбита на цепочку поэтапных атомарных изменений, а реализация отдельных эпизодов и пробных вариантов развития событий может быть выделена в отдельные ветви.
Кроме того, ветви можно по-разному тегировать, подвергать слиянию, а распределённость репозитория позволит работать над большими книгами в коллаборации нескольким авторам одновременно не мешая при этом друг другу.
Также сюда подпадают такие концепции как "канон", альтернативные концовки и прочее.
- Непрерывная публикация
Да, речь о чем-то вроде CI\CD. В ходе работы над книгой можно настроить пайплайны так, чтобы скомпилированный результат всегда был готов к публикации не только для главной ветки разработки книги, но и для побочных веток. Эти результаты можно сравнивать целиком или частями, подвергать аналитике с использованием LLM, устраивать голосования по выбору основной ветки развития сюжета, оценивать получившуюся целостность образа персонажа, или мира.
Таким образом можно разрабатывать художественные книги в режиме opensource или закрытым сообществом авторов (при этом не обязательно малочисленным). Тут напрашиваются своеобразные альфа- и бета-тестеры получающегося произведения, редакторы, ревьюеры и прочие неочевидные роли в импровизированной смежной отрасли разработки литературных произведений.
- Инструментарий и прочие полезности от индустрии разработки софта
Благодаря современным LLM (в том числе работающим локально, например через Ollama или lmstudio) IDE может отслеживать ссылки между терминами. Так можно контролировать упоминания локаций и персонажей, каких-то событий и прочих имён, дат, терминов и понятий, чтобы избегать анахронизмов, вписывать их в единую канву повествования, учитывать хронологию и логические причинно-следственные связи.
Таким образом, например, можно щёлкнуть по имени персонажа и быстро прыгнуть на декларативное описание его основных черт, его биографию, "журнал" памяти (времена и локации в которых персонаж узнал тот или иной факт).
Расширяемыми плагинами можно формировать различные дэш-борды по отдельным персонажам (и не только по персонажам), в которых на любой момент времени в таймлайне повествования можно посмотреть, закрепить или откорректировать какие-то характеристики, связанные факты, и прочее. Для ЛитRPG прямо находка будет!
В этом же разделе можно упомянуть различные интерактивные карты местностей и локаций, черпающие информацию из базы знаний проекта. Также карта будет отражать временно́е измерение с полосой прокрутки в рамках охватываемого историей мира или персонажа периода.
Фактически в проекте может быть сформирована своеобразная онтологическая и логическая база знаний, данные из которой будет доступны как языковой модели, анализирующей формируемое произведение, так и алгоритмам контроля логической и исторической целостности.
- Декомпиляция
Интересно, что предложенный выше инструментарий мог бы помочь не только писать новые произведения, но и подвергать деконструкции и всестороннему анализу готовые литературные произведения, сюжеты, сценарии...
Разобрать книгу на перечень персонажей, их характеристики, особенности, таймлайны. Найти анахронизмы, логические нестыковки, заблуждения, альтернативные трактовки, скрытые подтексты и смыслы.
А ещё можно автоматизировать аккуратную фрагментарную замену элементов сюжетной линии произведения. Этот аспект и такое применение может вызвать бурю негативных эмоций и понятное для меня отторжение большинства читателей, но большая сила - это большая ответственность, не оружие убивает и не инструмент ломает, а тот, кто им орудует. Даже если речь о здравом смысле.
Странно думать о том, что кто-то захочет перекомпилировать старую историю так, чтобы Чапаев доплыл, или чтобы Раскольников как-то более драматично разрешил свой внутренний конфликт...
А что если бы главный герой Гарри Поттера оказался девочкой? Или кошкой? Ну это, пожалуй, перебор... или нет?
- Универсальность
Пожалуй описанный инструментарий не реализовал бы все свои потенциальные возможности в одной лишь только литературе. Очевидно, его сильные стороны были бы востребованы и применимы в работе сценаристов, причем не только фильмов и сериалов, но и в игровой индустрии. Ещё такому инструменту порадовались бы, может быть, историки, чтобы анализировать старинные тексты и события. Может быть что-то пригодилось бы в RPG и D&D...
Всё выше написанное следует воспринимать исключительно как праздные фантазии разработчика, который любит почитывать фантастику, но за свою графоманскую жизнь с самой юности не написал ничего обособленного и художественного, что не поместилось бы в пару школьных тонких тетрадей убористым почерком.
Наверняка описанный мною тут флюгенхаймен убьёт всю теплоту и ламповость писательского творчества, или никак не повлияет на индустрию. Судить не мне. А если кто-то почерпнёт из моего словоблудия какие-то незнакомые ранее концепции, то буду счастлив, что именно я нагрузил вашу голову этой, возможно, бесполезной для вас информацией.
Традиционный дисклеймер:
Этот текст написан исключительно силами моего биологического естественного интеллекта без применения искусственных языковых моделей и чего-то, что ныне принято называть искусственным интеллектом. Просто графоманский выподверт исторгнутый по наитию. Не обессутьте за занудство.