Летом 2026 года в инженерном сообществе произошло событие, которое многие предпочли замять или списать на очередную волну хайпа вокруг нейросетей.
Сальваторе Санфилиппо опубликовал эссе с говорящим названием: «Control the ideas, not the code» («Контролируйте идеи, а не код»).
Кто такой Сальваторе Санфилиппо (antirez)?
Для тех, кто вне контекста: Сальваторе — легендарный итальянский инженер и создатель Redis. Redis — это сверхбыстрая резидентная база данных (in-memory key-value хранилище), на которой сегодня держится производительность почти каждого крупного сервиса в мире: от кэширования сессий в Twitter и GitHub до обработки очередей в Netflix. Сальваторе 15 лет писал Redis на чистом C, маниакально полируя каждый указатель, байт оперативной памяти и такт процессора. Это человек, для которого читаемость и эстетика кода были абсолютным культом.
И вот этот самый инженер заявляет: тратить время на чтение и вычитывание сгенерированного ИИ кода сегодня — неоптимально и почти бессмысленно.
В соцсети X его тут же прижал к стенке Маттео Коллина (создатель Fastify и член техкомитета Node.js):
«Постой, но разве ты сам не проверяешь каждую строчку кода, написанного ИИ для Redis?»
Ответ Санфилиппо был обезоруживающим:
«Да, проверяю. Но только из уважения к пользователям и контрибьюторам, которые привыкли открывать файлы Redis и дописывать код руками. Если бы у меня были развязаны руки — я бы не тратил на это ни минуты. Я бы потратил эти часы на QA, на поиск новых оптимизаций и на написание файла DESIGN.md, где человеческим языком описаны структуры данных и архитектурные идеи. А код пусть пишет модель».
Когда такие вещи говорит джуниор после двухнедельных курсов — это наивность. Когда это говорит автор Redis — это смена эпохи.
Экономический перелом: Код стоит ноль
За 10 с лишним лет в коммерческой разработке я привык к тому, что код — это дефицитный ресурс. Написание качественного кода стоило дорого. Нужно было держать в голове синтаксис языка, особенности стандартной библиотеки, помнить сигнатуры методов, рутинно писать конвертеры типов, бойлерплейт, маппинги и тесты.
Раньше формула создания продукта выглядела так:
Идея → Архитектура → [Написание кода: 80% времени] → Code Review → Тестирование → Production
В 2026 году генерация 5 000 строк синтаксически валидного кода на TypeScript, Go или Python занимает полторы минуты и стоит пару центов за токены.
Код перестал быть дефицитом. Он стал дешевым расходным материалом.
И здесь возникает парадокс, о котором бизнес часто забывает в погоне за экономией:
Владельцу бизнеса никогда не был нужен сам код. Ему все равно, сколько файлов в репозитории, используется ли NestJS или сырой HTTP-роутер, и красивый ли там получился switch-case. Бизнесу нужно ровно одно: чтобы система решала задачу, не падала под нагрузкой и приносила прибыль.
Но если код создается машиной за секунды, возникает главный инженерный вопрос: Кто отвечает за результат?
Цитата Торвальдса: При чём тут компиляторы?
Когда в первой половине 2026 года интернет наполнился победными реляциями в духе «99% кода в мире теперь пишет ИИ, программисты больше не нужны», создатель Linux и Git Линус Торвальдс ответил на это с присущей ему язвительной точностью:
«Утверждать, что 99% кода написано ИИ — это всё равно что утверждать, что 100% кода написано компиляторами».
Справка: Линус Торвальдс — создатель ядра операционной системы Linux (на которой работает 90% мировых серверов и все смартфоны на Android) и распределенной системы контроля версий Git. Человек, организовавший работу десятков тысяч разработчиков по всему миру.
Торвальдс сформулировал то, что многие упускают из виду: компилятор уже полвека генерирует за нас миллионы строк машинных инструкций и ассемблера. Но мы не считаем компилятор архитектором операционной системы.
Точно так же высказался и легендарный Джон Кармак (создатель движков Doom и Quake, пионер 3D-графики):
«Код никогда не был ценностью. Ценность — в решении проблемы. Код — это просто налог, который мы платим за то, чтобы компьютер понял наше намерение».
ИИ просто поднял уровень абстракции на одну ступеньку вверх. Раньше мы транслировали бизнес-логику в функции и циклы. Теперь мы транслируем системные требования в архитектурные ограничения для агентов.
Смена объекта контроля: Implementation vs Intent
Давайте честно взглянем на классический Code Review. Что разработчик ищет глазами в PR на 1 500 строк?
- Не забыли ли обработать
null? - Правильно ли названа переменная?
- Нет ли опечатки в названии поля базы?
- Вынесен ли дублирующийся кусок в отдельный хелпер?
Это контроль реализации (implementation control). Вы проверяете, как именно написаны буквы.
Но если перед вами агент, который генерирует тысячи строк в день, попытка читать каждый diff превращается в пытку и самообман. Глаз замыливается на двадцатом файле. Мозг перестает видеть лес за деревьями.
Санфилиппо предлагает радикальный сдвиг: перестать контролировать буквы и начать контролировать намерение (Intent control):
| Раньше (Контроль реализации) | Сейчас (Контроль системы) |
|---|---|
| Написать код функции | Сформулировать задачу и граничные условия |
| Выбрать структуру цикла | Спроектировать архитектурный каркас |
| Читать diff построчно | Проверять изменение внешнего поведения системы |
| Искать опечатки на Code Review | Проводить Design Review контрактов и моделей данных |
| Исправлять баги вручную | Строить систему тестов, которая делает ошибку невозможной |
| Знать наизусть API библиотек | Знать фундаментальные лимиты и узкие места архитектуры |
| Гордиться количеством строк кода | Гордиться компактностью и прозрачностью системы |
Где ошибается Санфилиппо: Опасная иллюзия тестов
Кажется, вывод очевиден: убираем ручной ревью, генерируем код агентами, пишем тесты и пьем смузи.
Но здесь кроется смертельная ловушка, которую я называю «ловушкой наивного доверия».
Если вы полностью перестаете вникать в то, что сделал ИИ, и полагаетесь исключительно на фразу «тесты прошли, значит всё работает», вы закладываете под свой проект мину замедленного действия.
Почему?
Тест проверяет только то, о чем вы догадались спросить.
В 1972 году классик компьютерных наук Эдсгер Дейкстра произнес формулу, которая в 2026 году стала звучать как приговор:
«Тестирование программы может доказать присутствие ошибок, но никогда не докажет их отсутствия».
Если ИИ сгенерировал вам функциональный эндпоинт, и все 20 юнит-тестов зеленые — это не значит, что код безопасен. Это значит лишь то, что в рамках идеального тестового сценария функция возвращает 200 OK.
Тест не проверит:
- Что внутри нет скрытой уязвимости типа IDOR или утечки чужих данных через забытый скоуп тенанта.
- Что при конкурентном доступе из 10 000 одновременных запросов база данных не словит взаимную блокировку (deadlock).
- Что для решения пустяковой задачи агент не подтянул «тяжелую» внешнюю зависимость с сомнительной лицензией.
В свежих исследованиях по безопасности кода (в частности, отчетов Veracode и Stanford HAI 2025–2026 годов) зафиксирован пугающий факт: около 45% сгенерированного ИИ кода содержит уязвимости из списка OWASP, даже если этот код идеально компилируется и проходит штатные тесты. Модели великолепно научились писать синтаксис, но они не чувствуют системных угроз.
Итог: Кто же теперь программист?
Сальваторе Санфилиппо прав в главном: программист больше не оператор клавиатуры. Наше эго, завязанное на количестве написанных строк или виртуозном владении синтаксическим сахаром, должно уступить место инженерному прагматизму.
Код обесценился. Но цена системной ошибки архитектора выросла стократно.
Если архитектор ошибся в концепции, ИИ за пять минут сгенерирует 10 000 строк безупречно оформленного, полностью рабочего, но абсолютно неправильного кода, который убьет бизнес при первом масштабировании.
Но почему именно ИИ с такой легкостью разрушает архитектуру, когда задача становится хоть немного сложнее лендинга или CRUD-таблицы? Почему он постоянно выбирает решения, которые кажутся элегантными в моменте, но превращают систему в ад через месяц?
Об этом я подробно расскажу в следующем материале серии: «AI любит прямые дороги: почему локальная оптимизация рушит сложные системы» (выйдет уже скоро).
Полезный ресурс:
Если вы хотите сразу внедрить правильные системные рельсы и шаблоны архитектурных спецификаций для работы с coding-агентами — загляните в мой открытый стартер: AVP-Dev / agent-starter-kit на GitHub.
Читайте также: Призраки в коде: Ловушка AI-разработки | AI: Самый способный и опасный ученик