В ходе работы над слайдами для семинаров по FPF вытащились проблемы с “источником”: он вылезал как одно из главных понятий, но его kind был неуловим. Раскопки показали, что английское source здесь воспринимается как “исходник” неуловимого kind. Даже с FPF AI-агент не мог понять, что там не так, пока я не привёл как пример “исходный код” и “исходник” как существительное, образованное от прилагательного после исчезновения определяемого слова “код”. И вот “исходник” в тексте уже не обязательно означает “код”. Это может быть что угодно: исходный kind потерян. У нас в A.15.4 было ровно так: “что-то исходное”. Что именно? Оказалось, A.15.4 был не про один объект вида source, а про момент, когда (ох уж этот специфический “точный язык” AI-агента) “встретившийся материал, экран, скопированное одобрение или слабая подсказка выглядят достаточным основанием для следующей работы или для доверия к утверждению”. “Встретившийся” – исходный набор (и тут этих kind куча), а последующий – это “работа или доверие”. Онтологическая и лексическая жуть. В таком случае надо восстановить не общий “источник”, а конкретный kind и слот в каком-то отношении в FPF: “какое утверждение или уже наступивший эффект требуется для предполагаемого использования, какой паттерн это определяет и на какую проектную запись или связь можно опереться” (хотя это опять типы, задаваемые перечислением вроде китайской классификации животных Борхеса). Дальше для каждого упомянутого то ли слота, то ли kind, то ли проблемной ситуации объявляется паттерн, который даст нужное решение для этой проблемной ситуации. Ага, стало понятнее: надо назвать не общий source, а “из какого паттерна пришли”, вот этот “источник”! Если речь идёт о переносе принятого описания проблемы в дальнейшую работу, надо назвать ещё и её место в P2W. Не с первого раза (вообще, это всё шло целый вечер, а затем выполнялось весь следующий день – сутки на всю работу, это я просто рассказываю тут быстро и коротко), но сдвиг от общего “исходника” к конкретной позиции и отношению мой AI-агент осознал – и вуаля, A.15.4 был поправлен (хотя смысл тамошних проблем и их решений всё равно трудно понять). Ремонт этой ошибки с отсутствующим объектом для то ли прилагательного, то ли существительного source ещё пару недель назад был бы невозможен: поток преобразований в более-менее полном виде появился там всего пару недель назад. Дальше был ещё долгий проход по всему FPF с ремонтом употребления слова-зонтика source, но уже было понятно, как это делать. Я думаю, что подобных проблем в FPF ещё много. Например, прямо сейчас в кампании, о которой скажу через несколько абзацев, в нескольких паттернах был починен термин SubjectBlock, который явно был слишком универсален: оказалось, что его надо везде заменять чем-то более конкретным. FPF, как и любой продукт, не бывает без ошибок. Хороший продукт – тот, в котором ошибки находят и исправляют. Чисто не там, где не сорят. Чисто там, где убирают.
Перед самым семинаром я понял, что не хватает объяснения декларативности в применении паттернов – всё время проскакивали какие-то императивные обороты. Здесь работает та же общая идея, что в эйлеровом описании потоков E.18 и в акаузальном моделировании Modelica и Dyad: сначала удерживается структура отношений и ограничений, а не готовый маршрут. Это довольно общая штука, поэтому в FPF я сделал паттерн CGUS (constraint-governed unfolding structure), очень поэтично. В P2W (переносе принятого описания проблемы в последующую работу) и P2S (переходе от архитектурной проблемы к выбранной структуре) отдельные связки продолжений теперь можно описывать как CGUS (“разворачивания”), когда для них найдены (FPF предпочитает сказать “восстановлены”) нужные позиции в структуре, точные отношения и явные ограничения. То же относится к применению наборов паттернов. Дальше для дидактических целей вводим “показательную развёртку”, которая остаётся только объяснением, а не предписанным порядком работы. Если такая структура проходит условия допуска для CGUS, то новый элемент в структуру можно добавлять просто “ещё одним очередным элементом в конец списка” вместе с его отношениями и ограничениями, а не всовывать в заранее заданное место единственного маршрута. Это особенно удобно для библиотек и каталогов: они могут пополняться без перепроектирования единственной обязательной последовательности при каждой добавке нового элемента.
Следующей оказалась трудность объяснения этого разворачивания именно в части применения паттернов: я уже сделал слайды, но в самом FPF для них не было опоры. Знание о том, как использовать паттерны FPF, по факту оказалось не в FPF, а только в слайдах. Поэтому я сделал паттерн по применению паттернов к проблемным ситуациям, ввёл в FPF локальную мантру как рабочее и учебное название короткой повторяемой формулы, удерживающей решение паттерна, и переделал карточки типовых ситуаций публичного README (а также слайды для типовых ситуаций использования FPF на семинаре) так, чтобы в них появились условные разборы возможных продолжений, а не только списки паттернов. Материал я взял из моего семинара по мантрам, который состоялся всего год назад и который я до сих пор считаю самым недооценённым из моих семинаров. После этого локальные мантры появились внутри самих паттернов, а карточки README получили обычные разборы “логических шагов решения проблемы”, построенные на том же принципе декларативного удержания структуры. Мантра может оставаться кратким изложением решения одного паттерна, без CGUS. Если же она показывает условные продолжения каждого своего шага/хода (в FPF у мантры moves) внутри более широкой структуры, прошедшей условия допуска CGUS, её можно оформить как формальную уже “показательную развёртку”. Условные “шаги” при этом объясняют возможные продолжения, но не задают порядок реальной работы. Мантры всё равно трудно объяснять и понимать, как и любое другое декларативное описание какой-то развёртки. Декларативное описание идёт против привычки мыслить готовой последовательностью действий, “делай раз, делай два” – я даже вставил о трудности понимания объяснительных мантр и подхода CGUS к описанию структур всяческих “развёрток” отдельный слайд. Добавка мантр и показательных развёрток, а также паттерна по объяснению использования FPF была довольно рискованной накануне семинара: DRR разросся до 270К знаков, изменения затронули 15 паттернов (один новый, остальные правились), а также README и Preface. Работу я начал днём накануне семинара, когда уже надо было заканчивать слайды, но мантры то исчезали из них, то опять появлялись. Поскольку их ещё не было в тексте FPF, они шли только “с голоса” и поэтому при каждом редактировании агентами вылетали из слайдов именно они как “новация без evidence” – это и было проблемой. DRR был готов к полуночи после 14 итераций, агенты жужжали всю ночь и всё утро, а FPF был опубликован за 20 минут до начала семинара. Изменений там было чуть больше, чем я тут описываю. Например, прежний вариант P2W “от принципов к работе” был объявлен частным случаем более общего P2W “от проблемы к работе”, а соответствующий паттерн был переделан и переименован.
Слайды к первому семинару (их оказалось больше шестидесяти) были сделаны агентами в форме “слайдомента” – под моим чутким руководством, на основе DRR с описаниями мантр (ибо паттерны про мантры просто реализовывали этот DRR, и один агент писал по этому DRR слайды, а второй писал по нему паттерны). Просмотр людьми-организаторами итогового слайдомента дал неожиданную рекомендацию: не переписывать эти слайды руками, как я всегда это делал, ибо они оказались явно понятнее моих обычных слайдов. Ну, в этот раз мы с AI-агентами использовали и DPF по нарративистике, и ещё много чего, но вот тут было по-настоящему обидно, что я воспринимаюсь людьми как слайдописатель похуже, чем AI-агенты. Это и есть новая ситуация, в которую мы попали как тёплое ламповое человечество: заказ, основные идеи и пригляд мои, а исполнение – не моё, ибо я сделаю хуже. Я – инженер-менеджер над очень талантливыми N-из-ларца, одинаковых с лица.
Картинки в моих постах тоже нарисованы явно лучше, чем я умею рисовать, так что переживать особо мне не надо. Боюсь, что они получаются лучше (и быстрее!), чем получались бы у самого Альфонса Мухи – ибо он вообще ничего бы не понял из предложения нарисовать картинки на нужные мне темы. Заодно выяснилось, что агент на GPT-5.6 Sol из Codex App умеет подключиться к открытому PowerPoint и быстро редактировать слайды – по одному или сразу группами, сообщая в чате “подожди немного, PowerPoint сейчас пересчитывает размеры текстбоксов после внесения нового текста, сейчас он закончит и всё отобразит” – и да, через десять секунд PowerPoint заканчивал пересчёт и всё отображал. Инструментальная жизнь сильно изменилась. Слайды тем самым тоже были готовы – за двадцать минут до семинара.
На семинаре я задержал всех своими объяснениями всего на пятнадцать минут, а потом ещё больше двух часов отвечал на вопросы в чате. Сегодня утром я продолжил писать в чат: появились ещё вопросы, начался и обмен опытом – кто что поменял в своей работе по итогам семинара. Уже видно, что семинар оказался полезным, ибо изменения в работе участников по итогам семинара – есть! Участники получили слайдомент, видео, транскрипт и даже не одну нарративизацию, а парочку: краткое содержание по-английски и текст по-русски, сделанный по методу Ильшата Габдуллина. Русский текст нарратива немаленький: 96К знаков. Впрочем, слайдомент там тоже примерно на 70К знаков, так что в нарравитизацию попало кроме пересказа конспекта-слайдомента ещё 30К знаков моих баек и замечаний, что там и почему в слайдоменте важно.
На семинаре я обратил внимание, что одна из основных тем упиралась в более-менее попсовую, бытовую речь (поэтому всё было понятно!), использующую слова “ход”, “проблема” и “результат”. Эти слова принципиально не раскрывались до точных kinds. Стало понятно, что за ними иногда стоит устойчивое отношение и позиция в нём, а иногда они остаются удобной обычной лексикой. Например, “набор слайдов” как эпистема становился “результатом” работы по подготовке слайдов к семинару, не переставая при этом быть онтологически набором слайдов. Когда участники семинара задали вопросы про kind этого самого “результата”, об отсутствии которого агент честно предупреждал на нескольких слайдах, я понял, что это надо чинить. Вопросы вроде “А что такое результат?” – классические онтологические вопросы. И ответом было не “чините неточное слово”, а невнятное объяснение через “место, слот или позицию в отношении”.
Я обратился к агентам (GPT-5.6 Sol Max) с вопросами, и там сразу вскрылось ещё много интересного. Result потребовал точного отношения “результат чего”. Это выявило отсутствие положительной онтологии отдельного случая отношения (relation occurrence). Проверка слова problem сначала привела к гипотезе об отдельном kind U.Situation, но дальнейший онтологический разбор её отверг: реальную проблему решили представлять как отдельный случай отношения “проблематично для” (ProblematicForRelation). Проверка situation заодно выявила ошибочную онтологию bounded context: странный “семантический холон ситуации”. Употребление @Project показало отсутствие самого проекта. Реальный проект оказался одной составной выполненной работой, composite U.Work occurrence. Тем самым надо уточнить около двух десятков паттернов, где @Project либо должен указывать на эту работу точным отношением, либо остаётся лишь меткой для поиска связанных с ним карточек (и это очередной semio-bias: вместо рассказов о проекте мы получили рассказ о написании карточек о проекте). Дальше я сделал intake, открыл кампанию, подготовил DRR примерно на 158К знаков, после чего пошёл тяжёлый онтологический рефакторинг. И хорошо, что я вполне действующий онтолог, а то мы бы опять получили вместо constructive ontology какую-нибудь классическую TLO: там за каждым поворотом сюжета надо было следить – и наверняка даже сейчас остаются онтологически спорные моменты. Мы шли по онтологическому фронтиру и подняли много литературы 2024-2026 годов. Базовое изложение constructional ontology вышло в 2024 году, прикладное продолжение – в 2025-м. BORO 2025 использовали отдельно как источник для 4D экстенсионализма в его конструктивном варианте. Само конструктивное основание онтологии брали из других работ 2024-2025 годов.
Проверка DRR на “если вот это реализовать в FPF, будут ли объяснения на слайдах проще” показала: “внутри FPF будет чуть сложнее, но объяснения на слайдах будут существенно проще”. Понятно: телевизор, управляемый одной кнопкой, обычно сложнее, чем телевизор с двумя десятками ручек настроки.
Выяснилось, что билетики на всю серию семинаров купили 90% участников первого семинара, поэтому я считаю эту серию своим наставничеством в эдакой небольшой моей резидентуре – полтора месяца, как и любая наша резидентура в МИМ. Цена там тоже похожая, хотя при ранней закупке была ещё и подешевле.
Слайды первого семинара я буду перегенерировать после завершения этого тяжёлого онтологического рефакторинга, а затем отдам участникам семинара. Уже конец дня, агенты жужжат, но конца их работы пока не видно. Надеюсь, что смогу переделать эти слайды уже завтра, хотя уже сомневаюсь. В рамках этого рефакторинга пишутся три новых паттерна, правится почти девяносто существующих и обновляются Preface и README. Там принципиально меняется всё, что связано с отношениями: FPF теперь различает тот факт, что отношение имеет слот (и вроде бы будут удавлены “позиции” и “места” в отношении, чтобы удержать слотовую дисциплину), отдельный случай/occurence отношения, утверждение о нём, его описание и публикацию. Мы признаём, что отдельный случай отношения может существовать в мире до того, как его кто-то записал (реализм), но явно выделяем такой случай только тогда, когда его идентичность нужна следующему утверждению или операции. Для grounding при этом вводятся жёсткие условия. Онтология отношений затрагивает весь FPF. Масштабы бедствия ожидаемо велики, но такой размах ремонта прямо сейчас для меня всё равно немного неожиданен. «Я такой непредсказуемый. Когда все думают, что я скоро чихну, в самый последний момент прилетает огромная чайка и уносит меня в Румынию».
От этих скоростей работы (год назад на такое у меня ушёл бы месяц: “по три паттерна в день, каждый день”, а сейчас я ожидаю уложиться в пару суток) я пребываю в большом удивлении.
В чате семинара продолжается обсуждение (там ведь не “домашние задания”, а “рабочие задания”). Происходящее там радует, ибо семинар уже повлиял на то, как работают некоторые его участники – что и замышлялось. Польза налицо, и это только начало всей серии.
Теперь мне надо закончить рефакторинг онтологического ядра, а затем – паттернов архитектуры. Отношения напрямую связаны с понятием структуры, которая определяется через отношения, а архитектура – через понятие структуры. Затем предстоит правка паттернов метода, работы, преобразований и проекта – таких паттернов пара десятков, и там тоже всё построено на отношениях. И так далее. После этого надо будет перегенерировать слайдомент не только первого, но и второго семинара: я считал, что он “почти готов”, но теперь уже очевидно, что переделки будут существенными.
В следующее воскресенье на втором семинаре серии будем уже заниматься архитектурой, структурами, архитектурными описаниями, холонами и многим другим – и я планирую успеть с подготовкой к семинару, неделя всё-таки по нынешним временам большой срок! Опять подам материал ещё тёпленьким. Надеюсь, что успею закончить подготовку не за двадцать минут до начала семинара, как это было вчера, но не зарекаюсь.
Картинка к посту – один из слайдов для первого семинара, переделал его из слайдов семинара по мантрам.
