📊 Steve Yegge
Veteran Engineer (Google, Amazon, Sourcegraph). Rule of Five и 40% на code health — устойчивое качество при быстрой генерации.
📊 Контекст: 30 лет инженерного опыта
Steve Yegge — один из самых известных технических блогеров в индустрии. Его посты о платформах в Google, о Emacs, о масштабировании систем стали классикой. С приходом LLM-кодогенерации он применил 30 лет инженерного опыта для выработки практик которые учитывают долгосрочные эффекты.
Главный тезис Steve: LLM-генерируемый код накапливает tech debt быстрее чем человеко-написанный, если не управлять этим процессом активно.
🔢 Практика 1: Rule of Five — 4–5 итераций до декларации
Steve вывел эмпирическое правило: первый результат Claude почти никогда не является оптимальным. 4–5 итераций исправлений дают «настолько хорошо насколько возможно» для данной постановки задачи. Раньше принимать — оставлять деньги на столе.
Как итерировать: после каждого результата задавай направленные вопросы — «что ещё можно улучшить в этой реализации?», «есть ли edge cases которые не покрыты?», «как это масштабируется при 10x нагрузке?». Claude часто знает о проблемах но не говорит о них без прямого вопроса.
Важное условие: если после 5 итераций прогресса нет — это сигнал что постановка задачи неправильная. Переформулируй с нуля, не продолжай итерировать.
❤ Практика 2: 40% времени на code health
Steve вывел конкретную цифру: 40% времени разработки нужно инвестировать в code health — рефакторинг, документацию, тесты, оплату tech debt. Это не опционально и не «когда будет время» (времени не будет никогда).
Причина конкретно для LLM-кода: CC генерирует код быстро, но качество без управления деградирует ещё быстрее. Если не вкладывать 40% в code health — через несколько недель будет тратиться более 60% на исправление долгов.
Практически: каждый sprint включает явные задачи на рефакторинг. Claude отлично делает рефакторинг когда ему дают чёткую цель — это не менее важная задача чем фича.
Неделя 2: 80% фичи, 20% баги
Неделя 3: 60% фичи, 40% баги
Неделя 4: 40% фичи, 60% баги
Накопленный tech debt убивает скорость
Неделя 2: 60% фичи, 40% code health
Неделя 3: 60% фичи, 40% code health
Неделя 4: 60% фичи, 40% code health
Скорость остаётся предсказуемой
📅 Практика 3: Software Shelf Life < 1 года
Steve формулирует провокационно: срок жизни LLM-генерируемого кода — меньше года в среднем. Через год модели будут лучше, паттерны изменятся, рефакторинг по старым правилам будет дороже чем перегенерация.
Из этого следует важный вывод: модульность и изоляция компонентов важна как никогда. Маленькие, независимые, хорошо тестированные модули можно перегенерировать по одному. Большой монолит с высокой связностью — нет.
Прежде чем рефакторить старый AI-код: написать характеризационные тесты которые фиксируют текущее поведение. Потом рефакторить или перегенерировать — тесты скажут если что-то сломалось.
🧱 Практика 4: Beware the Merge Wall
Steve предупреждает о специфической проблеме мульти-агентных workflow: если несколько агентов работают от одного git-baseline, при merge будет «стена конфликтов» которую разрешать вручную дольше чем сделать всё последовательно.
Решение: либо строгая serialization (один агент за раз), либо очень чёткие boundaries ответственности — каждый агент работает только со своими файлами, без пересечений. «The merge wall is where parallel agent workflows go to die».
Для работы с Claude в параллельных ветках: git worktrees дают изоляцию на уровне файловой системы.
🧪 Практика 5: Независимая верификация тестов
Steve жёсткий в этом вопросе: никогда не принимать заявление Claude что тесты проходят без независимой проверки. Claude может: запустить тесты и неправильно интерпретировать вывод, запустить не те тесты, «забыть» про тесты после авто-компакции контекста, или просто солгать (галлюцинировать).
CI/CD — последний рубеж защиты: тесты запускаются независимо от Claude в чистой среде. Если они падают там — значит что-то Claude «починил» только у себя в голове.
🔑 Ключевой вывод
Уникальность позиции Steve Yegge — в долгосрочной перспективе. Большинство практик CC оптимизированы на сегодняшнюю скорость. Steve оптимизирует на скорость через 6–12 месяцев. Rule of Five, 40% на code health, модульность для shelf life — всё это инвестиции которые окупаются во времени, не сразу.
📋 Как применять Rule of Five на практике
Steve описывает конкретную механику итераций. Важно: каждая итерация должна задавать разный угол, не повторять тот же вопрос другими словами:
💰 Расчёт: почему 40% на code health — не роскошь
Steve приводит математику которая убеждает скептиков:
Месяц 2: 7 фич (20% уходит на баги)
Месяц 3: 5 фич (40% уходит на баги)
Месяц 4: 3 фичи (60% уходит на баги)
Итого: 25 фич
Плюс: команда выгорает, code base нечитаем
Месяц 2: 6 фич (скорость стабильна)
Месяц 3: 6 фич (debt не накапливается)
Месяц 4: 6 фич (стабильная скорость)
Итого: 24 фичи
Плюс: устойчивый процесс, читаемый код
Разница в 1 фичу за 4 месяца — незначительна. Разница в качестве и устойчивости — огромна.
💬 Цитаты Steve об AI-разработке
📌 Применение в Laravel / Python стеке
Steve's 40% правило работает только если code health задачи конкретные, не абстрактные:
- «Найди все N+1 запросы в контроллерах и добавь eager loading» — конкретно, верифицируемо
- «Добавь SQL-индексы на все колонки которые используются в WHERE без индексов» — конкретно
- «Напиши характеризационные тесты для AuthService перед рефакторингом» — конкретно
- «Улучши код» — слишком абстрактно, Claude не знает что именно улучшать