Понятия как кубики Лего
Недавно объяснял тему систем и методов и быстро сказал «система мытья». В разговоре это нормально, я сам понимаю, о чём речь, просто не всегда быстро найдёшь точное слово, а если найдёшь, оно может быть непонятно обычному человеку. Речь бежит быстрее, чем понятия успевают разложиться по полочкам. Но если остановиться и посмотреть строго, это онтологическая ошибка. И именно на таких простых примерах видно, насколько легко путаться в базовых понятиях, даже когда сам их объясняешь.
Мытьё не система, а метод. У мытья нет состояний. Оно не бывает сломанным или чистым. А вот у тела состояния есть: было грязное, стало чистое. Тело и есть та система, чьё состояние меняется.
Дальше интереснее. Кто выполняет метод? Роль мойщика. Но роль не система. Роль играет конструктив. И этот конструктив составной: мама, мочалка, душ, мыло. Одна мама без воды и мочалки роль мойщика не сыграет.
И здесь главное разделение, которое нужно натренировать: функциональное и конструктивное. Функциональный объект отвечает на вопрос «что делает». Конструктивный отвечает на вопрос «что это физически». Трущее средство и мочалка. Моющее средство и мыло. Податель воды и душ. Слева роль, справа конструктив, который её играет.
Но есть ещё один слой путаницы, и он коварнее. Одно и то же слово может означать разное в зависимости от контекста. Мыло у меня в руке это конкретный конструктив, кусок вещества определённой формы и запаха. А «моющее средство» это функциональный объект, то есть роль. И на эту роль можно найти другой конструктив: гель для душа, жидкое мыло, даже глина или зола, если вспомнить, чем мылись до появления мыла в привычном виде. Слово «мыло» иногда обозначает вещь, иногда функцию, и если не остановиться и не спросить себя, что именно я сейчас имею в виду, начинается каша.
Возьмите слово «молоток». Оно может означать систему: вот этот конкретный молоток, который лежит на столе, у него есть состояние, он цел или сломан. Может означать конструктив: кусок металла на рукоятке, безотносительно к тому, что им делают. Может означать функциональный объект, роль забивателя гвоздей: тогда на эту роль подойдёт и обух топора, и камень, и любой другой предмет подходящей массы и твёрдости. А может означать тот же конструктив, но уже защёлкнутый в эту роль прямо сейчас, в конкретной ситуации: не новый, четвёртый кубик, а два прежних кубика вместе. Одно слово, четыре разных смысла (один из них уже сборка из двух других), и все они законны, просто это разные срезы рассмотрения одного и того же куска реальности.
Кубики Лего в этом смысле честнее слов. Красный кубик 2x4 никогда не притворяется синим кубиком 2x2, его форма и цвет видны сразу. А слово «мыло» хамелеон: в одном контексте это кубик-конструктив, в другом кубик-функция, и снаружи, по звучанию слова, не видно, какой именно. Кубики можно разложить руками и увидеть границу между ними на ощупь. С понятиями граница невидима, пока сам не остановишься и не спросишь себя: я сейчас про что говорю? Вот в этом разница между физическим Лего и понятийным. Понятийные кубики не разложены заранее, их каждый раз приходится раскладывать заново, усилием внимания.
Вот почему нужно понятийное наведение внимания. Не в смысле выучить определения и сдать зачёт, а в смысле каждый раз, когда произносишь слово, коротко себя спрашивать: я сейчас про конструктив, про функцию, про роль или про систему в сборе? Это не автоматический навык. Он тренируется.
В рабочих проектах та же путаница, только масштаб больше. Строительная компания строит здание. Кран, блок-панель, бригада штукатуров: это системы со своими состояниями. Бухучёт и проектирование: это методы. Финансовое описание предприятия и проектная документация: это документы, которые получаются этими методами.
Возьмём пример ближе к разработке. Команда говорит: «нужен ревьюер, который проверит код». Слово «ревьюер» здесь роль, функциональный объект: тот, кто находит ошибки и оценивает качество. На эту роль можно поставить разные конструктивы: конкретного senior-разработчика, другого члена команды, внешнего консультанта, а теперь ещё и AI-агента. Если сказать «ревьюер сломался» и не уточнить, что имеется в виду, легко перепутать: сломался конкретный человек-конструктив, заболел или уволился; роль ревьюера убрали из регламента, и шаг просто выпал из процесса; или отказал сервис CI, через который ревью запускается. Три разные поломки, а слово одно. Причём в буквальном смысле «ломается» тут не роль и не сам метод «ревьюить»: как и у мытья, у способа действия состояния нет, оно есть только у того, кто этим способом действует, или у решения вообще держать эту роль в процессе. То же самое со словом «сервер». Он может быть системой с состояниями (работает, упал, перезагружается), может быть конструктивом (конкретная железка в стойке или конкретный контейнер), а может быть функциональным объектом, ролью «обработчик запросов», которую в облаке в любой момент играет другая железка. Если не различать эти кубики, теряешься уже на втором шаге обсуждения: один говорит о роли, другой о железе, и оба думают, что говорят об одном и том же.
Сначала непонятно и больно. Мозг сопротивляется, кажется, что это лишнее усложнение простых вещей. Но после первой резидентуры кубики встают на место. Только это не физические кубики, которые сами держат форму, а понятийные, которые нужно каждый раз собирать заново вниманием. И появляется странное чувство: а как же я раньше этого не видел? Ведь путаница была всегда, просто я её не замечал. А теперь любую рабочую или жизненную ситуацию можно разложить на знакомые кубики и собрать из них ясное понимание.