В ходе переписки раздела “7. Системные уровни” курса “Системное мышление” всплыл вопрос об онтике ролей: что такое подроль по отношению к роли? Врач – это подроль гастроэнтеролога, или гастоэнтеролог подроль врача? Удивительно, но в быту – гастроэнтеролог это подроль врача по линии отношения род-вид, а в системном мышлении роль это функциональный объект, и в функциональной декомпозиции – гастроэнтеролог это надроль врача, ибо гастроэнтеролог делает всё, что врач (практика, которой учат медиков – “врачебное дело”, вузовский предмет, нюансов не касаемся), но ещё вдобавок имеет знания по лечению болезней органов пищеварения! И если мы рассматриваем производственную задачу обучения мастерству практики по какой-то роли, то надо “научить врача лечить вообще”, а потом добавить мастерства на каждую врачебную специальность, “повысить квалификацию врача в какой-то медицинской практике”. Очень, очень контринтуитивно, и по этой линии делается множество ошибок. Скажем – танцор подроль артиста, или артист – подроль танцора? Если отношение род-вид, то танцор – подроль (вид в роде) артиста, а если отношение композиции, то артист – это что вообще между собой имеют общего танцоры, вокалисты, жонглёры и прочие “артисты рода артиста”, подсистема выполнения художественного перформанса, но дальше надо добавить ещё подсистему, которая умеет танцевать – и тем самым “танцор” получается больше “артиста”. Это довольно контринтуитивное рассуждение, но если обращать внимание на тип отношения – то разобраться легко. Если не обращать внимания на тип отношения, то всё легко при описаниях (интуитивно используется бытовое “род-вид”, специализация, иногда даже классификация), но когда начинаешь проектировать что-то с ролями – тут же упираешься в какие-то непонятки, ибо всё вдруг переворачивается с ног на голову! Рецептов тут никаких нет, в каждом проекте будет своё моделирование, и ход один: обращать внимание студентов на тип отношения, когда кто-то говорит о ролях, подролях и надролях. Иерархия по какому отношению?!
Я вписал разъяснения в раздел “7. Системные уровни”, ибо это ж про отношение композиции, системные уровни ролей (они же ролевые/функциональные объекты, там композиция!), но кроме этого раздела ещё в разделе “5. Функции/практики/деятельности/культуры/методы работы и роли” добавил в текущей (опубликована сегодня) версии про это большой кусок в подраздел “От целевой системы через практику к роли создателя, но не наоборот”. Вот полный текст изменённого подраздела в поправленной версии (текущая версия находится в Aisystant (курс для зарегистрированных откроется на том месте, где вы его открывали в прошлый раз, а для незарегистрированных – бесплатно после регистрации на https://aisystant.system-school.ru):
У всяких простых систем, например, представленных конструктивом «молоток», крайне низкая вменяемость::«характеристика интеллекта» (подробней об этом будет в курсе «Интеллект-стек»). У агентов-людей и AI интеллект посильней/универсальней и вменяемость много выше (их не нужно «аппаратно» пересобирать в части изменения конструктива, их можно научить какому-то поведению, дав объяснения — «перепрошить на новый алгоритм», а не «переделать по-новому»). А ещё такие агенты могут использовать разные аффордансы для включения в свой состав как системы, такие аффордансы в составе системы-создателя называют инструментами/tools (в случае измерительных инструментов — instruments).
Напомним, что у «агента» два значения:
- Широкое — что угодно автономное, которое находится в неравновесном устойчивом состоянии (от атома и молекулы до кошки, от кошки до городской агломерации с парой миллионов жителей и многочисленных зданий и сооружений, набитых домашней утварью и промышленным оборудованием).
- Узкое — это агент в широком значении, но только такой, который способен к планированию действий, приводящих к резкому ухудшению своего состояния для того, чтобы затем улучшить своё состояние (скажем, потратить все ресурсы на плановое создание лука и стрел, чтобы потом успешней охотиться). Обычно этим словом «агент» называют людей и/или технические системы с достаточно сильным искусственным интеллектом (AI-агенты). И тут постоянные споры о том, достаточен ли интеллект AI-систем, чтобы называть их агентами в узком смысле, или они агенты только в широком смысле.
Дальше мы будем говорить главным образом об агентах в узком смысле: людях и AI. А поскольку речь сейчас пойдёт главным образом о терминологии, а не понятиях, то «сила интеллекта» тут будет даже не так важна. Вы сами поймёте, проще говорить о функции забивания гвоздей для молотка или культуре забивания гвоздей молотком. Скорее всего, в первом случае ролью будет молоток, а вот во втором случае ролью будет какой-то агент, в состав которого входит молоток. Но и для агента мы можем сказать, что его роль — забивание гвоздей (молотком ли, микроскопом или электрическим нейлером, это уж на его усмотрение). Как узнать, что говорить, как узнать, как понимать говоримое? Из языкового чутья. Просто помним, что «функция» для «агентов» чаще всего звучит как практика/деятельность/«метод/способ работы»/«вид труда/инженерии» и т.д. Но мышление про роль и конструктив — те же! Роль и её функция — «зачем этот агент нужен как система», конструктив — «какая система-агент как материал/конструктив взята аффордансом на роль».
Нужно всегда уточнять, какой именно «метод/способ работы» выбран для выполнения своей роли агентом с сильным интеллектом: в силу универсальности агента могут быть неожиданности. Когда мы говорим «неожиданности» — это означает обычно «неприятный сюрприз», расхождение с ожиданиями. Скажем, неопытный работник в роли плотника будет практику «скрепление досок» выполнять без различения шурупов, гвоздей, клея — в том числе, например, забивая шуруп молотком (и в первые секунды после выполнения этой работы даже будет казаться, что доски скреплены шурупом надёжно!). При этом микроскоп в качестве аффорданса для «гвоздезабивальщика» использовать вряд ли кто будет, а вот людей и AI — запросто, даже если они не умеют выполнять какую-то практику. Пациент/больной::роль на приёме у врача::роль:
— Здравствуйте, доктор::роль, у меня болит живот.
— А что вы вчера ели?
— Голубя ел.
— А вы голого голубя ели?
— Да, поймал, ощипал и голого голубя ел.
— А вы голову голубя ели?
— Да, голову голубя ел.
— А вы голую голову голубя ели?
— Ну, голую голову голубя ел. А в чём, собственно, дело?
— Хм—м—м… Честно говоря, я логопед::роль, но чем смог — помог!
Разобраться в ролях невозможно, если не рассматривать их функции::поведение. И повторим: поведение по способу добиваться изменений в окружающей среде для разных агентов будет называться очень по-разному: функции, практики, методы, способы, виды труда и т.д.
Если «тот, кого называют врач/доктор» (то есть агент, который взят как конструктив для выполнения функции/практики) имеет мастерство в логопедии::практика, а не гастроэнтерологии::практика, то результат ситуации будет примерно такой, как в анекдоте. Не забываем проставлять типы, при этом роли определяются функцией (например, исполняемой агентом практикой), а не конструктивом/материалом (например, агентом)! Без практик в ролях не разобраться!
Дополнительный источник путаницы с ролями — это моделирование подролей двумя вариантами иерархиями отношений:
• По отношению композиции для роли. Скажем, логопед — это надроль для врача (ибо логопед выполняет в том числе и практику врача, такую же, как у любого врача, «все они изучали в вузе предмет «врачебное дело»», но вдобавок у логопеда есть практика налаживать речь, то есть общий состав/набор практик/функций логопеда больше, чем практик врача, врач тут — подроль для логопеда. Это дальше удобно распространяется на мастерство агента: мастерство логопеда состоит из мастерства налаживать речь и общего мастерства врача, так что врач — подмастерство. В мастерстве те же отношения композиции, логопеда учить дольше, чем врача, врач тут будет подмастерством.
• По отношению род-вид. Если брать «называемого врачом» (то есть описываемого классификацией «врач»), то логопед представляется как «специализация врача». В этом представлении о мастерстве особо речь не идёт, врачи все имеют какие-то специализации, и логопед — просто часть врачей, у которых специализация по налаживанию речи. Тогда подроль — это вид, врач — это род, а по отношению специлизации логопед — подроль врача.
Мы рекомендуем опираться на линию рассуждений, связанную с практикой/функцией ролевого объекта (роли), мастерством выполнения этой функции конструктивным объектом (агентом, например, человеком) — и поэтому «подроль» считать узлом иерархии по отношению состава/композиции/«часть-целое» для мастерства. Это удобно для инженерии (например, планирования обучения).
В быту часто вы будете встречать и классификационные описания, в которых термин «под-» указывает на специализацию. Есть ещё один термин, который так же многозначен, это «мета-», у него множество самых разных значений по части каких-то уровней . Мы его используем, говоря о мета-моделировании в значении «более высокий уровень объектов в иерархии по отношению классификации».
Для отношения композиции мы используем «под-» как в «подсистеме», а «над-» как надсистема. В частности, подроль — это буквально будет «подсистема», а «надроль» — надсистема (системы обычно определяются по их ролям в надсистеме, подсистемы — по их ролям в системе, а роли — по функциям::поведение). Иметь ли отдельный вид приставок для специализаций? Можно использовать «вид» для указания вида для рода, например «логопед вид врача, не путайте с гастроэнтерологом», «сальсеро вид танцора, другой вид — тангеро, не путайте», но классификационные схемы более-менее произвольны в части выделения именно важных объектов (но хороши для выделения самых разных, необязательно важных объектов ) и мы редко их будем использовать.
Но в жизни они используются часто, в быту для них тоже используется модификаторы «под-» и «над-», что может вызывать путаницу. Как разобраться? Только по контексту: встретив «под-» и «над-», задавайтесь вопросом про то, какой тип отношений они обозначают? Какое там мастерство будет для выполнения практики — оно больше или меньше? Ещё один критерий: когда говорят о специализациях, чаще всего имеют в виду выбор взаимоисключающей роли — скажем, логопед и гастроэнтеролог. В композиции/сборке по определению роли складываются, функции добавляются: функции гастроэнтеролога::роль и/или логопеда::роль складываются с функцией врача::роль. И у агента мастерство логопеда и/или гастроэнтеролога обязательно добавляется к мастерству врача (врач — это освоивший учебный предмет «врачебное дело»).
Если это иерархия специализации по отношению «род-вид», то ничего складывать не надо, надо только описывать — и можно обсуждать «выбор»: логопед::вид или гастроэнтеролог::вид для врача::род. В любом случае, обращайте внимание, когда работаете с подролями и надролями — имеется ли в виду система (и там будет отношение состава, всё физично) или вид систем (и там будут какие-то описания специализации, чаще всего показывающие контраст). «Тигр» и «мышь» не входят в состав «зверя», они просто «виды зверя»!
У Крылова в басне «Беда, коль пироги начнёт печи сапожник, а сапоги тачать пирожник» типичная метонимия. Давайте поставим типы, чтобы уточнить говоримое: «печение пирогов»::практика «пирожника»::роль, «тачание сапог»::практика «сапожника»::роль. Но у Крылова сапожник::«агент, имеющий мастерство сапожника», то есть сапожник не роль, а конструктив/материал для роли «пирожник», по недоразумению задействованный как аффорданс для «пирожника»::роль. То есть «сапожник» — не роль! То же с пирожником, который у Крылова не роль, а конструктив/материал для роли сапожника.
В реальных рабочих проектах будет ровно та же путаница между ролями и конструктивами: конструктив, который будет удачным аффордансом для одной роли, вполне может быть назначен на выполнение другой роли. А если разговор будет в терминологии путать роли и конструктивы (это, пожалуй, неизбежно!), то возникнут проблемы. Хорошим ходом тут будет переходить с языка ролей на язык функций (ну, или в случае людей и AI — язык практик/культуры/стиля/способа работы и т.д.). Впрочем, Крылов так и делает: он путает роли и конструктивы, но явно говорит о практиках «печения пирогов» и «тачания сапог», указывая предмет практики роли (объект, меняющий состояние в ходе выполнения практики: пироги, сапоги) и название действий по изменению предмета практики (печение, тачание). А кто производит эти действия с предметами? Роль, воплощённая конструктивом/материалом.
Функция/практика/деятельность — это поведение воплощённой (когда она воплощена/реализована каким-то конструктивом/материалом системы, то есть во время использования/эксплуатации уже созданной в физическом мире системы) как паттерн изменения состояния каких-то объектов окружения. Для систем-создателей в их окружении мы находим целевые системы их практик. Логопедия изменяет состояние речевого мастерства, гастроэнтерология изменяет состояние желудочно-кишечного тракта, врачевание изменяет состояние организма. Ну, или логопедия::практика изменяет состояние «речевого мастерства»::«целевая система», «гастроэнтерология»::практика изменяет состояние «желодочно-кишечного тракта»::«целевая система», врачевание::практика изменяет состояние организма::«целевая система». Это всё понятно и без понятия «роли, выполняющей практику». Эта роль нужна будет только тогда, когда вы озаботитесь агентом-конструктивом/материалом, который будет воплощать роль. Но если вы начнёте с агента в тот момент, когда неизвестна практика и её целевые объекты и действия, то вы автоматом окажетесь в ситуации логопеда с головной болью или пирожника с сапогами: вы уже выбрали агента, а что будет делать агент — вам неизвестно. Скорее всего, мастерство агента будет не то, которое нужно для выполнения практики, когда практика станет известна!
Поэтому в случае с бытовыми услугами нужно сначала разобраться, нужно тачание сапог или печение пирогов, а в случае врачей — нужно настраивать речь или устранять боли в желудке. Нужно проходить по линии рассуждений «целевая система — практика её изменения — роль создателя — конструктив/материал создателя как аффорданс (например, агент с мастерством исполнения практики)», но не наоборот!
Узнаём роль по её методу/практике, а не практику по роли! Если кроме названия роли непонятно, что же именно она делает (то есть какие объекты каким методом переводит в какие состояния) — уточняйте! Роль без метода/практики — ничто! Практика/метод/культура/стиль определяется по объектам, которые меняют своё состояние и действиям, которые выполняются с этими объектами для изменения их состояний!
Если мы рассматриваем не воплощаемые «умными агентами» системы-создатели и их практики создания как изменения целевых систем, а более простой случай целевой системы, изменяющей системы в своём окружении в ходе её эксплуатации, то суть рассуждения та же: всегда от целевой системы как роли и её функции в окружении к подбору аффордансов/«подходяшек для роли» из каких-то конструктивов/материалов. И никогда не наоборот! Если вы не знаете, что делает ваша система в момент эксплуатации/использования, то вы не будете знать, из чего и как её делать в момент создания.
Конечно, эти рассуждения про целевую систему и про системы создания целевой системы можно вытянуть в цепочку:
• сначала пойми роль и функцию целевой системы в окружении, «что она делает» (время эксплуатации/использования/функционирования целевой системы)
• потом пойми конструктив/материал, который будет аффордансом для воплощения роли
• потом пойми практики изготовления конструктива/материала (практики изменения состояния конструктива системы из сырья в состояние готовой и работающей целевой системы)
• потом пойми, какие роли систем-создателей будут выполнять эти практики
• потом пойми, какие агенты как конструктив/материалы для ролей-создателей — люди, подразделения) будут выполнять эти практики создания целевых систем.
И никогда наборот, ибо если не знаешь, что надо получить в итоге, то есть не знаешь, что и как должна делать система с её окружением, то не знаешь, какие материалы надо взять для изготовления системы и как их обрабатывать, а не знаешь, какие материалы брать и обрабатывать — не знаешь, кто с нужным мастерством и инструментами сможет взять эти материалы и обработать их так, чтобы получить успешную работающую целевую систему.