Ask HN: Кто-нибудь создаёт хороший код с помощью coding agents?

Ask HN: Is anybody producing good code with coding agents?

Я слышу от senior-инженеров, что качество кода, генерируемого AI (Claude, agy, Copilot, Codex), ужасно: его тяжело читать, в нём полно подводных камней, а ревью занимает в 5 раз больше времени. Я почти не понимаю, что одобряю, и с каждым днём всё дальше от понимания кодовой базы. Раньше мы гордились элегантностью и ремеслом, а теперь я целыми днями продираюсь через запутанный код. Кто-нибудь решил эту проблему? Пожалуйста, помогите!

Обычно я создаю почти тот же код, который написал бы сам, примерно в 5 раз быстрее с AI. Я не позволяю Claude Code работать без присмотра долгое время, чтобы не получить беспорядочный код для ревью. Я заставляю его делать небольшие фрагменты, которые можно быстро проверить, даю обратную связь, итерирую и т.д., пока результат меня не устроит, затем перехожу к следующему шагу. Это, конечно, занимает время, но я обнаружил, что это быстрее, чем проверять огромный беспорядочный code review.
В чём проблема предложенного решения? Больше не читать/писать код. Иметь мощный harness. Именно так в основном работает моя команда из ~30 человек. Проблема, которую мы пытаемся решить, никогда не заключалась в написании кода, а в решении бизнес-задач.
"Я больше не понимаю код. Он работает." Это нормально... сегодня. "Мне _никогда_ больше не придётся понимать этот код" — это _совсем_ другое утверждение. Если вы не понимаете код, и код не был написан человеком, когда вы в конце концов окажетесь в тупике, насколько сложно будет выбраться? Будет ли это легче или сложнее, чем поддерживать понимание на протяжении всего времени до этого момента? Возможно, вы ставите на карту свою компанию. Насколько вы уверены?
Я использую LLM для генерации кода, который не хочу писать: прототипы, тесты, бенчмарки, изолированный, почти copy-paste код. Я по-прежнему пишу свой собственный код, как и раньше, потому что мне это нравится, и потому что пытаться понять и исправить то, что генерирует и перегенерирует LLM, сложнее, утомительнее и отнимает больше времени, чем написать код так, как я хочу, с самого начала.
Это спектр. Для кода, поддерживаемого AI (например, GUI для визуализации данных о производительности), мне плевать, как выглядит код. Я просто позволяю Claude или Codex сходить с ума и на 100% vibe code. Для кода, который мне важен, я проверяю каждый отдельный фрагмент по мере его создания. Я даю обширные руководства по стилю и строго пресекаю такие вещи, как 20-строчное эссе в комментарии. Для критически важного кода я пишу код сам и поручаю агенту проверить его.
После того как я несколько раз загонял себя в угол с помощью vibe coding на важных проектах, теперь у меня только два режима: clankermaxx для кода, который мне не очень важен (в основном frontend React), и писать вручную всё остальное. Использование Django для backend уже убирает большую часть мусора, а написание вручную также означает, что я действительно понимаю, что происходит. Пока работает нормально. Я всё ещё сомневаюсь насчёт тестов: я не очень люблю их писать, но сгенерированные LLM тесты довольно плохи, даже у передовых моделей на xhigh thinking. Обычно я генерирую их, но у меня нет уверенности, что они проверяют что-то кроме 1==1. К сожалению, трудно оправдать время, затраченное на написание их вручную.