Нечто общее, не имеющее имени

Lll
Kim Artamonov

Feb 10, 2025


]

Нечто общее, не имеющее имени.

В информационных технологиях (IT) сформировался ряд практик, которые, на первый взгляд, выглядят очень разрозненно: разработка узкоспециализированных языков (DSL), создание модельных представлений в духе UML или SysML, построение бизнес-фреймворков, внедрение системного подхода в управлении и т. п.

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

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

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

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

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

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

Их нужно формализовать, типизировать, структурировать - в общем “привести в порядок”.

В 90-е–2000-е годы в IT-сообществе бурно развивались концепции, связанные с прослеживаемостью требований , унификацией терминологии и формальным моделированием .

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

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

  • DSL (Domain-Specific Languages) требуют вычленения ключевых объектов и их свойств в конкретной области (медицина, финансы, образование), причём само действие «выделить понятия и их взаимосвязи» оказывается не только техническим, но и концептуальным, «смысловым».
  • Моделирование (UML, метамодели, диаграммы требований) предполагает, что мы переводим реальную задачу или систему в некоторую абстрактную схему. Эти схемы часто используются как «язык общения» между разработчиками, аналитиками и заказчиками. ​Тот уровень теоретического понимания моделей и метамоделей который мы развили, шагнул далеко за потребности описания компьютерных архитектур.
  • Системное мышление (MBSE, архитектурные фреймворки) опирается на идею разделения сложных проектов на уровни абстракции и согласования (alignment) между требованиями, дизайном и реализацией.

Но где фактически «живут» эти уровни описаний?

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

Интересно, что этот «абстрактный уровень» уже давно шагнул за границы технических наук.

  • Бизнес заимствует модельные приёмы: мы видим повсеместное использование схем, канвасов, типологий и т. д.
  • Педагогика перенимает идею языков описания заданий и визуальных карт знаний.
  • Менеджмент использует системные методы проектирования и проработки процессов, тоже ссылаясь на «переходы между уровнями» и «выделение сущностей».
  • Искусственный интеллект (особенно в части reasoning, настройки промтов, построения knowledge graphs) явно апеллирует к формальному описанию связей и понятий – всё того же «безымянного» пространства.

Если проследить развитие этого “абстрактного уровня” от простого моделирования классов до сложных ИИ-контекстов сегодняшнего дня, то становится видно - чем глубже мы уходим в попытки сделать компьютерные модели «умными», тем более мы упираемся в человеческие, гуманитарные вопросы:

– Как мы действительно понимаем смысл термина?

– Как согласуем расхождения в личном или культурном опыте разных пользователей?

– Какие внутренние цепочки рассуждений обеспечивает правильное понимание концептов?

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

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

Потребность в абстрактности

Почему же до сих пор не сформировалась отдельная дисциплина, ​
чётко описывающая это «что-то»?

Можно сказать, что в IT исторически фокус был сугубо практический : нужен работающий код, нужна модель, которая удовлетворит требования проекта. Сильное стремление к быстрому результату мешало взглянуть на явление в целом. Да и в целом у Computer Science нет никаких причин или возможностей погружаться в этот вопрос с гуманитарной стороны.

Это как если бы мы также практически в своё время подходили к математике - используя её чтобы считать деньги и товары, но не выводили её в пространство отдельных абстрактных сущностей, не давая им названия и не стараясь раскрыть все последствия. В итоге с этим “абстрактным уровнем согласования смыслов в IT” сегодня мы наблюдаем примерно похожую картину.

У нас есть «геометрия без названия » – все уже понимают, что двумерное пространство и фигуры в нём (параллельные, перпендикулярные, углы…) – это единая тема, но формально никто её как отдельную науку не провозгласил.

Аналогично, мы имеем набор методик и инструментов (DSL, схемы, уровни абстракции), которые доказали эффективность, но не получили цельного теоретического обоснования.

Целостная картина за пределами IT

Но, как только сфера IT пересекается с новыми областями вроде управления, педагогики или ИИ, возникает потребность понять и описать этот абстрактный уровень куда более фундаментально, чем это делается сейчас.

  1. Развитие технологий ИИ : reasoning-модули, промт-инжиниринг, объяснимость алгоритмов – всё это упирается в то, как мы представляем смыслы и транслируем их в форму, понятную модели.
  2. Кросс-дисциплинарное взаимодействие : бизнес, госсектор, наука всё чаще требуют адаптировать IT-подходы к своей специфике. Если мы не раскроем глубинные механизмы этой «абстрактной области» - то возникнут проблемы которые мы уже видим: супер-логичность систем и полное непонимание как эту логику перенести в пользователей и социальные структуры и отношения.
  3. Методологические вызовы : системная инженерия уже давно страдает от отсутствия единых стандартов описания концепций, а попытки стандартизировать UML или SysML лишь частично решают проблему “технического” аспекта.

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

Содержание вашего текста во многих пунктах совершенно не бьётся с материалами курсов ШСМ. Даже не знаю, что комментировать. Возможно, вам такое надо публиковать где-то на Хабре, ибо это кажется вполне бытовым рассуждением, не привязанным к какой-то мета-мета-модели какой-то из школ мышления. Всё-таки нужна какая-то собраннасть, позволяющая удерживать типы объектов на протяжении всего рассуждения, а также эти типы привязывать к какой-то более-менее абстрактной системе типов – в нашем случае к типам из наших курсов.

Возможно, вам надо перепройти свежую версию “Рациональной работы” – это пререквизит для “Системного мышления”.

1 лайк

Спасибо Анатолий Игоревич за комментарий :wink: :+1:

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

И не совсем понял с чем именно расходится.

И что такое бытовое мышление. Чьей быт имеется ввиду.

:pray: :wink:

А разве примерно четверть курса “Рациональная работа” не посвящена именно тому, что это за такая концептуальная деятельность, и как эти практики удерживать в едином теоретическом поле?

Вы тут, конечно, можете писать что угодно – но тогда это не “посты студентов” и не по теме “системное мышление” и вообще не деятельность клуба, ибо в клубе всё-таки какие-то единомышленники, у них общая культура. То, что вы написали, как вам тут указали уже, расходится как минимум с примерно четвертью материала курса “Рациональная работа” (так что расхождения даже не с материалом курса “Системном мышление”, а много раньше). Я и написал – вам надо перепройти свежую версию “Рациональной работы”, чтобы было понятно, что с текстом не так (много чего не так!).

Но если вам не хочется проходить курсы и осваивать предлагаемое в курсах мышление, а хочется сочиняете что-то собственное, например, собственный набор концепций по теме концептуального моделирования, как вы сделали это в посте, то вам можно на эту тему делать собственный курс, ибо с материалами курсов ШСМ это никак вообще не пересекается, другая онтология. Ну, и собственный клуб. Это как прийти в клуб болельщиков футбола “Динамо” и начать рассказывать, как хорошо плавают в клуб плавания “Спартак”. Не поймут-с, ошибка с выбором клуба.

Если уж пришли в клуб ШСМ, то тут обсуждают культуру инженерии (и связанную с ней культуру моделирования), которая даётся в курсах ШСМ.

1 лайк