1. Безмасштабная эволюционная системная инженерия

Анатолий Левенчук · Поиск в руководстве · MCP

Открыть это место в полном тексте руководства →

1. Безмасштабная эволюционная системная инженерия

Инженерия

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

  • Рациональное принятие решений — это отсутствие симпатической магии1, то есть действий с моделями/описаниями и верой в то, что реальность как-то сама отразит изменение этих описаний, отсутствие упований на «дружественную вселенную» или «злых духов». Подробно про рациональность было в руководстве по рациональной работе.

  • Фактически «изменение физического мира» означает или создание и развитие каких-то новых, ранее не существовавших систем, или развитие (изменение свойств/traits/features) каких-то уже существующих систем. Важно, что системы — это часть физического мира. Если физический мир в ходе инженерного проекта в конечном итоге не меняется — то это не инженерный проект, его можно не делать, физический мир ведь всё равно не изменится! Иногда «изменение» систем в проекте означает и уничтожение, если это как-то меняет мир к лучшему. Подробно про системы было в руководстве по системному мышлению.

  • Культура — это следование методу работ, который общий для какого-то сообщества. Наше руководство по системной инженерии как раз про типовое разложение инженерной культуры на составляющие её культуры/методы/практики/стили (синонимов тут много). Подробно про культуры/методы работы было в руководстве по методологии.

Как понимается «изменение к лучшему»? Тут есть несколько вариантов, отвечающих на разные интересы/concerns:

  • Изменения к лучшему — оценку того, «к лучшему» или «к худшему» эти изменения, даёт этика. Этика — это фундаментальный метод мышления, входящий в интеллект-стек (по этике есть отдельный раздел в руководстве по интеллект-стеку). Выполняется этот метод ролью совести. Простых ответов не будет, ибо современная системная этика учитывает конфликты между множеством системных уровней: что для клеток печени «мы растём!», то для организма «рак печени».

  • Изменения к лучшему — это часть культурной/техно-эволюции, часть бесконечного развития цивилизации, часть процесса деятельного (изменяющего мир!) познания, тем самым он не заканчивается разовым проведением какой-то одной системы по жизненному циклу, а непрерывно вводит в эксплуатацию новые и новые изменения, ввод в эксплуатацию непрерывен/continuous, он не происходит один раз за время проекта, это не «водопад» для одного организма (development), а эволюция для технического вида/species с необходимым внутривидовым разнообразием и даже порождением новых видов. Неважно, сколько там было организмов в ходе эволюции: один с заменяемыми частями, или множество последовательных. В инженерии, как и биологической эволюции, доступны множество «почти одинаково выгодных» решений, выгода всегда многоуровневая, ухудшения в выживаемости систем часты, нейтральные решения более редки, крупные улучшения в выживаемости встречаются очень редко. Тут, правда, есть оговорка: эволюция не всегда ведёт к «прогрессу», «к лучшему» в абсолютном смысле, независимо от места и времени. В eco-evo-devo (экологической эволюционной биологии развития) понятие «прогресс» обычно не понимается в терминах универсального или неотъемлемого улучшения в направлении к предопределённой глобальной/абсолютной цели — если сейчас надо спасаться от холода, то приобретение печки сегодня будет полезно, а если завтра наступит жара, или даже сегодня, но при переезде в другое место — эта же печка окажется вредной. Современное понимание эволюционной оптимизации подразумевает, что «прогресс» можно описать как увеличение сложности, разнообразия или интеграции в некоторых «родословных» систем, но эти изменения не обязательно «лучше» независимо от места и времени. Они лучше только относительно определенных сред или проблем, «здесь и сейчас» или «там и тогда». «Изменения» тем самым не является универсально полезными, универсальными «к лучшему», они не представляют движение к единому идеальному состоянию, но они могут быть выгодными в текущем окружении развиваемой системы.

  • Изменения к лучшему — это действия по минимизации свободной энергии целевой системы и/или её надсистемы, согласно теории деятельного рассуждения (active inference). Эта минимизация «свободной энергии» сводится к минимизации неприятных «сюрпризов» типа «система разрушилась и рассеялась в окружающей среде». Другой вариант того же рассуждения про минимизацию свободной энергии — это многоуровневые эволюционные оптимизации инженерных систем, отражающие неустроенности/frustrations от конфликтов между системными уровнями (было более подробно рассмотрено в руководстве по системному мышлению). В ходе развития системы неизбежно будут оставаться и даже множиться (эволюционный рост сложности, увеличение числа системных уровней!) неустроенности в целевых системах, и приходится снова и снова инженерно/деятельно/практично решать сложную оптимизационную задачу на многих системных уровнях, опять всё упирается в эволюцию системы и сопутствующую эволюцию графа создателей системы. Ключевое «к лучшему» тут — это более длительные сроки удержания целостности какой-то системы за счёт адаптации (постоянных изменений состояния этой системы перед лицом много превосходящих внешних воздействий). Грубо говоря, «к лучшему» — это когда меньше ожидания незапланированного разрушения системы, меньше байесовских неприятных «сюрпризов» типа «тебя съели», «ты умер от голода», «ты не смог размножиться». Конечно, это просто метафора для инженерных систем, но спросите у серийных предпринимателей, насколько они воспринимают такие высказывания как метафоры по отношению к их бизнесам по изменению мира к лучшему, и вы поймёте, что в каждой шутке есть доля шутки. Про эту долю шутки мы ещё не раз вспомним в нашем руководстве.

  • Изменения к лучшему в экономике — это изменения, которые приносят максимальную пользу владельцам развиваемой системы. Value/utility переводим как «польза», ответы на вопрос «ценна ли твоя система» и «полезна ли твоя система» обычно сильно различаются: все системы чем-то ценны, но мало систем полезны. Максимизация пользы для владельцев целевых систем приводит к обмену ими своих ресурсов на эту пользу (субъективная теория полезности2) при этом граф создателей получает от них достаточно ресурсов, чтобы создатели поддерживали собственное существование.

Конечно, есть и множество других вариантов понимания «к лучшему», но мы ограничимся этими, добавив ещё специфический системноинженерный вариант создания и развития «успешных систем» как соответствующей ожиданиям самых разных проектных ролей. Главное, что все эти понимания «к лучшему» или «успешности» предусматривают физические изменения в мире как конечный результат (появление, изменение или исчезновение какой-то системы или целого ряда систем), а также указание на то, что это изменение было «к лучшему» или «успешно», то есть достигнуты какие-то оптимальные характеристики системы, а не произошли какие-то случайные изменения ради изменений. Рациональность работы в инженерных проектах в том, что решения проекта ведут «к лучшему миру» и к «успешным системам», а не ведут «куда-нибудь».

Современная (SoTA, state-of-the-art, лучшая из известных на сегодняшний момент, и именно о такой мы будем говорить в нашем руководстве) инженерия является системной, ибо её методы опираются на системное мышление в его третьем поколении. Всё это «движение к гибкости/agile» — это просто отражение постепенных изменений системного мышления, которое в конечном итоге привело в его третьем поколении к восприятию неэргодических (то есть с памятью) физических систем в том числе и в эволюционном масштабе времени. Напомним, что учёт графа создателей (системы не сами себя делают, как живые организмы) — это второе поколение, а в первом поколении царил экологический подход — рассматривались только системы в их окружении/среде (и внимание к окружению/среде какой-то системы часто подавалось как «экология»).

Эволюционирующий усложняющийся мир может рассматриваться, как в биологии — «сам себя эволюционирует», как целое, «я сам себя почесал». Но можно рассматривать этот мир так, что одни системы-создатели в нём развивают другие системы, которые в свою очередь будут системами-создателями, «моя правая рука под управлением моего мозга почесала левую руку», никакого запутывающего «само». Тогда мы можем предположить, что какие-то из этих агентов-создателей достаточно интеллектуальны, чтобы их мышление было рационально, в том числе системно в части моделирования мира и принятия решений — они и будут инженерами, практикующими инженерную культуру изменения мира к лучшему.

Создаваемые инженерами системы в таком быстро меняющемся в ходе (био, культурной, техно) эволюции мире имеют много системных уровней, число которых непрерывно растёт. Системы разных видов/species (включая технические системы, включая биологические системы, в том числе и сложные — вроде биогеоценозов) на каждом из этих уровней требуют каких-то особых методов работы для их создания и развития. Так, с созданием генно-модифицированных свиней работают не так, как с созданием людей — хотя в части генетики они очень похожи. Создание пастбища отличается от создания города, хотя это «участки земной поверхности».

Согласно приведённому определению, SoTA инженерия должна быть системной и не просто многоуровневой, но и безмасштабной (вообще не привязанной к каким-то уровням, «ренормализуемой» — с одинаковой математикой, применимой ко всем уровням), и эволюционной (в инженерии иногда говорят «непрерывной», continuous):

  • Безмасштабность (общность основных положений инженерии для всех возможных масштабов, отсутствие указаний на масштаб систем) гарантирует, что инженеры (рационально мыслящие и действующие создатели) не остановятся в своей оптимизации мира «к лучшему» на границе какого-то масштаба. Это в системной инженерии называют «рекурсивным применением системной инженерии», одно и то же мышление для систем разных системных уровней (разных масштабов). Безмасштабность означает, что инженеры (которые, конечно, не будут называться инженерами, а будут называться самыми разными другими ролями в зависимости от вида систем и специализации — но нас тут интересует то, что они меняют мир к лучшему на основе рационального и системного мышления) не изменят личность так, что от этого развалится общество, не сделают киберфизическую систему такую, что она уничтожит всё живое в радиусе трёх километров. Нет, они любую систему рассматривают в контексте её системного окружения, причём не забывают это рассмотрение доводить до времени эксплуатации. Можете подумать о том, как по-разному аргументировали это безмасштабное «изменить мир к лучшему» инженеры, создававшие атомную бомбу, на каком уровне они останавливали свои рассуждения, примат какого системного уровня (уровня сложности) был у них в голове — вещества, киберфизической системы, существа, личности, организации, сообщества, общества, человечества? Функциональную ли они рассматривали иерархию, или конструктивную? Или речь идёт о геополитике, то есть примат был в пространственном, территориальном разбиении?

  • Эволюционность (непрерывность, «continuous everything» в agile методологиях разработки) означает, что каждое изменение системы её создателями («умная мутация»3) в порядке попытки оптимизации под непрерывно изменяющееся понимание ситуации использования системы и ситуации создания и развития системы не будет разовым. Поток этих инженерных изменений («умных мутаций» в эволюции системы), влияющих на успешность системы в условиях непрерывного изменения ситуации с потребностями проектных ролей, будет в проекте нескончаем. Текущая успешность системы будет непрерывно отслеживаться во времени командой проекта, а не удостоверяться разово на момент единичного за время жизни системы ввода в эксплуатацию. Эволюционность (в инженерии это «continuous everything» с акцентом на непрерывный ввод в эксплуатацию, continuous delivery) означает, что одно разовое создание экземпляра или серии системы вряд ли возможно, и нужно непрерывно подстраивать систему-как-вид/species под стремительно меняющееся окружение, непрерывно вводить в эксплуатацию всё новые и новые «фичи», менять характеристики/traits как результат «умных мутаций». Какие-то из этих новых фич позволят системе выжить среди систем-конкурентов, какие-то окажутся ненужными и временными, но непрерывность означает, что инженерия не разово делает системы, а evolve/«эволюционирует» их. По-русски это лучше будет говорить «развивает» (ибо «выращивает» сложно говорить про какой-нибудь ледокол-атомоход, но можно сказать, что этот ледокол-атомоход развивается. Впрочем, идея эволюционности/непрерывности инженерии до атомоходов ещё не дошла, её мы больше наблюдаем на примере программного обеспечения. Посмотрите, как часто обновляется Windows или даже BIOS в вашем ноутбуке, как часто обновляется модель LLM у провайдера вашего AI-чата). Но вот до космических кораблей эта идея уже дошла, большинство космических компаний уже выпускают каждый новый экземпляр ракеты с улучшениями конструкции и программного обеспечения.

Альтернативная, более простая формулировка инженерии — это создание успешных систем (было подробно разобрано в руководстве по системному мышлению). Успешность системы определяется как соответствие её ожиданиям внешних проектных ролей (stakeholders), которых множество самых разных. Успешность системы для её оценки сразу ведёт к безмасштабному (на многих уровнях) рассмотрению, ибо для систем на разных системных уровнях будут находиться разные проектные роли. А ещё ожидания этих ролей по поводу системы динамичны, так что систему надо будет непрерывно менять, чтобы она оставалась успешной — надо систему непрерывно эволюционировать/адаптировать/модернизировать/развивать/обновлять (используют по факту все синонимы).

Определение системной инженерии через создание и развитие (если не «с нуля»/greenfield, а просто изменение каких-то систем, brownfield, то и просто «развитие», без создания) успешных систем более традиционно и основывается на классических рассмотрениях проектов системной инженерии, ведущихся ещё со второго поколения системного подхода (с 80х годов прошлого века). Если команда проекта всех договорила между собой (с учётом соображений безопасности и того, кого считать врагом, а кого считать другом и клиентом) и продолжает договаривать всё время существования системы, то система успешна. Обратите внимание на формулировку: не «договорилась со всеми», а «всех договорила».

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

«Успешность системы» — в разы более конкретный критерий, чем абстрактное «изменение мира к лучшему»: «если все внешние проектные роли, которые мы выявили, непрерывно соглашаются с ходом и результатами проекта, то это и означает, что мы мир изменяем к лучшему — наша система непрерывно успешна».

Классическая системная инженерия ещё несколько лет назад выкинула бы отсылку к эволюции, слово «непрерывно», ибо в головах системных инженеров прошлого система изготавливалась однократно, и больше не менялась по ходу эксплуатации, не нужно дальше никого договаривать вокруг системы и её графа создателей, не нужно дальше менять систему. Модернизации системы, конечно, предусматривались, но они были абсолютно автономными: тоже разовыми проектами, а не частью непрерывно ведущейся инженерии. Ближе тут, конечно, была концепция апгрейда (например, апгрейд компьютеров, который был популярен в 90е годы прошлого века4). Но это была «инженерия пользователя» для редкого класса систем, а не штатный способ организации инженерной деятельности. В телефонах наоборот: апгрейд аппаратный был запрещён (невытаскиваемая батарейка, отсутствие слота для внешней памяти), зато расцвёл апгрейд прошивок и апгрейд приложений. Телефон перестал быть неизменяемым объектом, даже когда попадал к покупателю. Это, конечно, создаёт и множество проблем (чей это теперь телефон, если его купили, но продавец продолжает его «производить» — обновлять и модернизировать? Ответ не такой очевидный5). Автомобиль Tesla стал программно-аппаратным комплексом, который регулярно обновляется в программной части.

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

Необязательно речь об оружии, где мнение противника о том, что считать «успешным оружием» или «успешным боевым подразделением», заведомо будет учтено с обратным знаком. Например, представьте какую-нибудь «социальную сеть»::система или «новостной портал»::система, и влияние этих по СМИ на «общество в целом»::система. Как учесть такое влияние, кто из внешних и внутренних проектных ролей этим влиянием озабочен? И речь тут даже может идти не о том, что СМИ могут распространять вредные и полезные идеи — одновременно, и непонятно будет, больше от них зла или пользы (запреты соцсетей чаще всего связаны с предположением, что даже малое количество источников даже умеренно вредных идей перекрывает всю пользу от во много раз большего числа источников существенно полезных идей, при этом вредность идей может очень по-разному оцениваться чиновниками разных стран). Всё может быть и проще, ибо идеал для таких сервисов — это максимизация времени пребывания на этом портале всех, кто туда зачем-то зайдёт, алгоритмы настроены именно на это. И эти алгоритмы постоянно перенастраиваются по мере изменения интересов широкой публики, чтобы никто от этой максимизации не убежал (инженерия непрерывна).

Но полезно ли это для общества в целом? Сутками «тупить в вконтакт/тикток/телеграм» хорошо ли для личности, сообщества, общества, человечества? А ведь именно длительность времени «тупления в соцсеть/портал» будет критерием успешности разработчиков соцсети/портала и акционеров фирмы-провайдера соцсети/портала как успешного сервиса по возможности «тупить» и потреблять при этом рекламу вместо чего-то полезного (да и что тут будет «полезным»?). И искусство пиара/пропаганды тут подсказать клиентам сети/портала, что «тупление в соцсетях» надо называть «развлечением и отдыхом», так называемый «рефрейминг», переформулирование зла в добро. Потом оказывается, что почему-то алгоритмы для увеличения времени просмотра подсовывают не трудные научные статьи, а ровно наоборот — хлёсткие фейки.

Могут не учитываться соображения внешних проектных ролей и по более низким системным уровням, чем уровень целевой системы (то есть уровней подсистемы целевой системы). Если это идеологический геополитический (читай: «военный») или религиозный проект, то вполне может зайти речь об игнорировании интересов огромного числа обычных граждан — их жизни могут приносить в жертву каким-то геополитическим или религиозным целям. «Обществу» или «сообществу» будет ой как хорошо (например, какое-то общество выиграет в войне), но вот нескольким миллионам человек этого общества вдруг может оказаться ой как плохо по сравнению с вариантом без войны, но они будут проигнорированы, ибо геополитические или религиозные проекты принципиально не работают с масштабом отдельных людей! А потом пройдёт немного времени, и мнения людей поменяются — то, что считалось успехом, будет считаться большой ошибкой. Принесение в жертву людей «ради всего хорошего» вдруг окажется принесением в жертву «по трагической ошибке»: «хотели как лучше, получилось как всегда».

Этот критерий «успешности» конкретней, чем «к лучшему», но список недостатков можно продолжать и продолжать: у каждой проектной роли может быть множество интересов, часть из которых может быть удовлетворена, а часть — нет, поэтому роли могут быть «частично удовлетворёнными», а ещё не все проектные роли обычно выявляют и интересуются тем, как система вместе с её графом создателей (проблемы могут быть даже не в целевой системе, а в какой-то системе из графа создателей — например, экологам может нравиться целевая система, но не нравиться загрязнение окружающей среды производящим эту целевую систему заводом) удовлетворяет ожиданиям. Опять же, всегда можно найти политически озабоченные роли, удовлетворить которые будет невозможно, так что чисто формально никакая система не может стать полностью успешной, можно говорить о какой-то шкале успешности, но не о бинарной характеристике. Можно даже обсуждать: успешность тут кардиналистская (можно получить оценку в каких-то единицах, например, процентах от 0% до 100%), или ординалистская (численной оценки дать нельзя, но можно определить, что одна система успешней другой). Можно говорить о том, что успешность — это не скалярная, а векторная величина, она многомерна.

Системность инженерии как задающая её безмасштабность и эволюционность

Особенность современной инженерии в том, что она по факту стала системной: создатели создают не просто какие-то «артефакты» (объекты искусственного происхождения), а именно системы, как они понимаются в современном системном мышлении. Это означает, что она сразу принимает постулаты системного подхода в явной (классическая системная инженерия) или неявной форме (разные другие виды инженерий, где системное мышление используют без явных к нему отсылок, «неосознанно»). Это всё объяснялось в руководстве по системному мышлению:

  • Изменение мира к лучшему происходит путём эволюции/развития/адаптации систем на многих системных уровнях, выделяемых по отношению «часть-целое» несколькими разными способами в момент эксплуатации, это тезис первого поколения системного мышления.

  • Методы создания систем (во втором поколении системного мышления появились создатели системы в разных ролях, они работают по разным методам) на разных системных уровнях разные, у них даже могут меняться имена. Если «железную» деталь-подсистему «изготавливают», то мастерство как подсистему личности человека (или даже робота, у которого набор его мастерств недостаточен для признания личностью) «обучают» или его «осваивают» (в зависимости от референтного индекса: внешней или внутренней позиции восприятия, у детали ведь нет внутренней позиции восприятия, а у человека есть, у робота — можно уже обсуждать, там «философская серая зона»). В любом случае, это методы целенаправленного развития какой-то системы — изменения физического мира «к лучшему».

  • Третье поколение системного мышления говорит, что однократным созданием системы в рамках «жизненного цикла» дело не обходится, процесс разработки оказывается эволюционным/непрерывным, это часть со-эволюции технического мира. Непрерывно оптимизируем конструкцию системы и подстраиваем её функции, чтобы как-то адаптироваться к непрерывно меняющемуся окружению. А ещё непрерывно оптимизируем системы в графе создателей, чтобы адаптироваться к непрерывно меняющейся целевой системе и непрерывно меняющемуся инженерному процессу её развития.

Если принять эти положения в полной мере, то системная инженерия будет безмасштабна/scaleless/scale-free: не зависеть от масштаба/размера систем, эволюционного системного уровня. Термин этот идёт из физики, иногда об этом говорят как многомасштабность/multiscale, но это менее точно: применимость ко всем масштабам (безмасштабность) — это вовсе не учёт только нескольких выделенных заранее масштабов, но отсутствие привязки к масштабу в рассуждениях. Иногда в физике эту «безмасштабность рассмотрения» относят к использованию одного и того же математического аппарата, ренормализации6.

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

Современные инженерные проекты будут заниматься оптимизацией своих систем в части минимизации конфликтов системных уровней не разово в попытке угадать какой-то «оптимум» для «текущей ситуации», а довольно долго, развивая систему для подстройки под непрерывно меняющиеся обстоятельства. Впрочем, если считать «безмасштабность» применимой и ко времени (масштаб времени эксплуатации релиза, масштаб времени создания релиза в ходе непрерывного ввода в эксплуатацию, масштаб времени всей непрерывной разработки), то непрерывность инженерии — тоже следствие безмасштабности: учитывается не один масштаб физического времени, а все, причём логических времён тоже несколько (время эксплуатации, время создания, методологическое время отработки графа создателей — разные роли интересуются разными временами).

В нашем руководстве мы довольно грубо и почти произвольно в методических/учебных целях определяем уровни этого системноинженерного/эволюционного стека физических масштабов как (от более крупных к более мелким масштабам):

  • Вселенная (пока разговоры об инженерии для вселенной в целом носят сугубо теоретический характер, а ещё ведь есть и концепция «мультиверса», как множественности миров. Но приводим тут как предельный масштаб/размер)

  • Цивилизации в целом, инопланетные и человечество (тут тоже чисто гипотетическая инженерия, уровень привели только для того, чтобы лучше показать принцип выделения уровней по отношению часть-целое)

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

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

  • Сообщество (людей) —community, community of practice8 (CoP, сообщество практики), learned society9 (наученных создателей, не учёных!), school of thought10 («незримый колледж») из википедии: все говорят о том, что речь идёт о группе агентов, имеющих общую культуру (метод, мастерством выполнения которого владеют все в этом сообществе). Можно говорить и о племени (очень модно!), и о «муниципальном образовании» типа «деревня, где все друг друга знают», землячестве бывших (или даже нынешних) членов одного общества в каком-то другом обществе. Ориентируемся на число Данбара11 (150), но с учётом современных компьютерных средств («записных книжек», социальных сетей) человеческая «память на лица» быстро растёт. В сообществе всё равно может быть и больше людей/личностей, чем можно помнить даже с помощью записной книжки. Например, число системных инженеров киберфизических систем в Международном совете по системной инженерии (INCOSE) на 2023 год — более 2200012, эти люди считают себя членами сообщества системных инженеров, тем самым примерно известны их ролевые интересы. Это не означает, что речь идёт о традиционной организации, которая создаёт какую-то целевую систему, или что все там примерно знакомы друг с другом и доверяют друг другу сильно больше, чем своим соседям по улице. Сотрудники штаб-квартиры INCOSE, однако, занимаются построением сообщества системных инженеров как целевой системы, действуя методами управления сообществами (об INCOSE в нашем руководстве будет отдельно сказано через несколько разделов). А маркетологи пытаются делать сообщества потребителей каких-то продуктов, «клиентуры» как множества клиентов. Как думать о сообществах говорилось в руководствах по системному мышлению и методологии, также наставления о том, как развивать сообщества даны в руководстве по специализации системной инженерии для организаций, то есть руководстве по системному менеджменту. Нам сообщества важны для того, чтобы их развивать, а community management сейчас традиционно рассматривается в рамках инженерии организаций (организация представляет собой в том числе и сообщество сотрудников). Тут тоже надо учесть, что менеджмент сообществ не даёт предсказуемых надёжных результатов, поскольку на каждого формального менеджера сообщества найдётся десяток неформальных менеджеров, которые будут организовывать это же сообщество в соответствии со своими представлениями о «лучшем».

  • Организация — это организованные (то есть с понятными ролями и полномочиями каждого агента по распоряжению трудом и капиталом) группы агентов. Инженерия предприятия как «организовывание» работает с системами этого уровня, инженерия на стадии эксплуатации получившейся организации — это операционный менеджмент. Руководство по инженерии организаций тем самым — это руководство по системному менеджменту. Связь прикладной инженерии целевой системы организации и инженерии организации-создателя системы (системного менеджмента) обсуждается в нашем руководстве в разделе эволюционной/непрерывной разработки.

  • Личность — и тут «инженерия личности» (хотя так и не говорят, но мы советуем думать именно так!) сводится к разным психотерапиям («ремонт» личности), коучингу (помощь в стратегировании), образованию, просвещению. Включать ли сюда разные варианты обучения «разумных роботов», то есть личностей не на базе homo sapiens? Почему бы и нет. Поэтому тут можно рассматривать и проекты развития AI, и проекты создания киборгов из людей и классических компьютеров в качестве экзокортекса Грубо говоря, развитие человека путём добавки внешней памяти и возможности простых вычислений, ибо добавка искусственного зрения, искусственной печени и т.д. — это уже более низкий системный уровень, «существа». Развитию личности посвящён отдельное руководство по инженерии личности.

  • Существо — тут разведение живых существ, включая «системную биологию» как разработку и производство полностью искусственной жизни. Но в целом тут инженерия и вирусов, и бактерий, и растений (агрономия), а дальше червей, рыб и до зверей (включая приматов и даже человека вне аспектов его разума). Медицина/ветеринария, фермерство, генная инженерия — это всё оказывается инженерными дисциплинами, «изменением мира к лучшему». Сюда же трансгуманизм как отрыв личности от обязательного использования генома homo sapiens (хотя усиление интеллекта живых организмов уровня выше возможности планировать представляется принадлежащим к уровню личности. Граница существа и «разумного существа» весьма размыта, как и граница «робота», «киборга», «существа»).

  • Киберфизические системы (физические системы, включающие классический и AI-софт на компьютере-контроллере датчиков и эффекторов/актуаторов). Тут классическая «железная» системная инженерия с её классическими видами систем: ракеты и самолёты, атомные и солнечные электростанции, умные (то есть обвешанные датчиками и кое-какими исполнительными устройствами) дома, роботы-пылесосы.

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

Конечно, в системноинженерном/эволюционном стеке присутствуют все обычные проблемы представления системных уровней какой-то системы (тут дана вся вселенная как система) в виде даже не дерева, а «стека», тем более неадаптированного к условиям какого-то конкретного проекта:

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

  • Не оговорено, это функциональное, конструктивное или пространственное разбиение, а также есть возможность одновременной множественности таких разбиений (нестрогость иерархии). Считаем, что на границах уровней системы в рамках этих разбиений совпадают, но это не всегда факт: так, внутри одного и того же общества легко выделить разные сообщества, составленные из одних и тех же людей, и даже разные организации. СМД-методология называет это «популятивными объектами»14, когда люди одновременно входят в состав разных их устойчивых групп, термин «популятивности» был позаимствован из популяционной биологии, об этом тоже будет чуть дальше.

  • Каждый уровень включает не одну систему, а множество их самых разных, это больше «иерархия/дерево», а не «стек», а системы на каждом уровне нетривиально связаны.

Тем не менее, мы принимаем за основу в нашем руководстве именно такой системный/эволюционный стек роста масштабов и тем самым роста системной сложности в части составления целых объектов из их частей. Главное в нашем руководстве по системной инженерии — наставление по компактному типовому инженерному рассуждению о том, как создавать и развивать системы (рассуждение об инженерном процессе, методе разработки):

  • независимо от природы и масштаба системы, её функционального назначения в надсистеме

  • рекурсивно (то есть для систем разных системных уровней) и

  • итеративно (для разных моментов времён создания, развития и существования работающей/эксплуатирующейся системы).

Повторим времена, важные в рассмотрении эволюционной/непрерывной/agile разработки всех этих систем различной природы:

  • Время эксплуатации одной версии/релиза системы, скажем, автомобиля Tesla с одной версией автопилота.

  • Время доработки/модернизации очередной версии системы (время разработки, малый масштаб), скажем, разработка очередной версии автопилота и интеграция его в автомобиль Tesla.

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

Конечно, вы можете, и даже должны адаптировать эти стеки систем разных масштабов (помним, например, про платформенные стеки) для ситуации вашего проекта. Самый простой способ это сделать — это выписать конкретные масштабы и виды систем из вашего проекта, выявив их по типам из нашего руководства (помня при этом, что эти уровни выделены более-менее произвольно, для целей упрощения понимания). Например, если вы создаёте таблетку из лактобактерий как биодобавку, вам потребуется как-то изменить (в том числе уговорить принимать эту таблетку! Свойство вменяемости/уговариваемости у роли «пациент» — комплаентность15) системы на следующих уровнях стека:

  • Потребнадзор::роль представителя интересов сообществ и общества

  • Клиентура::сообщество (важно для продвижения: маркетинг, реклама, продажи)

  • Пациент::клиент::личность

  • Желудок и кишечник::органы (части организма как подуровня существа)

  • Таблетка::«косное вещество» (если таблетка в оболочке — термин меняется на «капсула», в ней будет желатиновая оболочка и активное вещество в форме порошка).

  • Лактобактерия::клетка (подуровень одноклеточного организма уровня существ)

В этом примере есть даже два «перескока уровней»: лактобактерии производятся как живые системы, а затем высушенные становятся частью вполне неживой таблетки или капсулы. Потребнадзор тут половинчат (обычное свойство госорганов): отражает мнение сообщества медиков, сообщества пациентов — и вроде как мнение общества в целом, хотя у общества обычно есть самые разные соображения по поводу тех или иных систем, выражаемые самыми разными политиками, которые даже не эксперты по обсуждаемым проблемам. Но «потребнадзор» тоже нужно изменить (уговорить считать таблетку безопасной, используем вменяемость агентов, играющих роль потребнадзора). Лактобактерии — это биоактивные добавки (грубо — сушёная простокваша), они не требуют медицинского лицензирования и речь идёт просто о маркетинговом трюке «добавления убедительности к заявлению о полезности штамма простокваши». Если бы это было лекарство, то ситуация была бы более сложной.

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

И это простой и обозримый пример, хотя уже и в нём нужно затрагивать проблемы высоких уровней. Скажем, все штаммы молочнокислых бактерий, грубо говоря, «штаммы простокваши и йогурта разных сортов», обладают примерно одинаковой полезностью по влиянию на микрофлору и уж точно не являются лекарствами, их даже «биодобавками» считать сложно — если вы упакуете простоквашу или йогурт в капсулы, они ж не станут от этого «биодобавками»? Но вы можете использовать «связи в министерстве», чтобы эта простоквашу с йогуртом в капсулах назвать лекарством, получить лицензию и устроить на этом маркетинг! Это этично, или нет? Хорошо ли от этого будет людям (они получат плацебо!), а хорошо ли будет (гражданскому) обществу?

А теперь представьте реальную разработку: вряд ли проект закончится выпуском партии таблеток. Скорее всего, команда будет готовить другие версии — улучшать упаковку, вещество, варьировать цену, увеличивать разнообразие вариантов в надежде на привлечение покупателей, менять название и рекламные слоганы, получать новые сертификаты и лицензии, собирать статистику по итогам применения, и т.д. Инженерия таблетки оказывается не разовой, а непрерывной для многих версий/релизов, при этом работа идёт отнюдь не только с веществом таблетки, она вполне многомасштабна.

Если вы хотите изменить мир хоть неживой, хоть живой, хоть в небольших масштабах, хоть в больших — вы должны будете предположить функцию вашей системы, описать конструкцию, изменить физический мир, чтобы реализовать конструкцию, а потом подстраивать получившуюся систему к непрерывно меняющимся условиям, причём делать это на множестве системных уровней на множестве масштабов времени. Неважно какими вы словами это называете, насколько различны те системы, которые вы затрагиваете своими изменениями мира к лучшему, и насколько сильны традиции работы с этими системами (в этих традициях может что-то не учитываться из всего перечисленного, они же именно «традиции», поэтому могут не учитывать знаний современной инженерии).

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

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

Моделирование: «неинженерные» инженерные проекты

Опишите больше трёх инженерных проектов, которые не принято называть «инженерными», тем не менее они сводятся к изменению физического мира к лучшему, к созданию успешных систем.

Номер п/пОписание проектаФизические объекты, которые изменяются проектомМасштаб/уровень для изменяемых проектом системНазывают в быту такие изменения не инженерией, а каким методом?
ПримерПовышение квалификации инженераМастерство системной инженерии (как часть мозга, выполняющая мышление для работы по какому-то методу)Личность (часть личности)Обучение
1.
2.
3.

Инженерия и эволюция

Как соотносятся инженерия и эволюция? Технический прогресс/техноэволюция, которая делается инженерами — это просто часть эволюции? Или это не эволюция, а просто инженерия, «метод работы таких создателей, как агенты-люди с приданными им компьютерами и роботами с AI»? Как об этом думать? Участвуют ли инженеры в эволюции, или они и есть эволюция, или эволюция сама по себе, а инженеры творят сами по себе, вне эволюции?

В рамках современных воззрений на эволюцию (прежде всего это так называемый расширенный синтез эволюционных теорий, extended evolutionary synthesis, EES16), речь идёт о продолжении эволюции — она одна и та же в биологии, в культуре, в технике, более того, она ещё и эволюционирует: методы эволюции развиваются в ходе самой эволюции. Биология, которая следует из такого понимания эволюции, получила название eco-evo-devo — это синтез eco/экологии (учёт влияния внешней среды), evo/эволюционной биологии (изучение происхождения видов) и devo (биологии развития — что происходит при развитии организмов из гаметы до взрослого организма, а также что происходит с организмом в ходе жизни).

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

Так, сегодня в биологической эволюции гены не считаются уже главными эволюционными единицами, за ними эту роль потеряли COGs (clusters of orthologious groups) и другие группы гомологичных генов (то есть одинаковых генов, работающих в разных видах организмов17), теперь это GRN (gene regulatory networks)18 — генные регуляторные сети, в которых кроме генов там много ещё чего, но акцент уже не на объекты, а на отношения — биологию там даже пытаются называть иногда «релятивистской». Оказалось, что свойства организма не полностью определяются его генами. Простейшая проблема была — это объяснить, как из одних и тех же генов во всех клетках почему-то в одном многоклеточном организме появляются такие разные клетки, как клетки печени, нейроны мозга и фагоциты иммунной системы. GRN хорошо показывали, как из одних и тех же генов в результате регулирования их экспрессии могут появляться совершенно разные белки. Но на следующем шаге пришлось отказаться и от того, что эволюционируют GRN как «главные единицы». Эволюционируют все уровни, одна и та же «математика эволюции» оказывается работающей на всех системных уровнях, на всех уровнях сложности.

Эволюция работает как многоуровневая динамически проходящая оптимизация всех объектов по отношению ко всем остальным объектам — и она хорошо описывается методами статистической физики, прежде всего ренормализацией19. Более того, растёт число работ, в которых показывается, что алгоритмы эволюции крайне похожи на то, что происходит в нейронных сетях20. Напомним, что в руководстве по методологии говорилось, что алгоритмика обобщается с алгоритмов как описания действий с информацией (вычислений) до алгоритмов как описания действий создателей/constructors (произвольных преобразований физического мира). Современный взгляд на эволюцию говорит, что на всех уровнях в эволюции есть репликаторы, которые конкурируют друг с другом в части роста собственного числа. Первыми такими репликаторами начали считать гены (genes)21. Потом заметили, что реплицируются и идеи — мемы (memes)22. Было много модификаций, например, David Deutsch подчёркивал, что важны не просто какие-то идеи, а идеи объяснений, а ещё был предложен «третий репликатор» кроме генов и мемов — темы (temes), как репликатор, копируемый техническими средствами (скажем, размножающийся компьютерный вирус)23. Эти нововведения коснулись и алгоритмики. Так, в числе эволюционных алгоритмов появился класс так называемых меметических алгоритмов24 — расширение эволюционных алгоритмов оптимизации (мутации, стохастическое «блуждание»/поиск глобального оптимума) вставкой классических оптимизационных алгоритмов (какой-нибудь градиентный спуск, вычисление локального оптимума).

Сейчас уже более-менее консенсус, что эволюционируют объекты самых разных системных уровней, все они в какой-то степени «эгоистичные репликаторы»: вполне можно считать, что каждая из моделей того же смартфона «хочет размножиться числом поболее», а для этого постоянно модифицируется/модернизируется/адаптируется/эволюционирует, чтобы выжить в конкуренции с другими моделями. Точно так же можно считать, что не просто «гены человека хотят размножиться» (оказалось, что у человека очень много генов таких же, как у свиньи и мыши — даже не только обезьяны), но размножиться хочет и сам человек как физический объект.

В принципе, в биологии рассматривают сейчас две иерархии эволюционирующих уровней:

  • наследуемых «идей» (условно говоря, функциональную, иногда по этой линии даже говорят «функциональная эволюция»25) как генеалогическую26 по многим уровням репликаторов, которая легко путается с конструктивами как носителями информации этих идей, например, в значительной части работ по биологии «ген» и «геном» как все гены — это материальные носители информации, то есть молекулы с этой информацией, но в части работ — это информация безотносительно носителя. Вот стек уровней (конечно, там иерархия, или даже сеть, обсуждение трудности выражения функциональных описаний было в руководстве по методологии) эволюционирующих функциональных объектов, которые в конечном итоге ведут к выживанию, репликации (на разных уровнях! не только уровне генов!) и адаптации к среде в ходе выживания и репликации: сodons-genes-COGs-GRNs-organelles-cells-tissues-organs-organisms-demes-species-clades/lineages-orders-classes-phyla.

  • воплощений идей, экологическую/конструктивную, по частям-целым, модульную, это про границы между системами и интерфейсы. И тут тоже путаница как модулей-носителей информации/репликаторов, так и модулей, описанных этой информацией/репликаторами. Вот эти уровни (помним про платформенные стеки, описаны в руководстве по системному мышлению): atoms-molecules-proteins-cells-tissues-organs-organisms-populations-communities-ecosystems.

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

У биологов уже не принято говорить про уровень только генов, что «гены полностью описывают итоговый организм и даже популяцию» — нет, там всё много сложнее, «генетика определяет всё» осталось в прошлом веке. На первый план вышел вопрос не только о survival of the fittest, «выживание наиболее приспособленного», но и arrival of the fittest, каким образом эволюция дала вариант наиболее приспособленного, и внимание сейчас уже не только на классификации видов и описании их эволюции, но и на предсказание результатов работы эволюции.

Кого это всё интересует в инженерии? С того момента, как инженерия стала эволюционной, теория эволюции начала интересовать множество инженерных ролей. Так, руководство по методологии заканчивается изложением теории стратегирования, в которой утверждается, что «всё новое приходит сбоку». Речь идёт о новых идеях, новых устройствах — и мы понимаем, что всё это эволюционирующие объекты. В биологии на уровне генов в таких случаях говорят о «горизонтальном переносе генов» (то есть переносе генов не от генома предшествующего вида в следующий вид, который появился путём мутаций, но межвидовой перенос генов). Обобщённая стратегия, которая описывается как «прыгание по камушкам» (stepping stone) оказывается вариантом меметического алгоритма — большие мутации, stepping stone новых проектов оказываются частью исследований того, где может быть глобальный максимум (exploration), а ведение проекта в попытке получить побольше ресурсов — это оптимизация в районе локального максимума (exploitation). При этом понимаем, что вся эта картина «камушков в тумане» непрерывно меняется — эволюция идёт не в статическом многомерном fitness landscape27, а в динамическом ландшафте приспособленности: расположение минимумов и максимумов меняется со временем: «вчера был треш, сегодня тренд», и наоборот «вчера был тренд, сегодня треш».

Оценкой приспособленности/fitness (насколько впишется система в какую-то экологическую/рыночную нишу) занята роль шумпетерского предпринимателя, в инженерии это роль визионера/visionary, она будет рассмотрена подробней дальше в нашем руководстве. Это означает, что для агента, который играет в разделении труда роль визионера, эволюционное мышление (мышление с использованием современной теории эволюции) — профильное. В менеджменте визионер — бизнесмен (он смотрит, вписывается ли в свою бизнес-нишу фирма, которую развивают в проекте фирмы, фирма — это его продукт), в обучении — культуртрегер (он смотрит, вписывается ли в культурную нишу мастерство, которому обучают в проекте).

То же можно сказать о роли архитектора системы: важнейшей архитектурной характеристикой системы оказывается «эволюционируемость», evolvability. И достигается это выбором модульности, modularity. Это ровно те же evolvability и modularity, что рассматриваются как важнейшие характеристики эволюционирующих биологических системы.

Обсуждение тех же организмов и видов различается: в генеалогии важны функциональные признаки/особенности/возможности/features/traits и связанное с ними поведение/processes (скажем, фенотипические признаки и адаптации разных уровней, например, уровня организма с его фенотипической пластичностью28, или уровня вида/species), а в экологии — там сразу ход на масштабы и модульность. Конечно, всё это обсуждается совместно и нещадно путается как биологами, так и инженерами. Скажем, наследуемость идёт по функциональной линии, а материал воплощения этой наследуемости — по конструктивной линии. Поэтому очень и очень условно — но можно говорить о методологии (как раз она про функционал) как о генеалогической линии (мемы и темы — там, гены оставим биологии) в инженерии как важной для визионеров, а об экологической линии (модули воплощения и межмодульные интерфейсы) как важной для архитекторов. Форма следует функции, конструкция отражает метод, архитектура следует методологии. Но и наоборот тоже верно: методология учитывает архитектуру, если каких-то нужных модулей или нужных интерфейсов нет, то функция оказывается невозможна — нет произвола в работе методолога, нет произвола в работе эволюции, не любая точка пространства признаков/особенностей/возможностей достижима, и это верно для систем на всех системных уровнях, не только уровне целевой системы инженерного проекта или уровне организма в биологических исследованиях.

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

Ходы от однократного «водопада» с его предписанными стадиями к «непрерывному всему» — это ходы к неизбежному описанию технологической эволюции, движение agile в конечном итоге оказалось описанием неизбежности эволюционной разработки.

Это не уникально для инженерии. Мы обсуждали в руководстве по методологии, что описание какого-то процесса как строгой последовательности шагов, ведущих к строгой последовательности смены состояний каких-то объектов, очень соблазнительно своей простотой. Есть только одна проблема: оно не работает, жизнь чаще всего устроена не пошагово, в ней нет чётко выраженных ступенек продвижения к успеху. И даже когда ступеньки вроде бы есть, последняя ступенька чаще всего оказывается не последней (поэтому очень модные раньше в менеджменте «ступени зрелости» не прижились: фирмы довольно быстро проходили все эти ступеньки, но жизнь-то на этом не заканчивалась — эволюция продолжалась, а ступеньки это уже не описывали).

Например, для процесса развития личности первые же попытки описания (исследовательские, влиять не пытались) были на описание личности в её конечной взрослой форме, аналог биологического «фенотипа». Затем появились ходы на devo, психологию развития личности — примитивные, без eco (влияния окружающей среды на развитие). Конечно, эти ходы на devo были такими же, как ранние ходы на devo в проектном управлении и инженерии: этапы/стадии/фазы развития с попыткой указать на результат достижения каждого этапа. Для проектного управления и инженерии такой ход подробно разбирался в руководстве по методологии. Практически все «теории стадий развития личности» (Piaget с когнитивным, Kohlberg с моральным, Erikson с развитием идентичности, Beck and Cowan с развитием приверженности ценностям, этих теорий огромное количество) развалились под гнётом самых разных аргументов — начиная с невоспроизводимости результатов экспериментов и плохой процедуры относимости к плохо определяемому понятию стадия/фаза/этап29.

Следующие теории развития личности шли по той же линии, что и методологии инженерии, что и eco-evo-devo в биологии: упор на многоуровневость и многолинейность развития личности в ответ на самые разные внешние воздействия в самых разных контекстах (например, прихват новых мемов) и в ответ на внутренние какие-то размышления человека («подумал-подумал — и принял решение», в том числе под давлением каких-то генетически определённых склонностей, при всей условности «генетической определённости»). В стадийности развития личности вместо чёткой последовательности стадий начали указывать на нелинейную последовательность прохождения этих стадий, а также начали указывать на переплетённость когнитивных, моральных, социальных и прочих факторов вместо подстраивания развития по стадиям одной из тематических линий. Это во многом такой же переход от «водопада» к «непрерывному всему», в инженерии личности тоже победили идеи agile, личность теперь считается эволюционирующей и участвующей в общей эволюции — биологической, человеческой, культурной, технической. При этом отношение к инженерии личности двоякое: с одной стороны это инженерия (например, явное воспитание родителями, обучение в школе, самостоятельная «работа над собой» этой личности), то есть работа рациональных создателей, но с другой стороны — создателем личности выступает весь мир, в том числе значительная часть свойств личности определяется генетически как итог биологической эволюции. Это то же eco-evo-devo, только другими словами. Современные теории инженерии личности предусматривают какое-то «путешествие» личности в контактах с её окружением, идею путешествия мы разбирали в руководстве по методологии.

Сторонники популярных стадийных теорий развития личности сегодня могут говорить, что «эволюционно стадии предписаны, но они могут проходиться в разном порядке, проявляться в разное время». Эта оговорка по факту сводит «теорию» к обычной богатой метафорами классификационной схеме типа знаков зодиака и типов личности в соционике или оргдизайне, с примерно таким же уровнем обоснованности. Обычно в таких теориях и обоснованность отсутствует, например, в той же спиральной динамике, которая продолжает быть популярной. Кризис репродуцируемости и плохой методологии экспериментов проехался по всем этим теориям, там концы с концами в плане эмпирических обоснований не сходятся.

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

Какие цели эволюции, что она оптимизирует? Она реализует физический принцип минимального действия, который в данном случае трактуется как информационный: минимизация свободной энергии, что можно перефразировать как минимизация неприятного сюрприза, который агент/IPU/«ренормализованный/обобщённый нейрон»/создатель/репликатор (тут очень разная терминология для эволюционирующей системы) получит от окружающей среды (помним, что эта среда — системное окружение, в нём также эволюционирующие системы). Репликаторы в ходе эволюции усложняются, чтобы лучше бороться с энтропией, которая рано или поздно присылает какое-то существенное изменение внешних условий. Достаточно подумать о более длительных масштабах, нежели «догнали и съели» или «умер от голода»: удары астероида, взрывы сверхновых и т.д. Не вопрос, будет ли катастрофа. Вопрос в том, когда будет, и насколько удастся жизни проэволюционировать к этому моменту, чтобы не исчезнуть.

Пока достижений эволюции хватило примерно на 3.5 миллиарда лет репликации систем, похожих на клетки, но репликация людей пошла уже немного по-другому: они получились очень устойчивыми, и хорошо размножились. Население Земли сегодня составляет порядка 8 миллиардов человек30. Руководство по системному мышлению начинается как раз с того, что сравнивает массу всех людей с биомассой всех остальных видов, а также оценки массы преобразованной «неживой» части земли (автор тут задумчиво смотрит в окно и оценивает массу домов, домашней утвари, дорожных покрытий, производств, еды и отходов в радиусе 100 км вокруг себя, а живёт он в Москве).

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

Эволюция усложняет и усложняет репликаторы (они же — создатели/constructor в случае физической системы-репликатора, но помним, что репликаторами в теории эволюции могут считать мемы и темы — информацию) так, чтобы эти репликаторы были более и более устойчивы к воздействиям окружающей среды, чтобы были способны ко всё более длительному выживанию во всегда в конечном итоге враждебной среде. Муравейник потыкать палкой — он за ночь восстанавливается, но и если город потыкать какой-нибудь огромной палкой (печальные прецеденты с атомными бомбами, да и просто тысячами тонн взрывчатки были), то город тоже восстанавливается, причём масштабы этого «потыкать» несопоставимы. Город восстанавливается во много бо́льших масштабах, и речь идёт именно о количественных характеристиках: масса, энергия и скорость (учёт массы, преобразуемой за какую-то единицу времени).

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

Между системными уровнями есть неизбежные конфликты, квазиоптимальных оптимизационных/архитектурных решений на предмет минимизации негативных сюрпризов от проявления этих конфликтов много и от этого возникает неустроенность как разнообразие самых разных вариантов вида и разнообразие множества более-менее похожих друг на друга видов (когда варианты уже сильно отличаются друг от друга), которые выживают примерно одинаково в текущих условиях. Это объясняет, почему у нас так много моделей автомобилей, смартфонов, холодильников, систем AI и т.д. — характеристики их выживаемости «в природе»/«на рынке» примерно равны, равно как и страны с постоянно меняющимися границами имеют более-менее одинаковые условия для жизни, они существенно отличаются только в деталях (чтобы понять, что отличия именно в деталях, достаточно сравнить страны с ними же, но в достаточно далёких моментах в истории, например со средневековьем или даже с каменным веком, разница сегодняшнего дня в части устойчивости к массовому вымиранию людей будет хорошо видна).

Иногда в ходе эволюции возникают существенные оптимизации, типа тех самых переходов от одноклеточных к многоклеточным, или появление хорошей цифровой памяти типа мозга с ручкой-бумажкой, или на следующем этапе типа компьютеров с интернетом. Это мы просто продолжаем пересказывать идеи работ группы Ванчурина-Кацнельсона-Вольфа-Кунина, опять отсылаем для более обстоятельного рассказа об эволюции к руководству по системному мышлению, подробности тут приводить не будем. Почему мы отсылаем к этим работам, а не к работам по биологической эволюции? Потому что нас интересует обобщённое описание, которое не только более-менее легко распространяется на культурную и техническую эволюцию как «понятный нарратив», но и имеет выражение в математике — а именно, рассказывается языком статистической физики. Инженеры захотят выйти на количественные описания эволюции физиками, чтобы получить возможности предсказывания результатов эволюции, хотя бы на коротких отрезках времени (скажем, как предсказывать погоду — на ближайшие два часа сегодня это легко, на неделю — вполне возможно, на пару месяцев вперёд — невозможно).

Эволюционный алгоритм можно ускорить через моделирование, то есть реплицировать на всех уровнях только важное, а потом эти уровни систем-репликаторов заставлять в самых важных аспектах проживать свою жизнь, доказывая свою живучесть, в компьютере (виртуальном достаточно большом мире, чтобы вмещать популяции и моделировать более-менее точно эффекты от взаимодействия популяций с окружающей их богатой средой, возможно содержащей и другие популяции). Если иметь достаточные вычислительные мощности, то делать это можно быстрее, чем проживать популяциям полную жизнь в реальном мире. Можно считать это «ускоренным воспроизведением», да ещё и параллельно можно пробовать множество разных вариантов, но опять же, если хватает вычислительных мощностей. Эволюция крайне затратна в вычислениях, а эти вычисления ещё и медленны — это главный недостаток эволюционных алгоритмов.

Переход к «проживанию модели в компьютере» — это вроде как уже инженерная работа, «применение вычислителей для генерации догадок о полезных мутациях, а потом фильтрации догадок об удачных мутациях». Инженерия тут в том, что физически создаётся вычислитель виртуального мира, а в нём создаются процессы «проживания» для моделей репликаторов/создателей/агентов/IPU (включая аналоги уровней «клеток», «организмов», «популяции», «экосистемы» — но помним, что в жизни этих уровней много больше, биология тут хороший пример) с потенциально интересными мутациями. Это отличный способ ускорить прогресс, но у него есть существенные ограничения: требуются немыслимо большие вычислительные мощности на моделирование N миров, в которых живут и размножаются организмы и популяции, на которых мы пробуем те или иные мутации. С этим боремся так: уменьшаем объём моделирования (скажем, пытаемся вычислить только догадку о мутации, но не моделируем выживание), увеличиваем доступную компьютерную мощь, увеличиваем эффективность эволюционного алгоритма в целом (качество генерирования догадок, точность моделирования и т.д.).

Например, в статье Evolution through Large Models32, предлагается использовать внутри эволюционного алгоритма вместо случайных мутаций «умные», то есть «разработанные/вычисленные», а вместо человека-инженера, высказывающего догадки о полезных мутациях, использовать нейронную сетку большой языковой модели (модели языка и мира, выученной нейронной сеткой определённой архитектуры).

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

Если в основу эволюции брать не проверки по большому объёму бессмысленных смертельных мутаций, а проверки по менее большому объёму заведомо более осмысленных предложений, эволюция в целом пойдёт быстрее. Статья демонстрирует это на примере эволюционного алгоритма для генерации программного кода, порождаемого нейросетью ровно как это делают системы подсказок для кода программ: GitHub Copilot и Amazon CodeWhisperer. Если грубо, то статья предлагает вместо случайных перестановок текста в генетических алгоритмах использовать подсказки всех этих Copilots и CodeWhisperers33. И там же даётся ещё много разных других способов ускорить эволюцию (ибо много ещё мест, где «универсальный аппроксиматор/оптимизатор» типа нейронной сетки можно задействовать в эволюционном алгоритме).

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

Если представить, что у всех инженеров в голове есть вычислители этих самых «умных мутаций» и других оптимизационных вставок в эволюционный алгоритм, да ещё в последнее время эти «вычислители в голове» умощняются компьютерами и средствами компьютерной связи для объединения вычислений многих людей и компьютеров, то мы смело можем считать инженеров всей Земли ускорителями эволюции. Мы берём инженеров вместе с их моделерами и заводами: моделеры документируют мутации, а заводы производят какие-то продукты, которые потом «пробуются жизнью на соответствие среде», некоторые из них оказываются удачны настолько, что предложенные в них «мутации» оказываются достойными повторения. А поскольку в нашем подходе инженеры — это те, кто что-то меняют к лучшему в физическом мире, то всё человечество оказывается мощным вычислителем-ускорителем физической эволюции, то есть работает на то, чтобы минимизировать негативные сюрпризы от окружающей среды. Это и есть одна из трактовок для «изменения жизни к лучшему». Сложность окружающего мира продолжает расти, но уже не только за счёт классической биологической эволюции, но и за счёт культурной и технологической эволюций, которые выполняются сейчас людьми с их культурой и инструментами, и которые просто составляющие общей «физической» эволюции.

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

Так что для уменьшения бизнес-неудач остаётся поднять вероятность угадывания хороших концептуальных (найти аффорданс/affordance: как какую-то функцию реализовать каким-то объектом из окружения, решения по концепции использования и концепции системы) и архитектурных решений (способ разбиения конструктивных объектов на части-модули и организация взаимодействия их такие, что архитектурные характеристики становятся «наименее плохие из возможных») как «умных мутаций», и предложение таких мутаций — это ровно то, что могут всевозможные Copilots для систем автоматизации проектирования, программирования, моделирования.

Дальше можно думать о том, чтобы запускать алгоритмы «умной мутации» и для того, чтобы улучшать и сами эволюционные алгоритмы: для того, чтобы улучшать мутационный оператор, и для того, чтобы улучшать моделирование мира для определения того, выживет ли индивид с фенотипом, определяемым мутацией в генотипе, в виртуальном мире, чтобы уменьшить время экспериментирования и ресурсы, требуемые для проверки выживаемости в физическом мире. Тут есть и альтернативные подходы, которые прямо говорят о генерации каких-то оптимальных технических решений, без связи этого с идеями эволюции (то есть рассматривается разовая генерация решения, а не то, что параллельно идёт конкуренция с другими проектами, которые предлагают другие варианты решений какой-то проблемы). Скажем, можно «смягчать»/relax формулирование проблем конструирования системы из языка дискретных решений так, чтобы получать набор вроде бы непрерывных, то есть дифференцируемых функций для характеристик системы, затем искать конструктивный оптимум на этих функциях нейросетевыми или даже какими-то другими алгоритмами, потом возвращать в дискретную область проектных/design решений для формулирования ответа на вопрос об оптимальной конструкции34.

Динамический ландшафт приспособленности

Ключевая концепция для современной эволюционной инженерии — это динамический ландшафт приспособленности, dynamic fitness landscape35. Ландшафты приспособленности (fitness landscapes36) были предложены ещё в 1932 году как средство визуализации хода эволюции: одномерный ландшафт обычно показывает ось с величиной какого-то признака, а высота — степень оптимальности для выживания (приспособленность/fitness).

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

Если мы берём два признака, то получаем двумерный ландшафт приспособленности (всё ещё статичный, пики никуда не деваются). И на таком ландшафте всё ещё больше похоже на «горную местность», собственно, «ландшафт». Вот как такая картинка показывает возможные стратегии поведения фирмы в бизнес-литературе37, и здесь даже поминается, что «ландшафт сам может меняться»:

Тут очень сложно увидеть, что же это такое «меняющийся ландшафт» — это что, небольшие бугорки высокой приспособленности, отстоящие далеко друг от друга? И где популяции? Это же должны быть продукты с немного отличающимися признаками (а на картинке показаны создатели, а не популяции продуктов!). Опять же, на картинке ландшафт только на два признака. Вот как это показывают биологи (в материалах по первым двум ссылкам в этом подразделе приводятся видео, это раскладка кадров в .gif файле):

Тут видно, что никогда речь идёт не об одном продукте, об одном организме, но всегда о популяции с немного отличающимися признаками каждой особи. В ходе эволюции обязательно нужно разнообразие (quality diversity38), и оно обязательно будет в силу неустроенности (обсуждалась в руководстве по системному мышлению). Зайдите в магазин смартфонов, вы увидите множество моделей с очень похожими, но всё-таки разными характеристиками. Посмотрите на автомобили — они все похожи, но характеристики их немного разные. А ещё видно, что сам ландшафт — он непостоянен, и в какой-то момент может оказаться, что выживут потом не самые приспособленные сейчас особи — их эволюционные достижения окажутся балластом.

Примеров тут множество. Так, мобильные телефоны развивались в направлении маленьких размеров: чем меньше, тем было лучше. Самые маленькие были самые «любимые». Потом телефоны сменились смартфонами, где уже не было кнопок, а экран занимал практически весь корпус. Первые смартфоны были явно побольше, ибо речь шла по факту об экране компьютера. И оказалось, что чем больше экран, тем удобнее на него смотреть. Появились смартфоны-лопаты (ибо формой они как раз и напоминали лопату, разве ручки не было), затем через некоторое время появились планшеты, ибо телефон с огромным экраном уже телефоном не назовёшь. Через некоторое время самые маленькие смартфоны вымерли (включая маленькие смартфоны фирмы Apple, которая дольше всех придерживалась идеи, что телефоны должны быть маленькие, чтобы удобно было управлять ими пальцами одной руки). Но и сверхбольшие смартфоны тоже вымерли: оказалось, что их неудобно носить в кармане или сумочке. Мода на планшеты тоже быстро прошла: сверхбольшие телефоны не нужны, а ноутбук с клавиатурой хорошо заменял планшет. Всё быстрое можно было смотреть прямо на телефоне, он «всегда в кармане», а всё медленное можно было отложить до ноутбука с большим экраном и удобной клавиатурой. Сейчас обсуждается вопрос о переходе к новому формфактору — функциональность телефона может уйти в очки AR, чтобы поддержать работу AI-агента «всегда на связи»39.

Мы уже приводили в руководстве по методологии разнообразные описания функциональности нейросетей в качестве примера. Тут мы опять вернёмся к нейросетям, показав в качестве примера их эволюцию40. Чаще всего в инженерии эволюцию называют словом «история» (история самолёта, история смартфона, а вот мы расскажем историю нейросетей — но с упором на «великие вымирания» и «неожиданные возрождения»).

В 60х годах прошлого века технологии нейросетей были очень многообещающие, ибо «так работает мозг, значит мы скоро решим проблему искусственного интеллекта». Но оказалось, что интеллект существенно зависит от вычислительной мощности алгоритма — а сам алгоритм при огромной вычислительной мощности может быть и не так важен (этот тезис известен как «горький урок Sutton»41, но сформулирован он был только в 2019 году). Поэтому искусственные нейросети показали очень неубедительные результаты — и стали в 80х годах маргинальными, нейросетевые алгоритмы продолжали изучать очень небольшое количество исследователей, инженеры ими практически перестали заниматься. Это общее место в эволюции: даже очень успешные ныне виды регулярно оказываются «на грани вымирания», даже люди имели в какой-то момент крайне небольшую численность42. Идеи/мемы/репликаторы знаний о нейросетях таки как-то выжили в эпоху «зимы AI» аж до начала 21 века. В 21 веке развитие видеоигр привело к развитию видеоускорителей, в 2007 году появился интерфейс CUDA для вычислений (сложения и умножения), в 2011 году догадались использовать ускорение для нейросетей — они получили «больше компьюта», в 2012 году наступил "момент ImageNet", новое пришло в нейросети сбоку, а обработку изображений — сбоку. Биологи бы сказали, что это паразитизм, который оказался симбиозом: сначала алгоритмы нейросетей подсаживались в предназначенные для совсем других целей и автономно существующие видеоускорители, а затем наоборот — эти видеоускорители перестали ориентироваться на обработку изображений для видеоигр и специально были оптимизированы для нейросетей. Разработчики GPU не подозревали, что у них будет такое использование — но вовремя развернулись в эту сторону43.

Дальше берём в нейросетях (которые были сначала главным образом дискриминативными, а не порождающми/generative, то есть классифицировали объекты по каким-то классам, а не порождали картинки, видео, тексты, аудио) линию порождающих алгоритмов (ибо их было предложено множество разных, в эволюции это quality diversity, разнообразие разных признаков у популяции какого-то вида, об этом же разнообразии признаков в эволюции говорят как про geometry frustrations, ибо выживаемость особей с разными признаками существенно зависит от окружения и конфликтов — об этом мы говорили в руководстве по системному мышлению). Дальше наблюдаем, как разработчики массово увлеклись линейкой алгоритмов GAN (это было настоящее сумасшествие!), пока в 2017 появился для текстов transformer — об этом говорят как о «моменте трансформера», это был крупный сдвиг в эволюции: большинство исследователей бросили заниматься разными вариантами GAN (но не все! Какая-то популяция этих алгоритмов продолжает жить и развиваться!) и начали работать с трансформерными архитектурами.

Дальше с трансформерами (которые улучшались и улучшались, и продолжают улучшаться) идём в рассмотрение инженерного процесса: в биологии это development/развитие, но в инженерии development означает часто continuous development, включающий и проектирование, и изготовление, и эксплуатацию силами создателей из графа создателей, а вот в биологии это «самоизготовление», организм самовырастает из зиготы. Ежели упор на изменения признаков в ходе эволюции — это эволюционная биология, evo. А вот как меняется «инженерный процесс» — это evo-devo, эволюционная биология развития44.

Дальше нам нужна инженерия в целом — что там эволюционного. Современная инженерия работает вроде как development до момента delivering, и это development явно не похоже на развитие организма в eco-evo-devo, да и переводится «разработка». Затем появляется continuous development, continuous integration, continuous delivering — и оказывается, что continuous everything из инженерии это и есть эволюция, continuous development тут — эволюционная разработка, и даже архитектура по новым воззрениям — эволюционная.

А сама эволюция (биологическая, культурная, техническая/инженерная) ещё и evolved, то есть меняются эволюционные ходы, они тоже запоминаются паттернами среды (а не только генами, что толку мне запоминать в генах, как кушать траву, если у растений ещё генов нет, как эту траву выращивать? Ручка-бумага и даже мозги тоже оказываются носителями записей о паттернах, но весь мир хранит отпечатки того, что в нём происходит, сам-себе-ручка-бумажка).

Итак, эволюция нейросетей продолжилась не только в части того, какой алгоритм взят в качестве «вручную закодированной заготовки» и какова была его эволюция, но и в части того, как именно подавать пары «входные данные — выходные данные», чтобы на выходе получить более-менее разумную AI-систему, а не просто «алгоритм». Это как раз evolution evolved, менялись способы, которыми происходила эволюция нейросетей — в расчёт начали брать не только эволюцию алгоритма нейросети, но и алгоритмы обучения (то, что делает не нейросеть в ходе её эволюции, а что делают создатели, «как учат»/«изготавливают»). Тут можно выделить несколько моментов (конечно, это очень грубо и упрощённо):

  • Обучение воспроизводить паттерны входного текста, pretrain. На выходе pretrain — базовая модель. И дальше с ней можно было чатиться: начинать какую-то строчку (в том числе и задавать вопрос) и получать наиболее вероятное продолжение в ответ.

  • Дальше произошло понимание того, что во всех этих случаях речь идёт просто о парах «входная информация — выходная информация», это был «подход T5», text-to-text transformer45. И вот это давало возможность учить не просто «паттернам входного текста», а «паттернам ответов на вопросы». В итоге появились модели класса «instruct», которые после pretrain дообучали/finetune на подобных паттернах. Техники дообучения росли, в дообучении принимали участие люди — они «натаскивали» нейросеть на «правильные» (полезные/helpfulness и безвредные/harmlessness) ответы, это назвали RLHF (reinforcement learning with human feedback46). В результате нейросетки получали паттерны того, как можно отвечать на вопросы — и это совсем не то, что просто генерировать наиболее вероятные ответы. Это был «момент ChatGPT», когда на основе instruct нейросети был создан продукт осмысленного чата с нейросетью. Осмысленный — это когда ты получал на выходе на какой-то вопрос вполне осмысленный ответ. Конечно, quality diversity в эволюции была и тут: довольно много инженеров пытались повторить, и даже повторяли эти результаты. Проблема была только в том, что процесс обучения заключался в том, что нейросеть обучали «отвечать», её не обучали «думать»!

  • Дальше сразу несколько исследователей находят способ, как заставить модель не отвечать сразу, а прокручивать ровно тот цикл размышлений, который характерен для эволюции: высказывать догадку — и не сразу вываливать её в качестве ответа, а сначала проверять, и высказывать новые догадки, если текущая догадка оказалась неверной. Дальше наступает «момент DeepSeek», ибо фирма DeepSeek не просто предложила вниманию публики коммерческий продукт с такой «рассуждающей» нейросеткой, но опубликовала эту нейросеть в свободном доступе, да ещё и написала подробную статью, как такие нейросети делать. Это был третий шаг, «обучение с подкреплением» (RL), причём подкрепление было в том числе за правильность рассуждений перед ответом.

  • … конечно, это не последнее изменение в процедурах разработки нейросетей! Эволюция неостановима как в части целевой системы как итогового результата, так и в части того инженерного процесса, каким этот результат получается. Так что ждём выхода на бесконечность, open-endedness в развитии AI47.

Это важно: мы имеем одну и ту же нейросеть «на входе обучения», но на выходе имеем разной силы алгоритмы после разного обучения этой нейросети: или бездумного поэта, который выдаёт произвольные ассоциации, или подмастерье, который пытается воспроизвести ответы по способу мышления мастера, или самостоятельно думающего мастера. Всё зависит не от «конструкции нейросети», а от того, «как готовили». Как говорится, «из той же мучки, да не те ручки». Это эволюция метода, в данном случае метода обучения. Как долго длилась эта эволюция метода? Относительно долго: архитектура трансформера для «базовой» сети была получена в 2017 году, публика получила instruct модель с доученными от людей «безвредностью» и «полезностью» такой сети в формате чата 30 ноября 2022 года48, «момент DeepSeek» (назван так по образцу «Sputnik moment», потрясение мира в момент запуска СССР первого спутника) произошёл 25 января 2025 года. В техноэволюции всё быстро, репликация идей из одних мозгов в другие, из одних компьютеров в другие происходит почти мгновенно — через интернет.

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

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

Напомним основные идеи современных теорий эволюции (их явно не одна), которые мы как-то затронули:

  • open-endedness50 (наличие двух агентов: один решает всё более и более трудные проблемы, второй формулирует всё более и более трудные интересные проблемы, а не любые проблемы, и ещё мир, достаточно богатый для бесконечно усложняющихся проблем)

  • quality diversity51 для меметических алгоритмов52, то есть работа с популяциями и работа с локальными и глобальными оптимумами динамического ландшафта приспособленности

  • многоуровневость и сложность (с конфликтом между системными уровнями и geometry frustrations, неустроенность — и связь неустроенности с quality diversity). Это работы группы Ванчурина-Кацнельсона-Кунина-Вольфа53.

  • невозможность отследить эволюцию одного объекта изолированно на любом эволюционном/системном уровне, ибо можно отслеживать только совокупную эволюцию, при этом эволюция идёт не только среди объектов одного уровня, на одном уровне (скажем, гена или вида) но на всех уровнях. Это тоже работы группы Ванчурина-Кацнельсона-Кунина-Вольфа.

  • Уход от статического fitness landscape и тем самым уход от обсуждения приспособленности через «пользу» (польза получается эмержджентной, и отнюдь не сразу — и «польза» обычно одноуровнева, а нужно учитывать все уровни и их конфликты). Так, у черепахи сначала появился щиток на брюхе, чтобы была платформа, удобная для копания. И затем из рёбер вырастали небольшие щитки наверху, сквозь кожу, ибо близко же — из клеток, которые шли в том числе и на рёбра! Ни о какой «защите панцирем» и речи не шло. Затем щитков на спине стало больше, и они срослись с щитками платформы на брюхе. Вот с этого момента — «панцирь, у него защитные функции». А до этого — нейтральные случайные особенности/traits, разбегающиеся в рамках популяционной quality diversity.

  • Кроме evo в обсуждениях эволюции обязательны development и eco (eco-evo-devo54).

Эволюционная неизбежность этических/политических проблем и инженерные подходы к их решению

Системное творчество заключается в том, что оно переводит проблемы в задачи: там, где непонятно, что делать, находится метод/алгоритм (помним, что это необязательно «последовательность шагов»), по которому надо просто выполнить работы, чтобы решить эту проблему. Но основная проблема в том, что проблемы создаются просто из-за многоуровневости, многомасштабности мира: между системными уровнями существуют неразрешимые конфликты, которые ведут к неустроенности/неустаканенности/«geometrical frustrations»55 (помним, что «геометрический» тут означает просто упоминание многомерного пространства состояний конфигураций всех систем на всех уровнях).

Эволюция заставляет рассмотреть конфликты, связанные с удержанием репликации на каждом уровне в каких-то границах — если клетки печени хотят неограниченно реплицироваться, то с точки зрения организма это рак. Если какой-то организм хочет неограниченно реплицироваться, то с точки зрения остальных организмов эко-системы это тоже что-то типа рака. Конфликты между системными уровнями в эволюции неизбежны: все системы хотят жить вечно и реплицироваться, но ресурсов для этого заведомо на всех не хватит. Поэтому эволюция изобретает новые и новые формы освоения окружения, в том числе паразитизм и симбиоз, «многоклеточность со специализацией» в биологии, конструкции биологических организмов становятся всё сложнее и сложнее, число уровней растёт, растёт и разнообразие форм/архитектур жизни, у биологической сложности есть физические основания56.

Примерно те же процессы идут и в культурной эволюции (культура исповедования теорий флогистона и теплорода не выжила в конкуренции с термодинамикой), и в технической эволюции (телефон вытеснил телеграф, чаты уже почти вытеснили телефон). Неизмеримо выросла и продолжает расти сложность культуры (взять, например, современную культуру инженерии со всеми её знаниями по созданию систем самого разного вида). Выросла и продолжает расти сложность инженерных систем. Посмотрите, сколько систем должны слаженно сработать для того, чтобы вы могли вызвать со смартфона такси — и спутники должны летать, и наземные приёмники сигналов спутника, умещающиеся в смартфон, и компьютер-в-кармане быть доступным, и датацентры построены с развёрнутым в них софтом, и автомобили такси должны быть созданы, а сталь для них выплавлена, но ещё поддержаны надёжные быстрые расчёты по деньгам сложнейшей банковской системой, и даже проведён учёт user eXperience — опросы и расчёт рейтингов водителей и пассажиров, ибо маркетплейс учитывает не только пассажиров, но и водителей как пользователей. И это всё как-то синхронно работает вместе, чтобы было легко вызвать такси в самые разные места, а затем рассчитаться за поездку.

Если смотреть на инженерию как эволюцию, то она сведётся к предложению новых конструкций систем, ведущих к многоуровневой оптимизации их конфликтов на многих системных уровнях, за счёт этого удачные системы получат шанс на существование — но недолгое, ибо квазиоптимальное (теоретический оптимум недостижим в принципе) решение сегодня не означает того же уровня квазиоптимальности завтра. Эта «временность решения проблем» — следствие со-эволюции всех систем, никакая система не развивается сама по себе, все они развиваются одновременно и взаимодействуют весьма сложным образом. Непрерывно появляются новые виды, осваивающие новые экологические ниши, ранее недоступные жизни (биологической, культурной/знаниевой, технической) но какие-то виды перестают быть оптимальными — они вымирают. Культ Зевса и теория флогистона — культурные динозавры, они вымерли, эти виды/species репликаторов больше не размножаются, но мы можем наблюдать их следы, как палеонтологи наблюдают окаменевшие остатки организмов вымерших видов. Телеграф — технологический динозавр, тоже вымер. Хотя автор руководства работал на телеграфном ключе и участвовал в соревнованиях по приёму-передаче сообщений на скорость по азбуке Морзе, но в жизни «вживую» уже много десятков лет не видел ни одного телеграфного ключа, хотя их можно купить до сих пор — в качестве технического сувенира, ровно как можно купить и сувенирную фигурку какого-то вида динозавров.

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

Скажем, если мы применим «умные мутации» к человеческому геному, то получим евгенику57 средствами генетической инженерии. Далее можно задать вопрос: сколько людей в идущей в том числе и сейчас биологической эволюции человека умрёт до появления «оптимизированной усиленной версии человека будущего»

  • в ходе естественных случайных мутаций, «в ходе обычной биологической эволюции, в геном не лезем» против

  • в ходе «инженерной эволюции», где мутации будут предлагаться на основе какой-нибудь многоуровневой модели организма (не только генома!), например, отмоделированной на базе большой нейронной сети, а затем реализовываться методами генной инженерии, методами влияния на развитие организма из зародыша?

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

  • «Руки прочь от естественной эволюции, что-нибудь повредите, всякие генетические инженерии и социальные инженерии опасны!», — это подход охранителей с их скрепами. Например, во Франции законодательство прямо запрещает любые попытки улучшить природу человека, это уголовно наказуемо как «преступление против человеческого вида»58. Во многих странах вы не имеете даже права выбрать пол ребёнка, это уголовно наказуемо59.

  • «Вы что, сдурели оставлять всё естественной эволюции, у неё ж на поиски улучшений человека уйдёт миллион лет и миллиард смертей! А то и вообще всё сдохнет-вымрет, это ж эволюция! Срочно зовите инженеров!», — эту точку зрения представляет, например, John Doyle60.

Генная инженерия, селекция и прочие практики изменения хода естественной биологической эволюции поэтому сразу сталкивается с подобными вопросами, иногда теорию этики называют для этой темы «биоэтика»61.

Эволюция AI-агентов тут пример поближе к «обычной инженерии», но и тут могут быть вопросы, например, популярно обсуждение «можно ли выключать нейронную сеть, если мы заметили, что у неё есть сознание?» (при этом «сознание» неверно понимается как бинарная характеристика, а не по-современному, как шкала, что порождает множество пустопорожних рассуждений, «спор о терминах»62). Вопросы вызывает вообще отношение к непрерывно усиливающемуся интеллекту компьютера, а затем и робота: понятно, что разумные существа должны иметь какие-то свободы, но должны ли роботы иметь возможность размножаться, если они окажутся умнее людей и даже смогут заработать на своё размножение и проживание?! Впрочем, рабов-людей тоже тысячи лет не считали людьми, что уж говорить про рабов-машин, даже разумных! При этом идеи охраны свободы животных никак не влияют на идеи свободы роботов! Более того, в Новой Зеландии (2017) и Канаде (2022) права людей были даны рекам!

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

Ещё жёстче стоит вопрос регулирования эволюции при выходе на уровни социальной инженерии, и тут уже работать могут не только судебные, а затем силовые (тюрьма) механизмы против отдельных людей, которые пытаются установить какие-то новые правила жизни, но даже военные механизмы против больших групп людей (автор понимает, что привлечение примеров из политики может существенно отвлечь внимание и ему знаком текст «Политика — убийца разума»63, но надеется на то, что из примеров будет вычитываться не собственно политика и политические решения по конкретным кейсам, а будет вычитываться применение принципов инженерии к сообществам, обществам, человечеству).

Так Касым-Жомарт Кемелевич Токаев как президент Казахстана сказал в 2022 году64: «Подсчитано, что если право наций на самоопределение в реальности будет реализовано, то вместо 193 государств, входящих в состав ООН, на земле возникнет более 500 или 600 государств, конечно же, это будет хаос. По этой причине не признаем ни Тайвань, ни Косово, ни Южную Осетию, ни Абхазию. И, по всей видимости, этот принцип будет применен в отношении квазигосударственных объединений, коими, на наш взгляд, являются Луганск и Донецк».

Тут даже неважно, если дать право людям на свободную сецессию65, будет ли 500-600 государств, а не 3500. И почему сегодня в мире не хаос, когда всякие Чечни, Тайвани, Крымы, Донецки и так далее (включая потенциально страну басков, время от времени желающий отделиться Техас и сотни других регионов) можно или «отпускать» в независимость на основании права на самоопределение как «борцов за независимость», или не отпускать, считая «сепаратистами», или войной забирать в другие страны, считая «возвращающимися в родное старое государство» и это всё не ведёт к хаосу, а каким-то чудом его предотвращает. Почему 600 государств вдруг будут хаосом, если отпускать без войны? Война уничтожает людей, но мирное изменение границ государств само по себе не уничтожает людей, и уж точно не приводит к «хаосу», просто чьи-то амбиции по рулению себе подобными ущемляются, а чьи-то нет.

Хаос возникает именно от войны, в том числе военного и изменения границ, и военного неизменения границ. Нужно чётко понимать, что при изменении границ нужно обсуждать проблемы разных системных уровней. Когда-то Россель, будучи губернатором Свердловской области, высказал те же аргументы Ельцину по поводу автономии для области, что Ельцин высказывал Горбачёву для автономии РСФСР от СССР. Абсолютно те же аргументы, но Росселю и его сторонникам автономизироваться никто не дал, а Ельцин у Горбачёва и СССР в точно такой же ситуации выиграл. Нужно понимать, что это всё попытки инженерной деятельности, по изменению устройства общества. Принципы, которые учитывают одноуровневую оптимизацию (границы государств, например, и только), а не многоуровневую (структуры уровня мельче государств и уровня крупнее государств) плохие, они не ведут к изменению жизни к лучшему, они не дают многоуровневой оптимизации. Они пытаются содействовать выигрышу какого-то одного уровня в межуровневых конфликтах. Но это невозможно, ибо эволюция стремится к нахождению многоуровневого оптимума конструкции репликаторов, а не одноуровневого. И это не достижение равновесия, «стремление к нахождению» — это не нахождение! Эволюция продолжается, причём меняется даже она сама.

В случае границ государств как оформляющих границы разных общественных организованностей (обществ с разной одинаковостью его членов) нужно помнить о неустаканенностях/frustrations таких же, какие наблюдаются в спиновых стёклах66. В руководстве по системному мышлению это рассказывается подробнее, даются ссылки на литературу по эволюции (например, почему существует множество похожих по качеству решений оптимизационной проблемы, и легки переходы между состояниями системы, соответствующими этим решениям67). «Остановить историю» не получится, социальная инженерия реализует эволюцию, она непрерывна: «добиться достижения цели» нельзя, ибо сама цель непрерывно движется, и обстоятельства её достижения меняются, а ещё системы неэргодичны, у них есть память и нельзя просто «вернуть всё назад», поддерживать равновесие, гомеостаз. Развитие не гомеостатично, эволюция — это не гомеостаз (хотя удерживание какой-то границы между отдельной системой и её окружением и можно с трудом назвать гомеостазом, но акцента на изменениях в подстройке к происходящему и убеганию от ожидаемых опасностей в будущем больше, чем акцента на неизменности, на которой центрируется гомеостаз).

Более того, тренд на глобализацию, «большую деревню», убирание всех и всяческих границ — это не эволюционный тренд. В эволюции системы защищают свои границы и стремятся увеличить сферы своего влияния. Если границы исчезают, то через эти границы приходят полчища паразитов и хищников — поэтому в биологической эволюции появляется мозг (управляет реакцией бей-беги) и «нементальный мозг»68, иммунная система (управляет воспалением, иммунным ответом). Полицейское государство — это просто аутоиммунная реакция, попытка сохранить и размножить культуру, даже если речь идёт о самих носителях этой культуры69! В принципе, в эволюции и управление многоуровневое/многомасштабное — причём одни и те же принципы управления/control и в биологии, и в технологии70. Инженеры, которым надо делать систему управления роботом, предприятием, эко-системой, обществом — им надо всем понимать эти принципы многоуровневого управления/control, а также обязательной защиты межмодульных границ и интерфейсов от всевозможных паразитов.

В инженерии можно действовать методом: проб и ошибок, как будто до сих пор верна дарвиновская теория эволюции, в которой считалось, что мутации случайны. В социальной инженерии тоже так можно делать. Но ценой этого будет много смертей, и хорошо если это будут смерти фиктивных сущностей (скажем, если умрёт государство, то некоторым людям будет просто очень-очень обидно, но если умрёт множество людей вместе с государством, то это уже не «просто обидно», это невосполнимые потери).

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

Если нет нормальной объяснительной контрфактуальной порождающей теории/модели для эволюции, в том числе культурной эволюции и технической эволюции, то ничего сделать в политике нельзя: любой пробегающий мимо специально обученный риторике как убедительной речи «пропагандист» даст более яркую картинку для яркой картинки предыдущего «пропагандиста», и уведёт за собой толпу людей. Часть толпы, правда, останется. А ещё часть просто разбредётся. Но если будет какая-то рациональная теория, то действию пропагандистов можно будет как-то сопротивляться — это трудно, но возможно.

Без SoTA теории в политику как социальную инженерию идти нельзя, как и в любую инженерию. Нужны сущностные аргументы, а не просто «пропаганда» и «яркий образ». Дело тут даже не в строгости логики (можно обсуждать, какой логики: булевой, байесовской или квантовоподобной, этим занимается фундаментальная дисциплина рациональности, подробней см. в руководстве по интеллект-стеку фундаментальных методов мышления), но хоть какой-то объяснительной теории того, что происходит. Если такой теории нет, то мы имеем дело с безжалостной случайностью, при которой никакие изменения не будут к лучшему чисто статистически, никакое политическое лыко не будет в строку. При этом если есть труды типа тех же трудов Ванчурина-Кацнельсона-Вольфа-Кунина, то текущие политические теории о той же сецессии71 нужно признать прокритикованными (они объясняют меньше и хуже, чем новые эволюционные теории). Надо помнить, что разные культуры дают разные ответы на вопрос о примате интересов сохранения одних образований над сохранинем других — включая вопрос о возможности недобровольных человеческих жертв для сохранения какой-то культуры (религиозной, языковой, культуры одежды, культуры поддержания способа распределения в экономике, вроде рынка или планового хозяйства — это неважно).

Основная идея в том, что при многоуровневой организации общества (хоть сколь-нибудь устойчивые структуры разных масштабов, составленные из людей и их вещей, включая землю и недра) неизбежны конфликты между целями разных уровней, а главная цель — «сохраниться, чтобы не съели и не умерли от голода, холода и болезней», и делать это с минимальными усилиями, lean/элегантно, с соблюдением принципа минимального действия из физики. Чистая физика-математика, а не идеалы из какого-то «исторического прошлого».

Есть множество субоптимальных решений, которые примерно одинаково неоптимальны, пока не появляется (редко!) какое-то крупное новшество, обычно приводящее к появлению нового системного уровня (типа одноклеточные стали многоклеточными, а многоклеточные образовали популяции с двумя полами). Это означает, что есть огромное количество разных конфигураций «стран» с самыми разными вариантами границ между ними и устройством жизни в этих странах, и эти варианты конфигураций деления мира на страны все будут примерно одинаковы в части успешности межуровневых конфликтов — хоть этих стран будет как сейчас 193, хоть 600 или даже 3500. Границы никуда не денутся, на любую глобализацию будет своя деглобализация, на любые таможенные и связные союзы будут находиться достаточное число противников, выступающих за протекционизм и цензуру, как бы ни были рационально привлекательны альтернативные варианты. Ибо границы — это безопасность от паразитов и хищников, исчезновение границ приводит к тому, что любая проблема распространяется со скоростью пожара. Подводные лодки делают с герметичными отсеками, то же самое делают с цивилизацией: делят её на «отсеки», на каждом уровне. Это эволюция, от этого не удастся избавиться никаким «прогрессом».

Ситуация в части стран может незначительно меняться в случае «блоков» (так, Единая Европа, НАТО, ОДКБ тут примеры попыток социальной инженерии этого межстранового уровня, но можно думать и о других вариантах конструкции межстрановых объединений), новых типов стран (федеративное и конфедеративное государство когда-то было таким новым типом, тоже признающим, что оно состоит как целое из частей) и новых типов частей стран (областей, графств, штатов или как они там могут называться, включая разный уровень автономизации этих типов). Но принципиально тут мало что изменится, разве что можно уточнять правила бескровной смены границ: как демократия делает возможной бескровную смену монарха или диктатора в случае неудачного его правления, так можно предлагать похожие бескровные механизмы для смены границ. Но никакое одно решение для одного системного уровня не пройдёт, чтобы границы стран можно было переустраивать без войн и неизбежных смертей, нужны оптимизационные изменения на всех уровнях сразу.

Конечно, президент «страны» плевать хотел на президента «графства», это ж понятно — он это просто по должности должен делать, защищать интерес этого уровня, «держать и не пущать», а также «строить империю, собирать земли». Но иногда графство/область вдруг начинает дружить «через голову» с другими президентами стран и даже страновыми объединениями, тогда страновое объединение уже выращивает свою бюрократию и плевать хотело на того президента, который против. Всё это непрерывно перемешивается и обладает памятью, как спиновые стёкла: возврата назад в какие-то прежние границы регионов и в теории не бывает, и в истории наблюдаем ровно это. Нужно крепко думать над словами тех, кто хочет стабилизировать неустроенности/неустаканенности/frustrations, обзывая их чистым хаосом, а не проявлением общих эволюционных законов. Если «заморозить границы по их сегодняшнему состоянию», то жди беды рано или поздно.

Какие могут быть инженерные решения? Опять приведём в пример демократию — это пока ещё относительно плохой и плохо проработанный, но всё-таки способ бескровной смены правителя, исправления ошибки выбора (или речь идёт о безошибочности выбора в начале срока правления, но жизнь меняется — и выбор оказывается ошибочным позднее). Без демократии монарха или диктатора можно было бы менять только их убийством, а также убийством прикормленных ими их сторонников. А при демократии при голосовании сразу видно, много ли сторонников, и поэтому никого убивать не надо, можно позволить всем жить. На уровне стран могла бы быть какая-то подобная процедура, и следы этой процедуры даже обговариваются, это идеи сецессионных или объединительных референдумов. Но дальше, как всегда, есть противники самих этих референдумов (и они же могут себя считать сторонниками демократии, не забываем, что у агентов разных системных уровней будут разные интересы и поэтому разные обоснования для «свободы для текущих частей» и «свободы от текущих целых» на каждом системном уровне).

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

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

Вся инженерия самых разных систем оказывается «умной эволюцией», а неинженерные, то есть не на основе рационально мышления, изменения мира к «чему получится», а не «к лучшему» — частью «просто эволюции», методом случайных, а не умных проб и ошибок, ведущих часто к смерти системы от предложенных мутаций.

Концепция использования (предпринимательская гипотеза), концепция системы (результат системного творчества) с их методологическими/функциональными и архитектурными/конструктивными решениями оказываются предложением «умных мутаций». И речь идёт не об однократном предложении каждой такой «умной мутации», но об «умной эволюции»/развитии в целом: длинные цепочки меметической эволюции (поиски непрерывно ускользающего глобального оптимума и нахождение локального оптимума конструкции системы, максимально вписывающейся в какую-то экологическую нишу — рыночную, географическую, культурную, техническую), подразумевающие предложение и опробование множества «умных мутаций» и получение быстрой обратной связи о выживаемости предложенных конструкций системы.

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

Взгляд на системную инженерию как метод «умной эволюции/развития» систем самой разной природы упирается в пока ещё недостаточное знание инженерами современного (третьего поколения) системного мышления: откуда физически берётся эмерджентность и как она может быть описана традиционными для физики математическими средствами. Уже понятно, что:

  • все описания эволюционирующего мира оказываются квантовыми в том смысле, что физические процессы излагаются как информационные (если можем что-то изменить при взаимодействии, то система генерирует ноль или единицу, квант/бит информации, это и есть «новая квантовость»72 как информационный взгляд на физику, а не как особенности физики микромира с «квантовыми явлениями»).

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

  • в информационных системах количество неожиданно переходит в качество, то есть эмерджентность растёт при росте масштаба вычислителя, а в обучающихся системах и при росте масштабов данных для обучения (об этом был раздел в «Системном мышлении», в том числе и разные трактовки эмерджентности математиками как шкалы для какого-то свойства и физиками как появления нового свойства).

Без обсуждения трёх масштабов времени (1. жизнь как «эксплуатация», 2. умные мутации на многих системных уровнях в ходе эволюции системы и 3. разработки одного релиза/версии). Если раньше интересовала главным образом стратегия и план «выпуска системы» как выпуск единственного релиза/версии, то в эволюционной инженерии без обсуждения ещё и стратегии и планов по выпуску этих версий (roadmap) никаких инженерных рассуждений проводить нельзя. Все решения по текущему релизу принимаются исключительно в контексте roadmap, «никакая версия системы не является последней».

Чтобы разбираться в эволюции, потребуется хорошенько разобраться со всем интеллект-стеком, всем набором фундаментальных дисциплин: там и про эволюцию, и про этику, и про инженерию, и про «движущую силу эволюции» как те самые конфликты между системными уровнями, и про многое другое. Для чего разбираться, мы уже говорили: в инженерии эволюцией профессионально занимается роль визионера, эволюцией SoTA методов/функций занимается методолог, свойством развиваемости/evolvability занимается архитектор, а инженер внутренней платформы разработки занимается эволюцией ещё и этой платформы, которая поддерживает эволюцию инженерной/engineered системы. Непрерывное всё, эволюционирующее всё, безмасштабное (со многими системными уровнями) всё. Современная системная инженерия — это эволюционная инженерия.

Слова-термины в безмасштабной эволюционной инженерии и важны, и не важны

Терминология, под которой скрывается безмасштабность (многоуровневость) и эволюционность (развитие системы как выпуск множества релизов/версий) в современной науке (предложение новых теорий, описаний мира) и инженерии (новые изменения физического мира) может существенно различаться. В разных мета-моделях (как научных, там чаще всего метаУ-модель, «как в учебнике», так и принятых в конкретном проекте метаС-моделях, «ситуационных») системы на каждом уровне и сами уровни будут называться разными именами, в том числе системы разных релизов/версий. За типами надо будет внимательно следить. Так, даже слово «релиз/release» может означать три разных объекта:

  • систему в определённой конфигурации, синоним «версии»,

  • процесс разработки (development) и введения в эксплуатацию (delivering) версии, поведение создателя версии/конфигурации системы,

  • событие выпуска версии, причём не окончание сборки/integration (куда часто ещё включают и инженерные обоснования успешности, quality assurance с испытаниями функциональности, соблюдением архитектурных решений и решений по защите и безопасности), даже не окончание разворачивания/deployment, но чаще всего это окончание «введения в эксплуатацию»/delivering.

Когда речь идёт о «водопаде» против agile — это чаще всего отсылка к эволюционной инженерии, но слова «эволюция» не увидите, будет использовано только слово development, в английском достаточно многозначное, чтобы иметь оттенки «развития» и «разработки». То, что русскоязычное ухо слышит как «разработка», в английском включает в себя и «развитие», а для русского уха «развитие» как раз отсылка к эволюционному масштабу времени, evolution. Про выпуск новых и новых версий будут говорить agile development, но там внутри неожиданно — про evolutionary architecture.

Безмасштабность/scale-free/scaleless (одно и то же описание на самых разных системных уровнях) тоже в разных научных и инженерных школах будет обсуждаться разными словами, которые будут «синонимами с нюансами», отсылками к одной идее, но с подчёркиванием разных её аспектов:

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

  • рекурсия как применение одного и того же метода работы на каждом системном уровне, это в системной инженерии (например, в стандарте ISO 15288:2023 этот термин используется для объяснения, что материал стандарта приложим к системам на всех системных уровнях)

  • фрактальность, отсылка к самоподобию устройства уровней, в инженерии это весьма распространено73.

  • инвариантность к масштабу (scale invariance, invariant scaling)74 как противопоставление «многомасштабности» (multiscale), где наоборот, подчёркивается роль различного моделирования на разных системных уровнях с выходом на общий результат моделирования75.

  • самоподобие (Self-affinity, self-similarity76), как указание на повторяемость по отношению к самому себе, более общий термин по отношению к инвариантности к масштабу — ибо там самоподобие по отношению только к масштабу, но тут может быть распространено, например, на фракталы, где повторяется на разных масштабах форма.

  • … ожидайте больше вариантов, идея «одинаковых паттернов на каждом уровне» (где паттерны — паттерны объектов, то есть типы, паттерны поведения, то есть методы, паттерны описания, то есть типы моделей) распространена, но каждый раз для этой идеи выдумывались свои термины и подчёркивались свои особенности.

Как у нас называются сущности, которые являются частями друг друга и целыми друг ко другу на самых разных уровнях? Очень по-разному:

  • Системы/systems имеют границу и окружение, основное отношение часть-целое. Систем предлагается огромное количество, например, древние автопоэтические системы малоотличимы от агентов. Холоны — подчёркнуто то, что система состоит из частей-подсистем и сама часть надсистемы. Почему автопоэтические системы и холоны остались только в литературе прошлого века? Это хорошие метафоры (из frameworks, набора понятий), но под ними было мало формализации и математики, они были плохи для формального разговора и более-менее точных предсказаний. Там, где мало математики и нельзя чего-то посчитать и сверить с экспериментом, не надо ждать сохранения. Но сам термин «система» из физики, так что с ним будет всё в порядке.

  • Агенты/agents с главным свойством автономности, в том числе у них важна устойчивость к распаду от внешних воздействий. Варианты агентских подходов весьма разнообразны, например, в подходе «деятельных рассуждений»/«active inference» как раз в терминологии чаще всего используются агенты77. Математики и физики с этой терминологией довольно много, поэтому можно ожидать сохранения термина.

  • Ренормализованные сущности/entities, подчёркивают идею инвариантности к шкале, уровню гранулярности и использованию одной и той же математики для описания явлений на разных уровнях78.

  • Ренормализованные нейроны, упор на применимость математики машинного обучения, этим занимаются во многих местах79. Иногда возникают терминологические коллизии, если ожидается, что эти работы будут читать биологи, для которых «нейрон» — это не тип объекта в многоуровневой системе, а биологический нейрон, клетка. Поэтому иногда для «ренормализованного нейрона» из физики вводят синоним: IPU (information processing unit, причём этот термин вводится только в рамках этой теории и означает по сути «систему», описываемую в терминах машинного обучения — полный синоним «ренормализованного нейрона», выбор такого термина связан с его общностью).

  • Cоздатели/constructors, акцент на неизменность-неразрушаемость при выполнении операций с окружением (что очень похоже на агента, но акцент не на автономность, а на готовность к повторению операций, неразрушимость во взаимодействиях)80.

  • Наблюдатели/observers, в таких, например, работах, как «Towards scale-free formalization of physical systems as observers»81.

  • Машиностроительные узлы/nodes, подчёркивают идею многоуровневой сборки из комплектующих82.

По большому счёту, это всё отсылки к одному и тому же концепту, «синонимы с нюансами» — разные термины подчёркивают разные аспекты описания, разные акценты.

Большинство теорий, которые используют многоуровневые безмасштабные представления, не различают функциональную и конструктивную декомпозицию/синтез — при этом подразумевается, что в этих то ли уровнях, то ли слоях (чаще всего «уровни» и «слои» в таких теориях — синонимы, выбор их произволен) отношения между объектами образуют сети, называемые часто:

  • организацией, если речь идёт о функциональных отношениях (потоки и порты). Скажем, «Discrete IPUs (that is, self- vs. nonself-differentiation and discrimination) exist at all levels of organization» из той же работы Ванчурина со товарищи83. Организация указывает, каким процессом функциональные части системы склеиваются в функциональное, стабильное (и часто — эволюционирующее) целое. Границы тут не очень важны.

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

  • компоновкой, если речь идёт о пространственных отношениях и прилеганиях в пространстве

  • стадийностью, если речь идёт о временно́й/эволюционной структуре

  • ... и там ещё много всякого, в том числе гибриды типа "стоимости", которая тоже многоуровнева, но цепляет самые разные другие многоуровневые представления.

Если вы понимаете идею безмасштабного/рекурсивного/многоуровневого/фрактального/ренормализованного/системного (и так далее! синонимов тут много!) описания мира, то вы разберётесь с любыми терминами, которыми пытаются выразить эту идею.

Так, «организация» — это часто «функциональная многоуровневость», а архитектура — это часто «конструктивная многоуровневость». Но «часто» --это не всегда. Самые разные «опытные разработчики» прошлого будут называть функциональные диаграммы с dataflow и портами (без интерфейсов!) «архитектурой». Дело даже не в том, что архитектура — это не описание, это реализация какого-то паттерна отношений/relations частей конструкции, то есть сами части конструкции, связанные по какому-то архитектурному паттерну. Нет, просто значение слова поменялось.

Скажем, устойчивое словосочетание «архитектура нейронной сети» задействует старое значение слова «архитектура», когда интуитивно она понималась как «всё важное», а развиваемость/evolvability системы и связь развиваемости с модульностью были не вполне ясны. Потом появилась эволюционная/evolutionary архитектура (первая книга на эту тему вышла в 2017 году) — и после этого значение слова «архитектура» начало меняться.

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

Что происходит, когда алхимия заменяется химией? Как протекает просвещение в среде учёных и инженеров? По печальной шутке «наука продвигается с каждыми похоронами». Точнее, Макс Планк заметил: «Новая научная истина побеждает не тем, что убеждает своих оппонентов и заставляет их увидеть свет, а тем что оппоненты в конце концов умирают, и вырастает новое поколение, уже с ней знакомое»84.

Точно так же люди легко назовут «модульной организацией» какую-нибудь сеть модулей-на-интерфейсах, и даже не вспомнят в этот момент слово «архитектура». Надо ли с ними спорить о том, что «это не архитектура»? Конечно, нет. Спор на тему «объект X не принадлежит классу Y» — типичный «спор о терминах», и там два слоя:

  • попадает ли какое-то понятие в таксон какого-то классификатора (надо понимать, что вариантов классификаторов и критериев классификации тут множество, а ответ на вопрос обычно неважен, если речь не идёт о каком-нибудь государственном классификаторе, попадание в таксон у которого ведёт к каким-нибудь прибылям или убыткам)

  • каким словом назвать это попадание изо всех возможных синонимов.

Помним, что разбираться надо сразу по существу: что там за понятие, с какой целью нам его сообщают, какие интересы у тех, кто нам говорит про архитектуру и организацию — и для надёжного заземления/grounding просить привести примеры. Спорить о терминах не надо, это бесполезно. Но и не надо ошибаться: если вам показали «принципиальную схему», а потом показали «архитектурную диаграмму», на которой вы тоже обнаружили ролевые объекты и их поведение, а модулей и их интерфейсов не показали — ищите модули и интерфейсы, как бы они в этом проекте ни назывались. Просто считайте, что люди там говорят на иностранном языке — и либо вы их научите говорить на «культурном инженерном языке» (понятия и терминология SoTA системной инженерии), или это слишком затратно, тогда вы думайте на культурном языке, а говорите с этими людьми на их туземном. Слова важны и не важны, ибо важны понятия — и они обозначаются словами, что важно, но слова можно и поменять, а понятия с их типами — нет, поэтому слова оказываются не так важны.

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

Эволюция чаще всего обсуждается как эволюция каких-то функциональных объектов, но и тут надо быть настороже: если говорим о версионировании или переконфигурировании, то это обычно обсуждение «эволюции архитектуры».

Не факт, что хоть кто-то задумался о выборе слова «организация» при написании фразы «Discrete IPUs (that is, self- vs. nonself-differentiation and discrimination) exist at all levels of organization»85 (более того, в статье даже синонимия ренормализованного нейрона и IPU не прописана, хотя авторы не в статье подтвердили эту синонимию86). Интуитивно понятно, что речь идёт о функциональном описании — при этом назначение/purpose подозрительно напоминает описание просто «системы», это же про границы между системой и окружением! Но нет, IPU как «нейрон» обладает способностью к обучению, описывается функцией активации, функцией потерь, входами и выходами. Этот подход подразумевает, что все системы можно так описывать, на всех системных уровнях! Но потому-то и не используется слово «система», что в общем случае при его использовании нельзя ожидать, что будет ровно вот такое описание в терминах систем-нейронов. Синоним, но «с нюансами». Тем не менее, говорится об организации этих нейронов, то есть авторы неосознанно выбрали терминологию, указывающую на функциональные объекты. Слова в тексты приходят «навеянные музыкой», общим «культурным фоном» (нейросеть мозга подставляет «наиболее вероятные» слова для обозначения объектов, следует неявно выученным паттернам, которые часто встречались раньше). Ваш «культурный фон» может быть не такой, как у вашего собеседника. Поэтому каждый раз надо в каждом проекте и каждой теории разбираться с типами: какие слова какие понятия каких типов из каких теорий используются при описании разных систем проекта.

Ещё одна проблема безмасштабных описаний — в постулировании разных типов на разных уровнях этих описаний. Так, узлы состоят из узлов. Но в машиностроении вам могут заметить, что узлы собираются из деталей — это такие узлы, которые уже не узлы, ибо их нельзя собрать. А на верхнем уровне узлы собираются в подсборки и сборки, а уже они — в изделие. При любом изменении организации и архитектуры приходилось переприсваивать типы объектов. Сама идея, что уровни по отношению «часть-целое» (разбиения/декомпозиции, например, «разузловки», иногда «синтезы» — термины выбираются в зависимости от предпочтительного направления рассмотрения иерархии по отношению «часть-целое») должны содержать какие-то единицы/units одного типа — она в системную инженерию шла очень медленно, а до многих мест «просто инженерии» пока ещё вообще не дошла. Вот картинка из ISO 15288:2023, это пояснение понятия «система» — суть картинки в том, что системы многоуровневы. И там неожиданное нарушение этого принципа: если это последний уровень в какой-то ветви иерархии, то это уже не тип «система», а тип «системный элемент»:

Если вы вдруг решите сделать этот элемент из двух или трёх частей, то придётся поменять тип с «системного элемента» на «систему». И то, что типов всего два (а тип будет отслеживаться в компьютерной системе, разные типы будут в ней запрашиваться по-разному) — это счастье, ибо раньше у вас это было деталью, узлом, подсборкой, сборкой, подсистемой, системой (и это даже не все предписанные уровни), и вам надо было хорошо понимать в любой момент времени, говорите вы о детали, об узле, о сборке или подсистеме. С одной стороны, это очень удобно в неэволюционной архитектуре: сразу понятно, о каком уровне говорим! Но если у вас меняется организация и архитектура в ходе развития системы, отслеживание смены типов объектов каждого системного уровня при их объединении из частей или разделении на части превращается в головную боль, единообразие мышления об объектах каждого уровня нарушается.

Многоуровневость и (функциональной) организации, и (конструктивной/модульной) архитектуры, и (пространственной) компоновки, и (гибридной по многим другим разбиениям) полной стоимости владения в инженерии повсеместна. Например, в теории управления показывается теоретически, что надлежащее управление вы можете иметь только в том случае, когда речь идёт о многоуровневом управлении. В cтатье «Towards a Theory of Control Architecture: A quantitative framework for layered multi-rate control»87 основное внимание уделяется необходимости строгой теории многоуровневых архитектур управления (LCA) для сложных инженерных и естественных систем, таких как энергосистемы, сети связи, автономная робототехника, бактерии и сенсомоторное управление человеком. Термин «архитектура» тут по факту означает «концепция системы», ибо речь идёт и о многоуровневой организации, и о многоуровневой структуре модулей (датчики, эффекторы) различного размера и различных характеристик. Особенность многоуровневости в том, что на большом масштабе/размере физической системы вы будете иметь много силы и скорости, но малую точность, а на маленьком масштабе вы будете иметь малую силу и скорость, зато большую точность. Чтобы добиться большой силы, высокой скорости, большой точности, вам принципиально/теоретически нужна многоуровневая архитектура. И тут авторы замечают, что успехи существующих архитектур (прежде всего — функциональная организация) от бактерий до Интернета обусловлены поразительно универсальными механизмами и паттернами конструкции/design. Это во многом обусловлено эволюцией путём естественного отбора, а не разумным проектированием. И дальше авторы ставят цель: описать универсалии/инварианты архитектуры и наметить предварительные пути к полезной теории дизайна. Каждое вхождение слова «архитектура» тут означает «всё важное в его взаимосвязи, прежде всего решения по многоуровневому синтезу функциональной организации управления и дальше по многоуровневой нарезке на модули разного размера». Вам надо каждый раз разбираться, как люди используют слова: инженеры и менеджеры, а тем более гуманитарии могут использовать слова в самых разных значениях, обозначать ими объекты самого разного типа — и часто совсем не того, который вы привыкли обозначать этими словами, и не того, который мы используем тут для обозначения понятий мета-мета-модели наших руководств для инженеров-менеджеров. Каждый раз, когда встречаете такие слова в рабочих разговорах, настораживайтесь и требуйте разъяснений с заземлением: организация, архитектура, структура, концепция, методология, подход, процесс, протокол, процедура, практика, механизм, инструмент, технология, платформа, интерфейс, система, фреймворк, модуль, компонент, элемент, блок, фрагмент, сегмент, часть, единица, сущность, объект, уровень, слой.

Но вернёмся к вопросу многоуровневости, принципиально необходимой разномасштабности как в биологических, так и в технических/инженерных системах. То, что эволюция отбирает такие многоуровневые системы, как успешные, заметили не только авторы работ по синтезу систем управления. Термодинамическое рассмотрение эволюции ведёт к тому же: росту сложности систем путём объединения систем нижнего уровня в системы более высокого уровня — это поднимает устойчивость систем к воздействиям, снижает их свободную энергию. Молекулы объединяются в клетки, клетки объединяются в многоклеточные организмы, организмы — в популяции. То же самое происходит в технологии: микросхемы, экраны, камеры, корпуса объединяются в смартфоны, атомные реакторы и турбины — в атомные электростанции. На эту тему есть множество работ, например, «Physical foundations of biological complexity»88, «Modeling complex systems as interacting agents»89. В этой последней работе говорится как раз, что сложное понятие «система» моделируется через более простое в понимании понятие «агента», это ход на панпсихизм в версии минимального физикализма: «всё на свете живое, только в разной степени». Агент (даже если это молекула) воспринимается немного антропоморфно, что для каких-то людей может существенно облегчать понимание материала. С другой стороны, системы подразумевают рассмотрение их самых разных аспектов, а агенты — только части, упор на автономность и взаимодействие, поэтому агентский язык более «узкий», чем системный. В любом случае, всё это «синонимы с нюансами», обозначения многоуровневых «единиц эволюции».

Заведомая многоуровневость может быть ключом к бизнес-успеху. Так, для контроллеров робототехники у NVIDIA в 2024 году был не один чип и один «суперкомпьютер на маленькой плате», а целая линейка таких90. Скажем, Jetson Orin Nano series — «Up to 40 TOPS, 7-15W, 70mm x 45mm, Starting at 199 USD, Available now» как младшая модель, а вот модель побольше — Jetson AGX Orin series — «Up to 275 TOPS, 15-60W,100mm x 87mm, Starting at 899 USD, Available now». В промежутке между Nano и AGX есть ещё Jetson Orin NX series. Важно, что эти модели программируются одинаково, эту «одинаковость программирования» NVIDIA гарантирует для следующих поколений подобных моделей, а ещё эту же «одинаковость программирования» гарантирует для симуляторов Isaac (чтобы отлаживать управляющие алгоритмы не на физических роботах, а на виртуальных роботах). Рынок тут смотрит не на характеристики платы, а на итоговые характеристики команды, которая выбрала эту плату: вам надо научить людей в команде работать с этими контроллерами один раз, хотя у всех у них разные характеристики. Для контроллеров на многих уровнях управления у вас будет одинаковое программирования, если потребуется как-то поднять характеристики контроллера на каком-то из уровней управления, то это можно будет сделать без переписывания программы. Во многих и многих системах вам придётся делать сложную/многоуровневую систему управления, делать её разные уровни на зоопарке дешёвой аппаратуры и тем самым зоопарке дорогого в разработке софта — так себе идея. Поэтому NVIDIA имеет существенное конкурентное преимущество: вы сохраняете все вложения в разработку софта, когда переходите с одного «железа» NVIDIA на другое — как в плане размера в продуктовой линейке, так в плане новых моделей. Это безопасней в плане эволюционной разработки, меньше рисков промахнуться. Неудивительно поэтому, что огромное число робототехнических фирм используют более дорогие, но поддерживающие многоуровневость и развиваемость/evolvability контроллеры NVIDIA, а не более дешёвые более простые AI-контроллеры мелких фирм.

Важнейшее свойство учёта безмасштабности в развитии систем — это «не меняем ни строчки в математике, но занимаем разные экологические ниши на разных системных уровнях многоуровневых систем управления». Одна математика (формулы) на всех уровнях управления, с учётом специфики каждого уровня, но разная скорость её работы и разные характеристики скорости-точности на каждом уровне. NVIDIA целится в занятие всех возможных ниш, а не занятие одной ниши. Нельзя рассматривать одиночный одноуровневый продукт и разовый его выпуск, без последующего развития. Обязательно нужно какое-то многоуровневое рассмотрение, закрывающее диапазон шкал и характеристик и предусматривающее неизбежное последующее развитие/evolution.

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

Зачем эта универсальная многоуровневость нужна в инженерии? Кто видит эту многоуровневость мира — тот этим миром правит. Скажем, NVIDIA — это команда системных мыслителей, там вообще презентации и коммуникации велись через предъявление многоуровневости их систем91. Ведущая роль NVIDIA была долго малозаметна для публики, многие ещё путали NVIDIA с поставщиком видеокарт для компьютерных игр. А сейчас это лидер рынка аппаратуры для AI. Этот рыночный успех не случаен, ибо компания всё это время демонстрировала мышление системных инженеров, простирающееся на много уровней (логические цепи, схемотехника/«IP cores» частей чипов со многими логическими цепями, чипы со многими IP, платы со многими чипами, компьютерные рэки со многими платами, серверные стойки и компьютеры со многими рэками, поды датацентров со многими серверными стойками, датацентры и суперкомпьютеры «под ключ», много уровней софта для датацентров — и это только линейка продуктов для датацентров). Помним, что деньги приходят на более высокий системный уровень, а инновации (эволюционные novelties) приходят сбоку на низкие системные уровни. И эта эволюция происходит на каждом уровне.

Весь текст этого подраздела раскрывает системный подход в инженерии, причём это главным образом системный подход первого поколения:

  • рассказывается о чём-то многоуровневом, причём подчёркиваются универсалии каждого уровня и подход к описанию всех уровней вместе (безмасштабность описания каких-то единиц, например, компьютеров-контроллеров в системах управления — функциональные из теории и «железные» из продуктовой линейки NVIDIA)

  • не рассказывается о создателях, хотя это и не совсем так, например, явно оговариваются преимущества коммерческого предложения продуктовой линейки NVIDIA для организации работы команды: создатели освоят или один метод разработки для всех уровней/масштабов железа и софта NVIDIA — или им придётся осваивать зоопарк методов разработки для зоопарка разного железа и софта на разных уровнях/масштабах. Но в целом — всё как в биологии, создатели и графы создателей в тексте не поминаются.

  • не затронуты вопросы эволюционного масштаба времени (скажем, dynamic fitness landscape, «кто был королём, тот в новой ситуации станет никем, если не поменяется», но если меняется — королём останется, популяция какой-то системы как типа эволюционирующего объекта отслеживает перемещение пика адаптационного ландшафта92. Хотя мы косвенно это и затронули в примере с той же NVIDIA).

Прикладная инженерия как специализация системной инженерии

Системная инженерия — это нормативная («как надо делать», деонтическая модальность, описание лучших практик) версия методологии. Методология говорит о том, как думать о методе работы. Системная инженерия рассказывает в общем виде о лучших практиках/методах создания успешных систем, изменения мира к лучшему. А что с «не лучшими практиками», например, методами поэтапной инженерии («водопад»)? Ими пользоваться нерационально, поэтому надо следовать текущим методам работы эволюционной системной инженерии. И тут мало не перепутать, что уже не лучший метод работы, а что уже не «эксперименты с неясным и непроверенным результатом», а лучший метод. Ещё надо эти лучшие методы работы конкретизировать/специализировать по шкале охвата систем разной природы:

  • всем системам (безмасштабная системная инженерия, «инженерия вообще»),

  • системам какого-то одного сорта (авиационная инженерия, генная инженерия, добыча полезных ископаемых),

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

1. Отсутствие специализации: безмасштабная эволюционная системная инженерия

Наше руководство как раз наставляет системноинженерной работе в самом её общем виде. Оно приложимо к инженерному процессу для всех видов создаваемых систем и описывает разложение инженерного метода на составляющие, которые исполняются типовыми инженерными ролями (иногда говорят «ролями инженеров») в рамках типового разделения труда, да ещё и с учётом графа создателей — с учётом того, что в инженерном проекте по созданию и развитию какой-то системы будут участвовать и менеджеры, и продвиженцы, и много кто ещё.

Если вы хотите проложить трамвайный маршрут по городу, вашей команде придётся учитывать и общественное мнение, и особенности городского планирования и налаживания пассажиропотока, и особенности электротранспорта и его технической инфраструктуры, и особенности вагонного парка, включая отслеживание трендов по беспилотному транспорту (включая особенности беспилотности рельсового транспорта, который не может «уклониться» от внезапно появившегося сбоку препятствия). Команда будет адаптировать модель графа создателей, взяв его из руководства по методологии. Вот эта модель в самом общем виде (но помним, что надо работать с этой моделью в форме таблиц, а не диаграммы, и обязательно надо будет её адаптировать)93:

Даже такое общее представление о проекте изменения мира к лучшему позволяет точнее стратегировать (выбирать, над чем и как будет работать проект — в том числе с изменениями стратегии «на лету» в agile-проектах), планировать (включая динамическое планирование в case management), а также выполнять работы в многомасштабном коллективном инженерном проекте. Многомасштабность, а не безмасштабность вашего проекта — это признание того факта, что вам не удастся охватить своим проектом улучшение мира, описываемо одинаково на всех возможных масштабах, придётся ограничиться многими существенно различающимися в своих описаниях масштабами из всех эволюционных. Но не одним!

И даже из такого очень недетального рассмотрения можно найти много интересного. Скажем, команда развития создаёт и инженерную службу, и службу продвижения — но и службу IR (investor relations), которая занимается инвестурой — хотя вроде бы это прерогатива основателей фирмы. Как поделены работы и методы работы с инвестурой между основателями и командой, занимающейся инвестурой, которую создают организаторы, созданные основателями? В каждой фирме, конечно, этот вопрос будет решён по-разному.

Конечно, в современных инженерных проектах эта диаграмма отражает непрерывную/эволюционную работу над всеми её системами — и целевой системой, и инженерной командой, и так по всей диаграмме. Те, кто придерживаются идеи «водопада» (верят, что они заняты разработкой конечной версии системы — работают-то они не так, но верят в несбыточное), обнаруживают, что каждая система (и целевая, и инженерная команда, и клиентура, и команда продвижения, и даже команда основания фирмы) надолго застревают в состоянии воплощения на «80% сделано», и каждый день там будет что-то доделываться новое и что-то удаляться из уже не нужного, а ещё рекомендуемый норматив времени на работу с так называемым «техническим долгом»94 — 20%, так что в любой момент времени оказывается, что готово только 80%, а ещё 20% нужно «отдать должок», и так может происходить годами.

В жизни часто всё ещё менее однократно: представьте себе, что вы готовите круглосуточный шведский стол в курортном пансионате, причём не только подачу в этом стиле95, но вместе с работой кухни, «под ключ». Ни в один момент времени вы не можете сказать, что закончили работу: что-то подъели, и нужно приготовить дополнительную порцию, что-то, наоборот, испортилось несъеденное, и нужно убрать. А ещё нужно планировать сезонную смену меню, отвечать на жалобы тех, у кого болит живот (ни у кого не болит, а вот у этого одного заболел — и он сразу публично пожаловался на качество еды!) и кто нашёл жучка в тарелке (никто не нашёл, а вот этот один нашёл — и выложил фото в соцсетях!) и следить, чтобы не уносили слишком много еды с собой. Это явно не описывается движением кейса «шведский стол» к однократной приёмке-сдаче целевой системы. Закрытие кейса, прекращение работы — это будет как раз неуспех!

Трудно представить, но операционная система Windows — это примерно такой же проект, как «шведский стол», идёт эволюционная разработка. И к этой модели стремится огромное число других систем. Так, ракеты SpaceX планируется выпускать одну штуку каждые 72 часа, но это не штамповка одной и той же ракеты — нет, каждая ракета отличается новыми доработками. Автомобили Tesla каждый проходит уникальный путь на заводе, ибо непрерывно эволюционирует не только сам автомобиль, но и завод, выпускающий эти автомобили96.

Даже если вы делаете революцию в обществе, это тоже будет только «открыть двери изначально накрытого шведского стола», а потом этот кейс нельзя будет считать закрытым, закрыть после этого двери — это неуспех проекта, аварийная ситуация.

Можно, конечно, обсуждать по такой диаграмме (но лучше бы не диаграмме, а набору таблиц) какой-то конкретный релиз, какую-то конкретную версию системы, выпуск инкремента. Кто-то что-то захотел изменить в системе, это предложили, описали, спроектировали, воплотили в жизнь, ввели в эксплуатацию — но не факт, что и тут не было небольшой эволюции, множества вариантов этого «чего-то». То есть в случае шведского стола это «давайте заменим крем в эклерах, будет и вкуснее, и дешевле, и готовить его быстрее». Lead time тут будет от появления этой идеи до момента, когда первый клиент откусит эклер с новым кремом, только в этот момент «ввели новую фичу в эксплуатацию». Но назавтра начнут улучшать и переделывать этот вчера ещё «новый» рецепт крема, а ещё начнут улучшать рабочий процесс его приготовления. В современной эволюционной инженерии нет однократных разработок — это сейчас очень редкое исключение.

И это мы рассматриваем «инженерию вообще», системы самой разной природы, без какой-то специализации. Мы ещё много раз вернёмся к этой идее шведского стола как современной метафоре разработки. Знакомиться с системной инженерией на уровне кругозора, как в нашем руководстве, на уровне мета-мета-модели как раз и нужно для того, чтобы вы понимали одинаковость инженерии шведского стола, инженерии ракет, инженерии корпоративного софта, генной инженерии, инженерии сообществ. В каждом проекте нужно не только «всё сделать», но и много раз переделать, пополнить, проследить, чтобы не было просрочено, подавать по-разному разные части (как в шведском столе — что-то доохладить, что-то держать горячим), а ещё нужно сделать так, чтобы всем желающим хватило, чтобы не нужно было долго ждать, и затем ещё быстро убрать объедки, не забывая при этом про улучшение раскладки и найм персонала. Это и есть современная инженерия, нацеленная на непрерывный ввод в эксплуатацию, continuous delivery, а сейчас уже понятно, что это эволюционная системная инженерия:

2. Специализации инженерии для одного вида систем: прикладная инженерия.

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

Методы безмасштабной эволюционной системной инженерии при этом уточняются, дополняются, описываются уже не на самом абстрактном, фундаментальном уровне мета-мета-модели, а на прикладном уровне — уровне модели предметной области, метаУ-модели. Прикладная инженерия какой-то предметной области продолжает оставаться эволюционной, но нельзя уже сказать, что она «безмасштабная», ибо системы конкретных предметных областей (рубашки, филиалы крупного холдинга, мастерство, небоскрёбы, клиентуры) всё-таки имеют какие-то масштабы и конкретизированные методы будут привязаны к этим масштабам.

Так, классическая «железная» системная инженерия — это (прикладная) инженерия киберфизических систем, развивавшаяся главным образом на примере программно-аппаратных комплексов (компьютеры и операционные системы, «прикладной софт»/приложения тут обычно не рассматривают), аэрокосмических систем (гражданская и военная авиация и ракетная техника) и других транспортных систем (автомобили, поезда, военный транспорт). Или программная/software инженерия, занимающаяся информационными системами как компьютерными программами (без включения аппаратуры в программно-аппаратном комплексе, но с включением приложений). Или инженерия предприятия, часто понимаемая как менеджмент (с операционным менеджментом как аналогом эксплуатационной инженерии).

Все эти отдельные виды инженерии имеют свою специфику, свои регламенты/руководства/учебники/стандарты, но все следуют одному и тому же чуть более абстрактному образцу/нормативу инженерного процесса, взятому из безмасштабной эволюционной системной инженерии. Хотя исторически было ровно наоборот: это безмасштабная эволюционная системная инженерия была сформулирована главным образом на базе инженерии киберфизических систем, когда пришлось включать в эту инженерию людей, заниматься системноинженерным менеджментом и поэтому описывать инженерный процесс в его наиболее общем виде, на уровне абстракции мета-мета-модели. Но потом эти общие безмасштабные идеи из системной инженерии/systems engineering пошли в самые разные прикладные инженерии систем/engineering of systems.

Скажем, если взять инженерию личности, как прикладную инженерию мастерства (подробней будет в руководстве по инженерии личности), то можно представить себе модификацию диаграммы графа создателей97:

В этой схеме уже не абстрактное «воплощение системы», а конкретизированное «мастерство», не абстрактная «организация проекта», а «команда учителей», не просто «описание системы», а «описание мастерства». Если посмотреть на команду учителей, то тоже видно — поменялись названия ролей из общих на роли, специфичные для проекта создания мастерства. В ходе адаптации для прикладной инженерии также убрали агентуру, хотя в каких-то проектах привлечения клиентуры в учебных проектах она и может быть. Тут убрали агентуру главным образом для того, чтобы показать, что исходная диаграмма графа создателей — не догма, её вполне можно менять в ходе конкретизации абстрактных фундаментальных описаний в какие-то прикладные, учитывающие предметную область инженерного проекта.

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

Для такого сорта систем как мастерство, даже если принять «инженерный подход к делу», а не «педагогический» или какой-нибудь менее определённый «культурных изменений» или чего-то более размытого в плане указания на цели и способы работы, есть много особенностей. Чтобы научиться прикладной инженерии, нужно освоить не просто общее мышление инженера, но методы обучения, которые даже называться будут традиционно «обучение», а не «инженерия». Обучение, в свою очередь, как метод создания и развития мастерства, будет разложено на множество разных составляющих методов. Это метод культуртрегерства как создания концепции использования мастерства в его «личностном окружении» (начало разработки — старт проекта, роль культуртрегера тут чаще всего будет выполняться человеком на должности product-manager, не путаем роли и должности), методы методологии и методики как разработки проекта мастерства и проекта его создания (это будет называться «материалы учебного курса»), методы преподавания как одни из составляющих методов работы деканата (в инженерии это работа инженеров внутренней платформы разработки и самой внутренней платформы разработки — изготовление и проверка частей, сборка из частей и проверка целого, введение в эксплуатацию — вынос в жизнь, в нашем случае это всё будет про мастерство), методы мастерского выполнения деятельности как эксплуатация мастерства. И это не разовое прохождение жизненного цикла: в современной инженерии личности как эволюционной инженерии нужно ещё и обновлять мастерство в уже выученных агентах-мастерах, как сейчас обновляют прошивки телефонов в давно изготовленных телефонах. Называться это, конечно, будет «обучение», но все рассуждения про современное обучение надо проводить так же, как про инженерию — современное обучение будет эволюционным/непрерывным (но масштабным, масштабы личности и мастерства).

Эта адаптация методов системной инженерии для самых разных её приложений к целевым системам самой разной природы, самых разных видов, происходит для всех масштабов систем самой разной природы. Концепция использования, инженерные обоснования (все с разными названиями, конечно) будут нужны и для театральной постановки, и для ледокола, и даже для парламента. Их необходимость обсуждается в системной инженерии, но в своих предметных областях они все называться будут по-разному, и разрабатываться по-разному, разными методами. Про методы их разработки будет говориться в прикладных «инженерных» курсах/руководствах/регламентах/стандартах. Слово «инженерный» тут в кавычках, чтобы напомнить: не все эти инженеры будут соглашаться на то, что они будут называться именно «инженерами». Но мы в нашем руководстве по системной инженерии будем их называть именно так, ибо они как раз будут те, кто меняет мир к лучшему, кто создаёт и развивает успешные системы.

По каждой такой конкретизации/адаптации, в каждом приложении системной инженерии к какому-то виду целевых систем нужно владеть прикладным методом инженерии, часто называемой «инженерия таких-то систем» в случае уровней косного вещества и киберфизических систем (например, инженерия систем управления, control systems engineering, и помним, что systems engineering отличается от engineering of systems98) и уж совсем по-разному в случае более высоких системных уровней. Например, обучение мастерству (включая проектирование этого мастерства и проектирование метода его создания) является именно конкретизацией/адаптацией системной инженерии.

3. Уровень специализации инженерии конкретной системы

Даже при том, что безмасштабная и непрерывная системная инженерия конкретизируется для какой-то прикладной инженерии систем определённого масштаба и вида (авиация, образование, медицина, фермерство, госполитика), для каждого конкретного проекта будет ещё одно уточнение для того конкретного типа системы, который будет создаваться и затем развиваться в единичном экземпляре или выпускаться серийно (включая особенности разных провайдеров сервиса) — уточнение для конкретного типа системы, моделирование на уровне метаС-модели, модели конкретной ситуации. Так, легко представить себе, что конкретизации инженерии мастерства для мастерства системного фитнеса, мастерства игры на фортепиано, мастерства решать дифференциальные уравнения при помощи программ компьютерной алгебры и численных методов, общего мастерства безмасштабной эволюционной системной инженерии (наше кругозорное руководство как раз про это) будут совсем разными для конкретных учебных проектов. И надо ещё будет уточнить, что слово «учебный» тоже не всегда присутствует, ибо стажировка обычно рассматривается как рабочий проект, а не учебный — при этом учебный характер стажировки не отрицается, но термин «обучение» не используется. Мы в наших руководствах тоже предпочитаем термин «освоение работы» вместо термина «обучение».

Скажем, игра на фортепиано — это метод, задействующий мышцы. По факту эта игра может быть надстроена над мастерством системного фитнеса, но не только — в это мастерство входит как минимум ритмика, которой нет в системном фитнесе и можно ещё обсуждать промежуточный метод музицирования, который неразличим для вокала, игры на фортепиано и игры на скрипке, и учёт всех этих особенностей даст совсем разные методы игры на фортепиано, которые по-разному могут преподаваться в музыкальных школах, но неизбежно при их практиковании в течение долгого времени приведут к более-менее похожим результатам (игра на любительском уровне станет профессиональной). Помним про неустроенности и эволюцию: есть множество выживающих почти одинаковых вариантов оптимизаций для межуровневых конфликтов (и это разнообразие для эволюции важно), а резкие улучшения довольно редки. Это означает, что есть множество самых разных вариантов «инженерии музыки на инструментальной базе фортепиано», они дают все примерно одни и те же результаты, плохие варианты рыночно вымрут, а улучшения будут, но крайне редки. Скажем, улучшение типа игры на клавишном синтезаторе, или магнитофон, а затем и плеер, который позволяет не играть пьесу каждый раз, а просто воспроизводить записанное, но затем музыкальные сервисы искусственного интеллекта, которые могут уже не воспроизводить пьесу, а сочинять её и воспроизводить вообще без фортепиано и людей. И ещё роботы, которые будут проигрывать пьесу на старинном фортепиано, но там не будет человеческой мышечной работы, а ещё есть моторизированные фортепиано, которые сами-себе-роботы. Эволюция методов происходит постоянно, а с ней и эволюция инструментария для этих методов. Соответственно, меняется и прикладная инженерия.

Если какая-то команда занялась инженерией какого-то вида систем, то она будет развивать этот вид систем, подстраивая варианты целевой системы под изменения окружения и используя всё новые появляющиеся альтернативы по концепции системы как способы реализации функций какими-то интересными новыми конструктивными элементами. А ещё команда будет развивать себя, будет менять методы инженерии (и свой состав: часто новые методы — это и новые люди, новый инструментарий), равно как и методы/функции работы своей целевой системы.

На этом уровне специализации инженерии конкретной системы можно использовать или граф создателей, отмоделированный для уровня метаУ-модели (предметная область какой-то инженерии «как в учебнике») с предыдущего уровня, или всё-таки конкретизировать метаУ-модель для создания конкретного вида развиваемой в проекте системы: киберфизической системы (авиалайнера или игрушечного самолёта), или предприятия (стартапа на пять человек или большого агропромышленного холдинга), мастерства (игры на фортепиано или операционного менеджмента, и ещё тут разница — на уровне хобби/кругозора, или на профессиональном уровне). Все эти уточнения потребуют адаптации графа создателей, детальности моделирования проекта, а ещё будут самые разные варианты разложения инженерного процесса для систем разной природы, всё это обсуждали в руководстве по методологии.

Количество уровней конкретизации системной инженерии как фундаментальной дисциплины до какой-то прикладной уникальной версии инженерного процесса (инженерного метода, способа разработки — помним, что тут множество имён) может быть и больше, чем наши примерные уровень мета-мета-модели (настоящее руководство как раз этого уровня), уровень метаУ-модели (например, конкретизация до предметной области системного менеджмента, руководство по системному менеджменту как раз такое), уровень метаС-модели (конкретизация для конкретного проекта конкретного предприятия, набор регламентов конкретного предприятия и культура прикладной инженерии в головах конкретных сотрудников этого предприятия определяют его прикладную инженерию, например, как конкретно происходит создание и выпуск электромобилей на заводах именно Tesla, но не «вообще в автомобильной промышленности мира»).

Если вы будете создавать «службу найма сотрудников», то её создание будет описываться ситуационной метаС-моделью (уровня стандарта предприятия), например, описанной в регламенте «Ведение организационных изменений», а для этой метаС-модели ведения организационных изменений ещё будет модель конкретной проектной ситуации с учётом экземпляров (операционным учётом проекта организационных изменений — какой-нибудь issue tracker, который учитывает состояние альф проекта организационных изменений, в данном случае организации службы найма сотрудников — то ли из вновь набранных людей, то ли это будет сдвиг части работы службы HR на какую-то AI-систему и служба будет «виртуальной», то ли это сдвиг найма на аутстаффинговую компанию и служба будет внешней, то ли это выделение части сотрудников из числа уже занимающихся HR в обособленное подразделение). На втором уровне конкретизации (культурная метаУ-модель, «как в учебниках», а не «как в регламентах») это будет предметная область «организационные изменения», методы там прописываются в учебниках менеджмента — причём часть методов по собственно организационным изменениям будет прописана в части по организационным изменениям, но будут и приёмы работы по организации именно найма сотрудников, это можно будет найти в части учебников менеджмента, описывающих методы HR в части найма сотрудников, а не в части, общей для организационных изменений. Это общий принцип: искать методы обычно надо в разных местах — ибо граф создателей включает много разных работ.

Скажем, вам надо выпускать тонкие стеклянные трубочки. Для этого вы читаете учебник по стеклянным трубочкам, там будут описаны не только сами трубочки (целевая система), но и как их делать (то есть описано создание этих трубочек, инженерный процесс, по факту описаны методы работы создателя стеклянных трубочек), причём аспекты работы создателя, связанные со стеклянными трубочками — какие станки, какие квалификации ожидаются у мастеров, какие рабочие операции они должны делать, но вряд ли там будут общие сведения о том, как организовывать людей, сведения об операционном менеджменте для производства стеклянных трубочек. А вот когда вы захотите реально организовать выпуск, то вам надо будет читать ещё учебник «как организовывать», ибо про создание создателей будет говориться там — менеджеры должны будут знать, как организовать производство (вообще производство, то есть как собрать и обучить каких-то людей, купить станки, наладить доставку сырья, и т.д.). Но общих знаний «как организовывать» тоже не хватит, надо пользоваться и знаниями из учебника по производству стеклянных трубочек. В учебнике по изготовлению стеклянных трубочек, может, и не скажут, откуда брать мастеров (где брать работников — это не специфическое знание прикладной инженерии), но уж точно расскажут, чему надо этих мастеров дообучить, чтобы ваши трубочки были качественные. А ещё что, кроме учебников? Обязательно посмотрите материалы компании-поставщика станка для производства стеклянных трубочек: наверняка там вы сможете найти не только про стеклянные трубочки и их станок, но и советы по организации труда на их станках.

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

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

В классической системной инженерии как инженерии сложных киберфизических систем обычно вынуждены описывать менеджмент проектов создания самолётов и подводных лодок как «системноинженерный менеджмент». Если понимать, что речь идёт об инженерии организации, которая будет заниматься созданием киберфизической системы, то это просто описание двух инженерных проектов в графе создателей: создание киберфизической системы (самолёта или подводной лодки — концепция использования и программа испытаний, архитектурные решения, и т.д.) и создания организации проекта (стратегия как концепция использования, то есть что будет делать организация, какие изменения к лучшему приносить в окружающий мир какими методами, архитектура организации/команды/коллектива/предприятия/«производственной кооперации» проекта, решения по концепции системы — какие оргзвенья будут какие рабочие процессы выполнять, и т.д.). Эти проекты существенно связаны. Детский сад устроен не так, как завод ракет. В частности, инженерия целевой системы и инженерия организации связаны через закон Конвея/Conway и обратный манёвр Конвея, подробности будут и в нашем руководстве по системной инженерии, и в руководстве по системному менеджменту.

А чему учить тогда системных инженеров, например, классических киберфизических систем? Учить тоже методам работы, взятым на разных уровнях абстракции:

  • общей безмасштабной и непрерывной системной инженерии, это и есть предмет нашего руководства.

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

  • затем конкретизации этой инженерии для самолётов (конкретная предметная область, и это будет весьма разная инженерия для одномоторного одноместного самолёта и авиалайнера на три сотни пассажиров — domain), и доводить это обучение до узкого метода, который используется в конкретном проекте (и тут говорят про ограниченную предметную область, предметы метода рассматриваются как bounded domain из DDD99, и это сейчас мейнстрим, про domain-driven-design мы будем говорить подробней).

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

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

Эти события происходили, происходят и будут происходить, от них нельзя спрятаться, это эволюция. Скажем, когда самолёты вдруг будут заменяться или электросамолётами для ближних рейсов, или многоразовыми ракетами для дальних рейсов, причём это будут автопилотируемые электросамолёты и ракеты: основное знание «как создать киберфизическую систему» останется, но придётся поменять представления о том, что там нужно будет делать конкретно для изменившегося вида систем. А когда пойдут организационные изменения (а они обязательно будут!), то у инженера-авиастроителя будет понимание происходящего, хотя бы в общих чертах.

Задания

Поставьте отметку о выполнении дел.

  1. В нашем руководстве были отсылки к материалам руководств-пререквизитов: по рациональной работе, системному мышлению, методологии. Места, на которые были отсылки, вы нашли, и не только перечитали там учебный материал, но и посмотрели сами научные работы групп Ванчурина-Кацнельсона-Вольфа-Кунина, Дэвида Дойча, Филдса-Глазебрука-Левина, Джона Дойля, на которые там давались ссылки (все разъяснения по теме эволюции и конфликтов системных уровней даны не в текстах наших руководств, а в первоисточниках! Привыкайте читать первоисточники!). А после этого написали пост с вашим пониманием того, как вы участвуете в техно-эволюции.

  2. Написан и опубликован пост с вашими мыслями о том, каким образом ваш рабочий проект является многомасштабным (системы каких уровней он затрагивает, включая проекты разных создателей в их графе) и эволюционным/непрерывным (как долго вы уже развиваете, и как долго ещё собираетесь развивать вашу целевую систему и что при этом в ней меняется в ходе проекта, насколько ваш проект следует культуре непрерывного ввода в эксплуатацию, continuous delivery).

2

https://ru.wikipedia.org/wiki/Теория_субъективной_ожидаемой_полезности и https://ru.wikipedia.org/wiki/Теория_ожидаемой_полезности, https://ru.wikipedia.org/wiki/Ординалистская_теория_полезности, https://ru.wikipedia.org/wiki/Кардиналистская_теория_полезности, https://ru.wikipedia.org/wiki/Предельная_полезность. Вполне могут переводить сегодня и «ценность», при этом понимание на русском будет хуже. Вот сравните: «добавленная ценность» и «добавленная полезность» — первое непонятно как понимать, а второе — вполне понятно. В английском бывает https://dictionary.apa.org/subjective-expected-value, но запросто будет и https://en.wikipedia.org/wiki/Subjective_expected_utility. В принципе, нюансы использования value — «общее ощущение», а utility — «структурированная оценка в моделях и теориях».

3

Smart mutation — не случайные, а алгоритмически наиболее вероятно ведущих к лучшему, из https://arxiv.org/abs/1709.00268 или https://arxiv.org/abs/2206.08896

5

https://ailev.livejournal.com/1106188.html, это текст ещё 2014 года. События 2022 года показали, что в этом мире «непрерывной разработки» отключить миллионы людей от пользования самыми разными системами стало не просто легко, а очень легко.

20

https://arxiv.org/abs/2410.02543, но ещё в 2021 году была предложена работа https://www.pnas.org/doi/full/10.1073/pnas.2120042119, в которой давалась таблица соответствия понятий термодинамики, биологической эволюции и машинного обучения. Число подобных работ растёт.

55

https://en.wikipedia.org/wiki/Geometrical_frustration, обязательно смотрите там фильм про неустаканенность магнетизма в твёрдых телах

66

https://en.wikipedia.org/wiki/Geometrical_frustration, там обязательно смотрите видео Frustrated magnetism in solids, ибо нужно понимать динамику происходящего, она лучше даётся в видео.

72

первый абзац в https://ailev.livejournal.com/1621262.html

77

Математика по физике агентов в сочетании с active inference можно найти в https://chrisfieldsresearch.com/, а работы по active inference — в https://www.activeinference.org/

89

https://youtu.be/XvVa-mByxMs?t=1240, больше информации в «Minimal physicalism as a scale-free substrate for cognition and consciousness», 2021, https://chrisfieldsresearch.com/min-phys-NC-2021.pdf

91

https://ailev.livejournal.com/1416697.html

93

Картинка в высоком разрешении— https://ic.pics.livejournal.com/ailev/696279/212554/212554_original.png

97

Картинка в высоком разрешении: https://ic.pics.livejournal.com/ailev/696279/285342/285342_original.png

98

If there is an issue between SE and EoS, it may be semantic, rather than grammatical. Classically, the first word moderates the second: so, in SE, 'systems' appears to moderate (describe the type or flavour of) engineering; and in EoS, 'engineering' appears to moderate (describe the type and flavour of) systems. — из prof. Dereck Hitchins, «SYSTEMS ENGINEERING VS. ENGINEERING OF SYSTEMS - SEMANTICS?», https://systems.hitchins.net/profs-blog/systems-engineering-vs.html