Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия. Анализ и проектирование систем.. Анализ и проектирование систем. архитектура.. Анализ и проектирование систем. архитектура. Блог компании МТС.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион. ИИ.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион. ИИ. искусственный интеллект.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион. ИИ. искусственный интеллект. код.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион. ИИ. искусственный интеллект. код. ответственное применение.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион. ИИ. искусственный интеллект. код. ответственное применение. разработка.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион. ИИ. искусственный интеллект. код. ответственное применение. разработка. Симмонс.. Анализ и проектирование систем. архитектура. Блог компании МТС. будущее наступило. Гиперион. ИИ. искусственный интеллект. код. ответственное применение. разработка. Симмонс. Читальный зал.

В 1989 году Дэн Симмонс написал «Гиперион» — роман, который стал классикой научной фантастики. Среди множества идей в книге есть одна, которая с каждым годом, кажется, звучит все актуальнее.

В мире «Гипериона» существует Техно-Центр — сообщество искусственных интеллектов, которое развивалось на протяжении столетий. Первые слои кода писали люди еще на Старой Земле. Потом ИскИны начали надстраивать свой код поверх старого. Слой за слоем, поколение за поколением. Так продолжалось сотни лет.

В итоге получилась система невообразимой сложности, в глубинах которой скрывались вещи, которые не понимали даже сами ИскИны. Никто — ни человек, ни искусственный интеллект — уже не могли объяснить, почему изначально все устроено и работает именно так. И из-за этого цивилизация была на грани вымирания.

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

Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия - 1

Мы — первое поколение?

Давайте зафиксируем момент, в котором мы находимся. Прямо сейчас происходит нечто, чего не было раньше: мы пишем код вместе с ИИ. Copilot, ChatGPT, Claude, Cursor — все это уже не эксперименты, а повседневные инструменты.

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

Через пять лет ИИ следующего поколения будет рефакторить код, который мы написали с помощью ИИ текущего поколения. Через десять — ИИ поколения N+2 будет переписывать код ИИ поколения N+1, который переписал наш код. И так далее.

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

Это уже происходит?

Вы можете сказать: «звучит красиво, но ведь это настолько далекое будущее…». А я, на самом деле, не уверен. Скорее, это уже происходит, просто в небольшом масштабе. И вот наглядные примеры.

COBOL. Язык, созданный в 1959 году. На нем до сих пор работает значительная часть мировых банковских транзакций. Те, кто писали этот код, давно на пенсии, а новые разработчики не хотят его учить. Но системы работают, и никто не решается их переписать — потому что никто до конца не понимает все нюансы.

Oracle Database. Код, написанный десятилетия назад на C и ассемблере, живет до сих пор. База насчитывает десятки миллионов строк, пронизанных макросами и флагами. Изменение одной строки может сломать тысячи тестов. А исправление одного бага иногда занимает недели: анализ десятков флагов, добавление нового, прогон тестов на сотнях серверов, разбор сотен упавших сценариев — и так по кругу.

При этом Oracle 19c, выпущенный в 2019 году, остается LTS-версией до 2032 года. Клиенты не спешат переходить на новые версии — потому что 19c «стабильно работает». А новые релизы (23ai, 26ai) добавляют функции поверх старой архитектуры, но не переписывают фундамент.

Система настолько сложна, что никто не рискует ее переписывать. Новые разработчики добавляют слои поверх старых, потому что иначе нельзя — остановится бизнес. Документация не поспевает. Понимание того, почему что-то работает именно так, давно утеряно.

И это не гипотетическое будущее, а то, что уже происходит. Мы привыкли к этому как к «легаси». Но что, если это станет не просто устаревшим кодом, а тем самым слоем, который никто не может переписать?

Нейросети как черные ящики. Мы уже сейчас не до конца понимаем, почему нейросеть принимает то или иное решение. Область Explainable AI (объяснимый ИИ) существует именно потому, что модели стали слишком сложными для человеческого понимания. И это только начало.

Теперь представьте все это, но в масштабе столетий и с участием ИИ, который сам пишет и переписывает код.

Представили? Мне после этого «Гиперион» читается иначе. Теперь особенно ироничным и одновременно грустным кажется то, что ИскИны могли моделировать целые вселенные, но не смогли разобраться в собственном legacy-коде. Первые слои, написанные людьми, стали для них такой же загадкой, как для нас то, что написано на устаревших языках. Только на этих записях держалась вся цивилизация.

Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия - 2

Археология кода

Есть красивый термин — «археология кода». Обычно его используют, когда разработчик раскапывает древние слои легаси-системы, пытаясь понять, зачем кто-то написал // TODO: fix this later в 2008 году. Но в контексте ИИ этот термин приобретает буквальный смысл.

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

И вот инженер 2045 года (или ИИ-инженер) сталкивается с багом на глубине третьего слоя. Чтобы его исправить, нужно понять логику первого слоя. Но документации уже нет, специалисты, принимавшие решения, давно не у руля, а ИИ, который переписывал код на втором слое, уже устарел и выведен из эксплуатации.

Знакомая ситуация? Мы все бывали в ней, только в масштабе одной компании и нескольких лет. Теперь попробуйте представить, чем это может кончится в масштабе столетия.

Но есть еще один и менее очевидный слой. Когда ИИ пишет код, он руководствуется внутренней логикой, которую мы не всегда можем объяснить. Мы получаем не просто «черный ящик» с данными, а «черный ящик», который создает другие «черные ящики». И каждый из них будет ложиться в фундамент будущих систем, слой за слоем — как в «Гиперионе».

Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия - 3

А что, если…

В разработке есть понятие технического долга. Мы все с ним живем. Каждая команда принимает быстрые, не оптимальные решения, откладывая «правильную» реализацию на потом. Это нормально — до тех пор, пока долг управляем.

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

Я не знаю ответа. Но вопрос меня волнует и кажется важным.

Ошибка в архитектуре, допущенная сегодня, может быть незаметной. Но если она закрепится в фундаменте, на котором будут строить десятилетиями, ее стоимость вырастет. Не потому что ошибка станет больше, а потому что от нее будет зависеть все больше систем. То, что сегодня кажется несущественным, через десятилетия может стать реальной проблемой.

Что я решил для себя

Осознание проблемы — это, конечно, хорошо. Но что с этим делать? Я не знаю универсального ответа, но для себя вынес несколько простых вещей.

Во-первых. Я стараюсь документировать не только что делает код, но и почему решение было принято именно так. Какие были альтернативы? Какие ограничения? Именно «почему» теряется первым. И именно ответ на вопрос «почему» сложнее всего будет восстановить спустя время.

Во-вторых. Когда проектирую архитектуру, я иногда задаю себе вопрос: «Будет ли это решение понятно тому, кто придет после меня, даже если это ИИ?». Конечно, не всегда ответ «да», но сам вопрос помогает задуматься — стоит ли что-то поменять? Или хотя бы описать подробнее?

В-третьих. Я перестал относиться к ИИ как к простому автокомплиту. Я учу его и он реально учится. Какие стандарты я закладываю сейчас — с такими он наверняка будет работать через год.

Ответственность первого слоя

Вернемся к «Гипериону». В романе Симмонса древние слои кода Техно-Центра стали непостижимыми даже для самых продвинутых ИскИнов. Это привело к непредсказуемым последствиям — скрытым процессам, тайным целям, потере контроля.

Не знаю, насколько точно фантастика Симмонса предскажет реальность. Может быть, будущие ИИ окажутся достаточно умными, чтобы разобраться в любом легаси. Может быть, появятся инструменты, которые сделают археологию кода тривиальной задачей. А может, и нет.

И если нет, то единственное, на что я могу повлиять — это качество того, что пишу сейчас. Качество первого слоя.

Мысль, конечно, не новая, но после «Гипериона» почему-то ощущается острее. 

Я понимаю, что все это — скорее красивая метафора, чем прогноз. Совсем не обязательно, что легаси накопиться слоями, ИИ станет непознаваемым, а ошибки в коде обрушат цивилизацию. По крайней мере книга заставила меня задуматься. Может, и вас тоже сможет.

Автор: maraty

Источник