Про интеллект-стек

Продолжаю изучать руководства. Отвлекся от руководства по системному менеджменту на интеллект-стек – замечания про современную математику и несколько других меня заинтересовали. Я это руководство раньше не проходил, только слушал в выступлениях Анатолия и читал краткую версию в других руководствах.

По мере чтения появились мысли, которыми я хочу поделиться, в частности об уместности в этом стеке таких дисциплин, как математика, физика, которые традиционно считаются базой образования. Действительно ли они базовые, или прикладные и не слишком нужны для всех?

Контекст: состав интеллект-стека

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

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

  • Теория понятий – как мы думаем о понятиях, за счет чего их представляем, это теория прототипов и теория образцов, конструкции ассоциативного мышления.
  • Онтология – построение моделей мира, типизация понятий и связывания их разными типами взаимоотношений, машинка типов, здесь – формальные рассуждения, в противовес ассоциативному мышлению теории понятий.
  • Алгоритмика – про эффективные способы вычислений, при этом рассуждения – это тоже частный случай вычислений, проводимый естественными и искусственными нейронными сетями.
  • Логика – методы рассуждений над моделями, которые дают надежные выводы.
  • Рациональность – принятие решений и действия агентов в реальном мире не абы как, а на основе правильных объяснений, даже если они не соответствуют нашим интуитивным представлениям, для того, чтобы эти решения и действия эффективно (элегантно) приводили к желаемым результатам.
  • Исследования/познание – создание правильных объяснений, нового знания, на которых базируются рациональные действия.
  • Эстетика, как естественная наука – критерии красоты (элегантности) в результатах мышления и деятельности, эмоциональный отклик, который они вызывают в других агентах.
  • Этика – какие цели приемлемо ставить агенту и какими средствами добиваться реализации этих целей, включая учет различных масштабов: то, что хорошо для системы, например, компании, далеко не всегда хорошо для ее отдельных подсистем, например, сотрудников.
  • Риторика говорит о способах убеждения других агентов сделать что-либо. Для этого, как правило, необходимо перейти на язык, понимаемый этим агентом (сменить онтологию), и применять приемы убедительной речи. Однако. способы убеждения должны быть этичны.
  • Методология рассказывает о методе, то есть о способе, которым агенты организуются в команду, компанию или иную структуру, определяют, а затем занимают в этой структуре роли, и ведут совместную деятельность для достижения общих целей, ради которых они и создали эту организацию или присоединились к ней.
  • Системная инженерия на основе методологии и наблюдения над пробами и ошибками в реальных организациях предписывает способы организации деятельности. которые позволяют эффективно достигать целей и получать результаты.

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

Про математику и физику

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

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

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

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

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

Что это означает для того, кто знает математику? То, что распределение фактического срока задач относительно первоначальной оценки не является нормальным распределением, при котором мат.ожидания могут складываться. Как пошутил автор в одном хорошем докладе на эту тему, поскольку мы наблюдаем превышение в 2-3 раза для значимого процента задач, то при нормальном распределении должны быть аналогичные отклонения в другую сторону, то есть значимый процент задач должен оказываться сделанным уже в момент постановки (оценка отрицательна). Заметив это, человек с математическим образованием, теоретически, должен поинтересоваться – а не проводились ли исследования на эту тему, и что именно они показали? Найти эти исследования, увидеть, что они дают не нормальное, а пуассоново или логнормальное распределение (разные исследования показывают разное). И это означает, что индивидуальные ошибки не компенсируются, а для получения попадания суммарной оценки проекта в 90% доверительный интервал сумму мат.ожиданий оценок надо удвоить или утроить. Что обычно не является возможным в условиях конкретного проекта, поэтому планировать надо как-то иначе. Обо всем этом. кстати, был прекрасный доклад Андрея Бибичева «Пуассоново горение сроков». Отмечу, что для технологичных операций, например, обработки деталей на станках, отклонения тоже есть, но они там подчиняются нормальному распределению, при условии, что производство организовано хорошо, и рабочему, например, не нужно экстренно искать масло для заправки станка, потому что его уровень упал ниже допустимого – масло доливают заранее в ходе технического обслуживания. И в других отраслях, например, на стройке задержки тоже связаны с недостаточной организацией и компетентностью, которая тоже нарушает нормальное распределение отклонений.

Методики планирования с учетом такого характера задач в ИТ есть, этот же результат не вчера получен. Они включают работу с буфером и мониторинг чтобы засечь резкого увеличения в конкретной задаче. Ну и такой характер задач является одной из причин широкого распространения agile-методов, которые признают такую реальность. Хотя это – не единственная причина, есть еще минимум две: изменчивость окружающего мира, которая приводит к изменению требований к системе, то есть описанию ее функционального места в надсистеме в ходе процесса разработки, и системное отсутствие компетентных специалистов в команде, обусловленном быстрым развитием ИТ-технологий.

Впрочем, это я отвлекся в сторону от первоначального вопроса: почему знание мат.статистики и теории вероятностей, которые есть у многих руководителей ИТ-проектов не только не ведут их к самостоятельному исследованию вопроса, но и не приводят к изменению методики действий, когда они узнают об этих результатах? Они часто говорят “да, любопытненько, я подумаю об этом после” и продолжают действовать по-старому, если вообще задумываются об этом. Как надо изменить образование, чтобы поведение было иным? И, если говорить про интеллект-стек, в каком месте этого интеллект-стека должно быть это изменение. Думаю, математика тут не при чем, вопрос в рациональности в широком смысле, то есть принятию всерьез научных исследований о модели мира, и адаптации собственной модели мира в соответствии с ними.

Еще один кейс, который хочется рассмотреть – анализ потока работ, применяемый в ИТ-Канбан-методе. Замечу тут, что есть два Канбан-метода: для промышленного производства, где он представляет собой часть системы Тойоты, и для ИТ, где он вырос независимо параллельно со Scrum для организации обработки потока задач без релизного цикла. По сути, ИТ-Канбан ориентирован на организацию любого умственного труда, ИТ-разработка тут – частный случай, а производственный Канбан – про физический труд.

Так вот, там есть методы работы с метриками потока с помощью диаграмм, например кумулятивной диаграммы потока или частотной диаграммы выполнения задач, или других диаграмм. В детали я не вдаюсь, их можно посмотреть в докладе Алексея Пименова «Скрытая механика работы Kanban Method» или почитать в моей статье «Kanban и Lean — эволюция вместо революции». Идея следующая: мы представляем метрики выполнения потока задач на диаграмме, это делает Excel, или встроено у нас в таск-трекер, а дальше проводим визуальный анализ, например, замечаем. что на частотной диаграмме распределение имеет не один максимум, а несколько, или выделаем этапы работы, занимающие максимальное время и фокусируем анализ на них.

Все это можно делать, вообще не зная деталей математического аппарата, который лежит за диаграммами, а пользуясь его результатом. При этом результат – нагляден. Кончено, чтобы разрабатывать новые диаграммы и методику их применения, надо владеть статистическими методами и уметь применять их для описания потоков работ. Но это вполне можно считать частью прикладной области, при чем достаточно узкой и специальной, занимаются этим единицы. А всем остальным можно просто использовать результаты. Замечу, что использование этих методов на практике выше, чем использование знаний про распределение точности оценки, о которой я писал выше. Но причина – вовсе не в том, что используются какие-то более понятные математические методы. Просто практика нацелена на улучшение существующего без отказа от некоторых «общепринятых мнений». Возможно, эти соображения могут помочь точнее позиционировать место в интеллект-стеке где находится использование знаний для коррекции собственной модели мира.

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

Про логику и алгоритмику

Теперь пару слов про логику. Тут у Анатолия, по-моему, разрыв функцией и содержанием. Поставив функцией логике правила рассуждений, он в содержании раздела говорит про современные конструкты, пришедшие на смену формальной булевой логике: сначала она превратилась в байесовскую, затем - в квантоподобную логику, а сейчас идет развитие теории причинности, которую, правда, почему-то относят не к уровню логики, а к уровню рационального действия. С моей точки зрения, все это – не про рассуждения, это про математические/ментальные модели, то есть часть математики.

При этом пробелы в умении вести рассуждения не связаны с отсутствием знаний по современной вероятностной логике в различных вариантах. Типовые ошибки в рассуждениях связаны с провалами в машинке типов, которые люди не чувствуют: люди мыслят нарративно, потоком текста, путают и смешивают в них типы объектов и отношений и не ощущают никакого дискомфорта или проблем по этому поводу. А за это в интеллект-стеке за это отвечает не логика, а онтология.

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

Ну и в заключении пара слов про алгоритмику как описание способа эффективных вычислений. В ней выделяется несколько уровней: 1 – традиционные алгоритмы, 2 – алгоритмы на основе ML и статистики, 3 – современность и будущее, когда онтологии и программы пишет ИИ. С моей точки зрения, это получается совершенно прикладная штука, которая не нужна в интеллект-стеке. Даже большинству ИТ-шников, потому что, как верно замечает Анатолий, современные ИТ-системы - это такая расширенная записная книжка с быстрым поиском, они про структурную организацию тех или иных фрагментов модели мира, например, модели обобщенной торговой компании. которая после настройки и наполнения данными превращается в модель конкретной компании. И тут тоже важна работа с понятиями и онтологиями, а алгоритмы используются точечно в готовом виде. Правда, для проектирование системы с алгоритмами надо работать функционально, то есть представлять их возможности для встройки в модель. А в устройстве разбираться не нужно. И это будет какая-то специализированная онтика прикладного уровня проектирования ИТ-систем, не отличающаяся от онтик описания других материалов, используемых для проектирования в других отраслях.

На этом я заканчиваю пост. Продолжение следует, я интеллект-стек еще не дочитал.

2 лайка

@maksiq завидую вам немножко, вы уже почитали интеллект стек, я для себя решил идти по порядку, скоро тоже доберусь. Послушался рекомендаций по порядку прохождения инструкций/обзоров. Но зато читая инженерию личности имею версию ответа на ваш вопрос про причину отсутствия системного мышления как дисциплину в составе стека:
Материал интеллект сетка является результатом работы методолога (описание знаний/дисциплин входящих в состав стека), а системное мышление это онтология которая наложена на все дисциплины стека - язык, который применяют что бы описать все кусочки стека.
Вот еще публикация которая пошла в основу нынешнего релиза, про СМ https://arxiv.org/pdf/2310.11524

Не знаю на сколько большой, но пробел школьной программы с SoTA, будет точно. Математика и Физика там идет по результатам работ Дойча (и кого он упоминает).

Тут вопрос курицы и яйца? Врядли получиться понять как получаются новые ментальные модели в математике если не понимать как строятся правильные обоснования(рассуждения с логическими выводами).

Спасибо за триггер для беседы =)