bannerbanner
Методология 2025
Методология 2025

Полная версия

Методология 2025

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
3 из 13

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

Понятие метода/способа работы контринтуитивно, люди очень плохо осознают, что любая их работа (включая любую работу коллектива людей, впрочем, и любую работу станка) выполняется каким-то способом, по какому-то шаблону, паттерну.

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

Зачем изучать методологию

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

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


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

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

• Методология нужна только прикладным методологам (тем, кто занимается функциональностью каких-то целевых систем или систем-создателей). Размышлять о методах, моделировать/описывать методы нужно редко. Например, при создании учебных курсов методологию нужно знать только тем, кто занимается ролью методолога, а в менеджменте – только тем, кто занят описанием рабочих процессов (если оно вообще делается). Производственникам и менеджерам в целом она не нужна, а если уж кому приспичит (в какой-нибудь «службе качества», где проверяющие потребуют очередной «список методов» или «список процессов», как обычно, не имеющий отношения к тому, как реально проходит работа) – то и без обучения разберутся, все эти «службы качества» аналитические по принципу, никакого качества они на-гора не выдают, а просто готовят какие-то описания для разных проверяющих да инвентаризующих. Учить этих людей можно, но необязательно: свои пухленькие стандарты они и без «методологии» прочтут. Если верить этому аргументу, то «методолог» – это не роль человека, который рассуждает о методе, а должность. Нет, «пловец» – это не только спортсмен, который плавает где-то на соревнованиях как член команды пловцов, это любой человек, которому нужно проплыть из точки А по воде в точку Б, и нет ни лодки, ни спасательного круга. И в этот момент надо понимать: дана только сигнатура метода, но не его разложение. Так что дальше выбор – плыть топориком, по-собачьи, кролем или брассом. Неплохо бы знать при этом различия этих стилей. И ещё в этом «плыть» целый стек методов, например, надо ещё знать, как дышать. И ещё как управлять усилиями в теле – это делается одинаково для всех выбранных стилей плавания. С методологией так же: если обсуждать «как будем работать» (обсуждать метод/способ работы, way of working), то неплохо бы знать, на какие объекты в мире обращать внимание – например, такой объект, как «сигнатура метода». Нужно знать типы мета-мета-модели «из учебника» (типы объектов, обсуждаемых в нашем курсе «Методология»), чтобы обсуждать затем организацию работы в проекте.

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


Аргументы за изучение методологии:

• Методология позволяет отмоделировать метод/способ/приёмы/стили/культуры/практики/технологии работы для разных видов труда/деятельности/инженерии: невидимое сделать видимым, ибо модель как описание хорошо видна, а вот собственно «паттерн работы» обычно невидим. После появления модели метода работы можно обсуждать и улучшать этот метод, осознанно меняя (smart mutations) составляющие его практики и поддерживая коллективное обсуждение/мышление о методе.

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

• Если «простой практик/деятель» (инженер-конструктор, менеджер, врач, политик и т.д.) не осваивает постоянно новые методы/практики, то он порастает мхом, его работа обесценивается, он становится неконкурентоспособен. Чтобы он мог эффективно обновлять свои знания, ему нужно уметь сравнить два метода: его собственный и новый (а новых методов – множество, их эффективность обычно неочевидна), и принять решение о том, какой из них SoTA. Для сравнения методов надо понимать, какие объекты внимания есть в методе и как их можно сравнивать, для этого надо понимать, как моделировать метод.

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


Приложения методологии уже начинают изучать и на производстве, и в вузах, и не только неявно (то есть знакомством с разными Body of Knowledge как формой представления знаний о методах работы и неявным пониманием, что они по большому счёту устроены все примерно одинаково), но и явно – через изучение методологических стандартов (обычно посвящённых какой-то записи способа работы, это OMG Essence:2024, популярный у инженеров ISO 24774:2014 и многие другие, обычно применяющиеся для описания «рабочих процессов», «процессов разработки», «видов жизненного цикла» и тех самых BoK по разным методологиями разработки). Эти стандарты стремительно отстают от жизни, и нужно иметь более общее знание о том, как устроены такие стандарты, чтобы замечать отставание и не следовать таким стандартам слепо.

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

Методология в интеллект-стеке

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

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

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

• В современном интеллект-стеке признаётся, что кроме представления о методах работы в форме локальных (символьных) представлений с типами и отношениями, а в более современных вариантах – с типами и операциями конструирования типизированных объектов (конструктивный подход в математике и логике, переход к алгоритмам от логических «доказательств»), существует вариант с распределёнными представлениями. И тогда можно применить representations learning, «обучение представлениям» – и какая-нибудь нейросеть (включая, заметим, и «мокрая» нейросеть человека, и «сухая» нейросеть какого-нибудь робота) может выполнить выявление паттернов как предметов метода, так и паттернов эффективных действий с ними. Скажем, можно пробовать сформулировать метод вождения автомобиля в виде набора правил, но можно просто обучить нейросеть на примере огромного числа дорожных ситуаций, и есть множество методов подобного обучения. Скажем, так ставит проблему команда Виталия Ванчурина, которая использует закономерности физики для выработки стратегии (в мире искусственного интеллекта стратегию часто называют policy). Подход этой команды сводится к тому, что важную информацию не нужно извлекать «грубой силой», но можно использовать понимание симметрии системы, чтобы извлечь очень небольшое число важных типов, описывающих важные объекты (команда называет эти типы «инвариантами»), чтобы получить работоспособные стратегии20. Вся литература по «обучению с подкреплением» (reinforcement learning) по большому счёту – это литература по стратегированию, обучению выбору действий в незнакомой ситуации методом проб и ошибок, при этом известно, что будет ошибкой (известная «функция награды»). Современная методология наиболее бурно развивается как методология в распределённых представлениях. Мы её не будем подробно касаться в нашем курсе, но вся проблематика современных систем с искусственным интеллектом – она связана со стратегированием и планированием в распределённых представлениях.


Тем самым понимание того, как же мы работаем с методами, как мы выбираем метод, существенно связано с тем, как мы представляем/represent этот метод:

• В локальных представлениях – на каком уровне абстракции (мета-мета-модель, мета-модель, модель)

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


Так что для разбирательства с современной методологией надо разобраться с современной семантикой (учение о представлениях, раньше – только локальных, а теперь локальных и распределённых), которая в свою очередь отсылает к физике и математике, а также семиотике и обучению представлениям (representations learning) в случае нейросетевых технологий с их распределёнными представлениями:



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

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

Тут ещё надо заметить, что понятия policy и plan в AI относятся к выбору метода и планированию одновременно, а в менеджменте стратегия и план – различаются предметом (стратегирование – про выбор метода, а планирование – про построение графика работ и оптимизацию использования ресурсов для выполнения работ по методу). Более того, policy – это понятие для современного AI, работающего с распределёнными представлениями и задействующего обучение с подкреплением, а в старом «логическом» (с экспертными системами) искусственном интеллекте прошлого века понятие «план» ещё и как в классическом проектном управлении – это up front plan (то есть полное планирование перед производством всех работ, что в реальной жизни уже признано практически недостижимым, кроме довольно редких ситуаций). План будет представлять собой строго определенную последовательность действий, ведущую от начального состояния предметов метода к конечному (ну, он может быть и сложнее, если у вас есть параллелизм, но это все равно основная идея). Политика будет определяться набором пар «состояние предмета метода -> действие», которые должны позволять из любого достижимого состояния в конечном итоге достичь заданного сигнатурой метода состояния23.

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


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

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

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

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

На страницу:
3 из 13