Давно ли ты думал, что вот именно в этом мире, в этой истории я хочу остаться на долго, я хочу узнать этот мир, посмотреть на него настолько долго и пристально, насколько смогу? Если нет, то тебе будет явно это не интересно, можешь дальше не читать.
Однако, представь, ты открываешь страницу сайта. Там нет вот этого типичного дерьма с пестрящими обложками нейросетевых баб… в прочем пусть будут, но вот нет этой аляпистой хер пойми какой пестрящей херни, где обложка зазывает, начало затягивает а дальше… а хер знает что дальше, обычно скукота. А теперь представь строгий минимализм. Мало цветов, четкая градация линий. Стильный дизайн, но перед этим, перед тобой просто пустой экран и одна кнопка — «О дивный Новый Мир».
Ты нажимаешь. И рассекая мечом экран, он расползается на две части. Перед тобой зарождается мир. Не континент, не городок, а целое мироздание со своими физическими законами. Пока ты просто смотришь на экран, ИИ создает этот мир, уничтожает его, а на руинах прогоняет в симуляции несколько тысячелетий. За это время рождаются и умирают религии, распадаются империи, сменяются боги. Лор не придумывается «по промпту», он реально проживается внутри симуляции.
И вот, когда история доходит до определенной эпохи, фокус сужается. В этой симуляции появляются заготовки персонажей. Они рождаются, получают свои травмы, свой бэкграунд, живут в этом сгенерированном мире вплоть до той самой секунды, когда начинается твоя история. У тебя в руках оказывается уникальные персонажи с реальными корнями. И так как весь мир был просимулирован заранее, в нем можно начать любую историю в любой период времени и все они будут иметь общую базу.
Представил? Стало интересно? А теперь суровая правда, это все ебать как не просто, но вполне достижимо. Чтобы весь этот сгенерированный мир было интересно изучать, его нужно во что-то облечь. В текст. В интересный, поглощающий тебя, художественный текст.
А если вы хоть раз пытались заставить любую LLM написать вам художественный рассказ, вы знаете, что происходит. Текст получается… ну, скажем так, не совсем тем, что хочется перечитывать раз за разом. Он слишком литературный, скучный, порой не логичный и до боли усреднённый. В нем нет «изюминки».
И вот тут начинается история о том, как я, человек вообще-то простой и далекий от хардкорного программирования, решил научить нейросеть писать нормальные книги… ну или хотя бы главу.
### С чего всё началось: Ебля с ассистентами
Я не кодер. Код у меня пишет ИИ. И поначалу это был сущий ад.
Я сидел в VSCode с гугловским довеском, который видел только куски кода, которые я ему подсовывал. Он не понимал контекста всего проекта. Но главной проблемой было даже не это. Главной проблемой было заставить ИИ реагировать и делать именно то, что я от него *хочу*, а не то, как он себе это *понял*.
Потом появился Antigravity и причем сразу 2 версия менее понятная, когда начинаешь, но в итоге со связкой + VSCode стало норм. Да я знаю про Antigravity IDE, но объективно, функция артефактов роляет больше. Но и тут не все так просто, сток работает, однако мне пришлось буквально выдрессировать его. Я завел отдельный конфигурационный файл, где жестко прописал правила: не извиняться, не лизать жопу, не писать мне приветствия, просто брать логику, которую я даю, и превращать ее в рабочий код.
Когда мы более-менее наладили этот процесс, я взялся за генерацию первых (хотя, по сути, это уже третий проект в этом направлении) строк кода.
Я назвал систему генерации «София».
**София 1.0** была стартовой темой, на ней я понял, что LLM нужно говорить, чтобы было боле менее что-то адекватное в ответ. Но это все еще был просто скрипт с правилами, который брал базовый промт и кидал его в LLM с просьбой «напиши главу такую-то». На выходе получался тот самый не вполне годный для средней руки писателя текст. Но, нейросеть писала, не следуя всем правилам. Да что-то ей давалось хорошо, но все равно, чем больше выходной текст, тем больше отклонений от правил было.
Я знал про Теорию Айсберга (когда 10% смысла на поверхности, а 90% в подтексте) и про Deep POV (когда мы видим мир через призму сенсорики персонажа, без авторских объяснений). Но как объяснить это машине?
Так появилась **София 2**. Я начал скармливать ей сложные промпты, где запрещал использовать прямые описания эмоций и заставлял описывать физиологию (пульс, пот, дрожь). София 2 была первым локальным успехом. Тексты стали читабельными и вполне начали походить на нейрослоп, но хороший нейрослоп.
Окрыленный, я решил усложнить систему и выкатил **Софию 3**. И тут всё пошло по пизде.
Я хотел, чтобы ИИ не просто генерил текст с нуля, а умел редактировать уже написанное. Находить кусок, вырезать его и вставлять новый. Стоило мне добавить парсинг и заставить нейронки править текст кусками, как началась кромешная ебля. Сломанный синтаксис, рваные предложения, оторванные запятые. ИИ скатывался в бесконечные циклы правок, пытаясь починить то, что сам же и сломал на предыдущем шаге. Я убил на это не мало времени.
Мне нужен был выход. И я просто взял один из сырых сгенерированных текстов и дал его почитать знакомому. Он не позиционирует себя как великий редактор, но у него наметан глаз. Я просто попросил: посмотри, что не так.
Он заинтересовался и начал править. Честно, без альтруизма, но с нормальным профессиональным интересом. И когда он вернул мне текст, это был инсайт.
Проблема была не в том, что ИИ не знал Теорию Айсберга. Проблема была в том, что у ИИ не было *понятия* что именно под этим понимается в конкретном тексте. Я посмотрел на то, как человек выжигал лишние прилагательные, как он схлопывал тавтологии (например, убирал слово «деревянные» перед «половицами», потому что они и так из дерева).
И мы с моим ИИ-кодером начали использовать этот человеческий драфт как «стандарт». Мы брали правки редактора и на их основе жестко тюнили промты для нашей системы.
### София 3.5 и Виртуальный Консилиум
Мы полностью перелопатили архитектуру. Вместо того, чтобы просить одну модель отредактировать текст, я создал Виртуальный Консилиум.
Теперь текст проходит через несколько слоев.
Сначала он попадает к трем разным независимым агентам (Ignis, Aequa, Gelida). У них разные температурные настройки и разные характеры. Один настроен на агрессивное вырезание "воды", второй ищет баланс, третий работает чисто хирургически, не трогая стиль.
Они анализируют текст и предлагают свои списки правок. Если хотя бы один из них не согласен — правка идет в мусорку. Только при единогласном решении (консенсусе) формируется задание для "Хирурга".
А дальше происходит магия. Хирург вносит правки (через AST-подобную замену). И чтобы система не свалилась в бесконечный цикл сломанного синтаксиса, как это было в Софии 3, текст тут же проверяет строгий Валидатор. Если Валидатор видит, что после удаления слова осталась висеть лишняя запятая или сломался падеж, он возвращает этот кусок обратно Хирургу с пометкой `FIXABLE` — "почини немедленно".
Текст прогоняется через Консилиум Штампов (вырезание клише), Консилиум Лексики (удаление дубликатов смысла) и Консилиум Непрерывности (проверка логики пространства).
В итоге на выходе мы получаем сухой, плотный, кинематографичный текст. Текст, который рождается в симуляции мира, но написан так, будто его вычитывал живой коммерческий редактор.
Сейчас София 3.5 работает и выдает результат. Проект растет, логика усложняется с каждым днем. Впереди еще много работы над самим движком симуляции миров, над выращиванием персонажей ну и конечно над сценаристом и режиссёром всего этого. Но фундамент, способность Электро Овцы писать приятно, уже заложен.
Если кому-то интересен этот путь, архитектура консилиумов или просто хочется понаблюдать за тем, как мы строим симулятор мироздания — добро пожаловать на канал. Там я кидаю сырые логи, куски кода иногда промты и рассказываю, как мы пытаемся заставить математику стать литературой.
[Залетай в наш Telegram-канал](https://t.me/+8EE_eRJd1hhjNmUy)