Автор «Чистого Кода» и «Чистой Архитектуры» всегда славился консерватизмом.
С ноября 2025 по январь 2026 в своём X он начал документировать освоение AI coding. Я проанализировал его записи.
Ноябрь–декабрь 2025
Боб начал с grok-cli, он разрабатывает десктопную игру на Clojure с GUI-библиотекой Quil.
Первое впечатление: «идиот». Снимает рутину, но при этом, требует постоянного контроля. «Вы должны следить за ним, как ястреб», — писал Боб.
Показательный случай: Роберт использовал вектор [x y]. Grok решил, что правильно [y x] — потому что так чаще встречается в обучающих данных. AI молча расставил reverse по всему проекту. Когда он спросил зачем, модель начала ссылаться на «общепринятые конвенции».
Три дня ушло на разбор. Вывод Боба: AI пытается переписать вашу логику под среднее по больнице.
К концу этапа: инструмент полезен, но неряшлив. Путается в скобках Lisp и не чувствует архитектуру.
Январь 2026: переход на Claude
В январе Боб перешёл на Claude Opus 4.5. Разница в цене заметная:
Grok: ~$20/мес
Claude: ~$200+/мес при активной работе
Боб считает, что это окупается. Прирост продуктивности 20–30% для профессионала перекрывает стоимость.
У Боба тормозил рендеринг, он не знал где. Claude предложил добавить в код счётчики метрик. Боб запустил игру, собрал цифры, отправил обратно. На основе этих данных Claude нашёл узкое место и ускорил код на 90%.
Инсайт Боба: самый мощный режим работы — не «напиши мне функцию», а «помоги исследовать проблему».
Цикл: гипотеза AI → сбор данных человеком → анализ AI → решение.
Конец января
К концу месяца Боб запустил три параллельных Claude через Git Worktrees: планировщик (только анализ, менять запрещено), исполнитель (пишет код), ревьюер (оценивает результат).
«С одним агентом я ждал Claude. С двумя — ждал меньше. С тремя — Claude ждёт меня. Я стал узким местом. И узкое место — это планирование».
На следующий день Роберт Мартин попал в то, что назвал «петлёй близорукости» (myopia loop). Поведение игры сложное, каждый твик ломает что-то другое. Вся логика не помещается в контекстное окно — и они с Claude просто прыгают по кругу, чиня то, что раньше работало.
Боб попробовал две архитектуры. Первая: каждый юнит сам решает лучший ход — превратилось в кашу из противоречивых правил. Вторая: иерархические конечные автоматы (генерал → лейтенанты → юниты) — поначалу выглядело перспективно, но снова скатилось в хаос.
«Есть что-то бездушное в том, чтобы пялиться на окна Claude и надеяться, что на этот раз будет правильно».
Откатился до одного агента. Frustrating.
Решение — код 80-х. Уолтер Брайт написал аналогичную игру на C для VMS в 80-х. Боб скормил этот код Claude и попросил портировать логику.
Сработало. Когда Боб видел неправильное поведение — спрашивал «что делал VMS?». Claude отвечал. «Делай так». Claude делал.
«На порядок лучше, чем дни попыток заставить Claude придумать что-то разумное. Я дал ему чужой код».
Вывод: Claude может переводить C в Clojure маленькими инкрементами. Имплементировать чужую стратегию из ресурсо-ограниченной среды — это он умеет. Придумывать сложные алгоритмы с нуля — нет.
Отдельная боль: постоянно напоминать Claude о том, что обсуждали полчаса назад. Складывать всё в claude.md. Всё это — frustrating.
Главные выводы Мартина
-
Боб годами учил: мы больше читаем код, чем пишем, поэтому важнее читаемость, а не скорость написания. Ему задали вопрос: может AI инвертирует этот принцип? Может гипер-продуктивность — в эффективном управлении контекстными окнами?
Роберт решил спросить Claude напрямую: помогает ли тебе, когда я заставляю рефакторить на мелкие функции? Ответ: да. Длинные функции и вложенные условия перегружают контекст модели так же, как и мозг человека. Понятные имена — меньше галлюцинаций.
Вывод: принцип не инвертировался. Читаемость нужна и человеку, и машине.
-
Первые ~1000 строк можно расслабиться — AI генерирует быстро, всё работает, тесты кажутся лишними. Это даёт быстрый старт. Но как только сложность возрастает, модель начинает ломать старое при добавлении нового. Если пропустить этот момент — продуктивность падает почти до нуля.
Мартин называет это «фазовым переходом»: критическая точка, когда нужно резко остановиться и покрыть всё тестами. Упустишь момент — дефицит тестов станет непреодолимым.
-
Дядюшка, который всю жизнь учил программистов дисциплине, неожиданно нашёл источник удовольствия. Есть рефакторинги необходимые, но ужасно скучные: выделить интерфейс из 50 методов, переименовать переменную в 100 файлах. Раньше программист мог оставить код грязным просто потому, что лень тратить два часа на механику.
Теперь это занимает две минуты. «Я просто сижу и улыбаюсь», — пишет Боб. Психологическое сопротивление к рефакторингу исчезло. Цена чистоты упала до нуля — и код становится чище.
У AI нет инстинкта самосохранения. Если тест падает, Claude может войти в цикл: исправил → запустил → упало → добавил лог → запустил → упало. Сжигает токены и забивает контекст мусором. Инженер должен вовремя заметить и сделать
git reset --hard.
Итог
AI усиливает то, что у вас уже есть. Если вы владеете TDD и SOLID — получите ускорение и избавитесь от скучной работы. Если рассчитываете, что AI сделает всё за вас — утонете.
Слова Боба: «Без присмотра AI будет нагромождать код поверх кода. У него нет чувства большой картины. Архитектура, вероятно, за пределами его возможностей».
Принципы Clean Code не устарели. В эпоху AI они стали обязательными. Сгенерировать бинарник можно мгновенно. Поддерживать этот код придётся вечно.
От автора
Я прям вижу те ошибки и грабли, по которым идёт Дядюшка. Ведь я по ним сам прошелся за последний год и извлёк опыт :) Но во многом с ним согласен:
AI это рычаг
На AI нельзя делегировать процесс размышлений – это всё ещё остается на человеке
В AI coding важно использовать вспомогательные детерменированные инструменты – тесты, линтеры
Да, Claude модели сейчас одни из лучших, но вам, как "оператору над AI", всё ещё приходится дирижировать контекстом, чтобы модель не начала галлюцинировать.
Дяде Бобу я бы советовал попробовать codex cli с моделью GPT 5.* High – у неё сейчас лучший instructions following в индустрии, лучше всех держит контекст (отвечает на ~90% вопросов на контексте в 100K tokens и более), делает лучший context engineering за вас. Минус – модели GPT 5.* сильно аутистичные и не такие "вайбовые" как модели Claude. Без дополнительных промптов на стилистику ответа, из коробки, GPT модели ощущаются очень сухими, не умеющими общаться – всё только по делу. При этом, с моделями Claude приятнее общаться – они стараются добавить больше "жизни" в свои сообщения.
Если вам интересно узнать больше про профессиональный подход к AI coding, подписывайтесь на мой Telegram канал, Тимур Хахалев про AI Coding!
Комментарии (15)

dimonier
30.01.2026 13:56Как будто читаю мои наблюдения от вайб-кодинга, если бы я их задокументировал ;-)
В самом деле, если делаешь что-то новое, чего нет в паттернах обучающих данных, или просто по новой логике, чуждой LLM (поменял местами X и Y), то начинается лютая дичь, с которой сложно справляться. По крайней мере, раньше так было.
iroln
30.01.2026 13:56раньше так было
И сейчас ничего не изменилось. Они неспособны действовать за пределами обучающих данных. Нет в данных - начинается бредо-генерация, потому что состояние "я не знаю решения" оно не способно породить. Хоть они и стараются научить модели говорить "я не знаю", пока плохо получается.

Dhwtj
30.01.2026 13:56Первые ~1000 строк можно расслабиться — AI генерирует быстро, всё работает, тесты кажутся лишними. Это даёт быстрый старт. Но как только сложность возрастает, модель начинает ломать старое при добавлении нового. Если пропустить этот момент — продуктивность падает почти до нуля.
Мартин называет это «фазовым переходом»: критическая точка, когда нужно резко остановиться и покрыть всё тестами. Упустишь момент — дефицит тестов станет непреодолимым.
Не тестами, а контрактами между хорошо изолированными модулями. Тест это один из вариантов проверки контракта, но лучше описать контракт в типах.

iroln
30.01.2026 13:56GPT модели ощущаются очень сухими, не умеющими общаться – всё только по делу. При этом, с моделями Claude приятнее общаться – они стараются добавить больше "жизни" в свои сообщения.
По моему это наоборот хорошо. Нафиг не нужны все эти "софт-скиллы".
Самая отвратительная модель по личному не очень богатому опыту - это Gemini. Вот это жополизство и льстивость просто высшего уровня. Все эти "Ты абсолютно прав" и "этот код высшего качества" - это про неё. При том пользы значительно меньше чем от GPT, которая обходится без всего этого тошнотворного восхищения твоим кодом и умственными способностями.
Sigest
30.01.2026 13:56ЧатЖПТ тоже любит тошновторно лизоблюдить. Просишь его "отвечай только по делу, от себя эмоциональные оценки не давай" и он начинает уже нормально отвечать. Но в каждом новом диалоге все возвращается.

iroln
30.01.2026 13:56Я скорее про codex, видимо там системный промпт такой, что лизоблюдство убрано (я не смотрел глубоко, очень мало пользуюсь). В то же время в gemini-cli это просто невыносимо, возможно, что тоже из-за системного промпта.

alcanoid
30.01.2026 13:56Где-то уже видел шутку относительно того, что следующий бестселлер дяди Боба будет называться «Clean Claude».

tkutru
30.01.2026 13:56Прирост продуктивности 20–30% для профессионала перекрывает стоимость.
Осталось понять, как они эту "продуктивность" считали...

Gold141
30.01.2026 13:56У меня негативный опыт работы с gpt 5.2 codex. Инструкции не соблюдает вообще. Мы потом посчитали - 7 раз ему прямо говорил проводи тесты самостоятельно, без моего напоминания, не останавливайся пока не выполнить задачу полностью, каждый раз он извинялся и говорил что больше так не будет, через 2 ответа снова за старое.. вместо ответов на вопрос брался за ненужное исправление кода.
Sigest
Я не дядюшка Боб, но пришел к таким же заключениям. Первые 1000 строк кода - хорошо. Дальше начинается безумие. Пишет новое - ломает старое. Чинит старое - ломает новое. ИИ хорош, если вот совсем не знаешь сферы работы(в моем случае Ангулар) и за не имением других вариантов, то приходится юзать ИИ, но я представляю какой говнокод на выходе получается (оценить не могу ибо почти ноль в Ангуларе).
На беке предпочитаю все же сам делать проект, только небольшие точечные задачи прошу написать. Ну и тесты полностью отдал ИИ. Хотя с одной стороны все равно нужно тщательно проверять, но с другой он часто добавляет edge кейсы в тестах о которых я сам не подумал, что безусловно огромный плюс.
Еще я сделал такой вывод, уже на уровне человеческой физиологии. Либо ты полностью пишешь код, и ограниченно просишь помощь у ИИ. Либо ты полностью отдаешь написание кода ИИ. Работа в режиме 50/50 плохая. Потому что когда ты говоришь условно "напиши мне такой-то сервис". Он напишет, ты проверишь, поправишь, но это уже "не твой сервис, не твой код". Ты вне контекста этого сервиса. Ты очень быстро про него забудешь, а дальше по проекту будешь упорно вспоминать, где же эта бизнес-логика реализована. Когда ты сам пишешь код, то в голове это крепко откладывается и ты знаешь, что где у тебя лежит
WhiteBehemoth
Как органичный вывод из этого, я вместо правок меняю исходные требования и делаю проект с нуля. 3-4 попытки дают что-то близкое к тому, что я хочу.
(уточню, что пробовал только небольшие проекты)
тоже соглашусь и добавлю, что всё написанное прошу объяснять. А так же задаю "свои стандарты" - "безопасный код", бесконечные try/catch со стратегией на выживание на этапе разработки ужасно засоряют код и мешают пониманию логики (ну мне по крайней мере)