Что такое код на самом деле? И почему он (не) нужен?
Когда я коммитил код в последний рабочий день на этой неделе, я задумался:
«А что из закоммиченного мне не страшно потерять?»
И понял странную вещь: сам код — не жалко.
Страшно потерять другое: требования к системе и навыки агентов, которые умеют эти требования превращать в работающую систему.
И отсюда у меня возникло ощущение, что код — это не «истина системы», а лишь одна из возможных закешированных форм представления требований.
Раньше код был нужен людям, чтобы зафиксировать логику так, чтобы ее можно было исполнять автоматически и относительно дешево менять. Поэтому появились практики вроде чистого кода, чистой архитектуры и паттернов проектирования — потому что человеческому мозгу сложно удерживать в голове системы на сотни тысяч строк без структурирования.
По сути, это были способы сделать «представление требований в коде» устойчивым к ограничениям человека.
Сейчас ситуация начинает меняться.
ИИ все сильнее размывает необходимость вручную поддерживать этот промежуточный артефакт. Если у нас есть:
- требования (явные или извлекаемые)
- и агенты, которые умеют их понимать и достраивать систему до рабочего состояния
то код перестает быть финальной формой знания. Он становится промежуточным результатом генерации.
Можно представить мир, где систему можно регулярно пересобирать заново — под новые требования, новые ограничения и новые решения.
Генерация системы с нуля — не бесплатна. Ни для ИИ, ни для человека. Это время, деньги, риск ошибок и стоимость проверки.
И поэтому код остается важным как форма «дешевого кеша» требований и решений. Как зафиксированное состояние системы, которое можно запустить, поддерживать и развивать без постоянной полной регенерации.
И еще важнее: он остается страховкой.
Страховкой на случай, если ИИ исчезнет, деградирует или станет недоступен. Тогда единственным способом продолжать разработку снова станет человеческое понимание системы через код — и все то, что мы называем «чистым кодом», архитектурой и паттернами, внезапно снова окажется критически важным.
Итог: Код — это не цель и не истина системы.
Это кеш требований и решений, который позволяет дешево восстанавливать и развивать систему.
ИИ может радикально снизить стоимость генерации этого кеша.
Но он не отменяет его необходимость.
Потому что код остается единственной формой, которая:
- воспроизводима без внешнего интеллекта
- и позволяет продолжать разработку, если ИИ исчезает или становится недоступен
И в этом смысле «чистый код», архитектура и паттерны — это не пережиток прошлого. Это способ сделать систему пригодной для жизни в мире без ИИ.