От целевой системы через метод работы к роли создателя, но не наоборот

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

Напомним, что у «агента» два значения:

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

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

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

--- Здравствуйте, доктор::роль, у меня болит живот.

--- А что вы вчера ели?

--- Голубя ел.

--- А вы голого голубя ели?

--- Да, поймал, ощипал и голого голубя ел.

--- А вы голову голубя ели?

--- Да, голову голубя ел.

--- А вы голую голову голубя ели?

--- Ну, голую голову голубя ел. А в чём, собственно, дело?

--- Хм---м---м... Честно говоря, я логопед::роль, но чем смог --- помог!

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

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

Дополнительный источник путаницы с ролями --- это моделирование подролей двумя вариантами иерархиями отношений, закодированных приставкой «под-»:

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

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

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

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

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

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

У Крылова в басне «Беда, коль пироги начнёт печи сапожник, а сапоги тачать пирожник» типичная метонимия. Давайте поставим типы, чтобы уточнить говоримое: «печение пирогов»::метод «пирожника»::роль, «тачание сапог»::метод «сапожника»::роль. Но у Крылова сапожник::«агент, имеющий мастерство сапожника», то есть сапожник не роль, а конструктив/материал для роли «пирожник», по недоразумению задействованный как аффорданс для «пирожника»::роль. То есть «сапожник» --- не роль! То же с пирожником, который у Крылова не роль, а конструктив/материал для роли сапожника.

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

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

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

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

Узнаём роль по её методу, а не метод по роли! Если кроме названия роли непонятно, что же именно она делает (то есть какие объекты каким методом переводит в какие состояния) --- уточняйте! Роль без метода/практики --- ничто!Метод/культура/стиль/стратегия/деятельность определяется по объектам, которые меняют своё состояние и действиям, которые выполняются с этими объектами для изменения их состояний!

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

Конечно, эти рассуждения про целевую систему и про системы создания целевой системы можно вытянуть в цепочку:

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

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

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


  1. https://ailev.livejournal.com/1053878.html ↩︎

  2. https://ru.wikipedia.org/wiki/Классификация_животных_(Борхес) ↩︎