Программистам всё ещё полезно писать код руками — даже в эпоху умных ИИ-агентов. Автор статьи спорит с популярным мнением, что человеку больше не нужно лезть в код, потому что агенты и так всё сделают. Да, он признаёт, что «большинство его кода создано искусственным интеллектом» и тоже «заражён AI-психозом». Но отказываться от ручного написания кода — ошибка.
Дело не в том, что люди пишут красивее. А в том, что, просто читая код как пассивный наблюдатель, невозможно по-настоящему прочувствовать архитектуру системы. Автор хочет не плоскую 2D-картину из диффов и патчей, а «полное 4DX-погружение с датчиками боли». Только так можно ощутить хрупкость кода, которую агенты не замечают.
Если человеку самому трудно дописать что-то, не сломав остальное, — агенту будет в разы сложнее. Ручная чистка кода и выявление слабых мест в тестировании убивают целые классы багов. Агенты же, наоборот, склонны усиливать одну-единственную плохую идею разработчика. Автор приводит пример: однажды утром он в кое-как запилил сохранение состояния в localStorage, хотя всё остальное хранилось в базе. ИИ-агент послушно обернул эту ошибку в тройной слой косвенности, утроив количество строк кода.
Агенты — не компиляторы, а «стажёры, которых только взяли на борт». Они читают частично кривой код, получают неточное описание на английском и пытаются сделать безопасное минимальное изменение. Человек не может делегировать стажёрам чувство вкуса и ответственность за архитектуру.
Проблема ещё и в том, что английский — неточный язык для описания вычислений. Для алгоритмической работы нужно мыслить непосредственно в исполняемых шагах, а не проксировать их через словесное описание. Иногда нужен низкоуровневый язык и полная свобода, иногда — высокоуровневый с ограничениями. Агенты, работающие по принципу «сделай инкрементальное изменение и не трогай лишнего», никогда не следуют правилу бойскаута («оставь код лучше, чем он был»).
Автор призывает не забывать, что «программная фабрика» — это в первую очередь конвейер. Иногда нужно разобрать его до винтика, чтобы улучшить на 10%, а не просто штамповать детали. Умение погружаться в детали и связывать их с общей картиной — вот что отличает инженера от оператора конвейера. И писать код руками этому помогает.