TGViewer
Шаланда Кефали Шаланда Кефали @watchyourhead · 65 subscribers
Post #88 53
Код больше не читают

На Hacker News выложили проект: инструмент, чтобы вайбкодеры могли читать и анализировать код. В комментах сразу развернулась дискуссия. Один пишет: «А зачем это вайбкодерам? Они же код не читают, им Клод готовые файлы отдаёт, а они их на GitHub и в прод». Второй добавляет: «Зачем вообще код читать? Его слишком много, это время отнимает. Надо скинуть его в LLM, она прочтёт и скажет, всё ли там нормально».

И ведь пишут на полном серьёзе.

Я сначала хотел возмутиться. Потом подумал. И понял: в этом есть большая правда. Только сформулирована она грубо.

Читать каждую строку сгенерированного кода - это не масштабируется. Если вы каждый день принимаете сотни строк от LLM, глазами вы их не вычитаете. Это иллюзия контроля. Но и просто «скинуть код в LLM и спросить, всё ли ок» - это не инженерия. Это лотерея с красивым интерфейсом.

Я для себя решил так: код не нужно читать. Его нужно просматривать. И не глазами, а через структуру, метрики и правила.

Что я сделал

Я написал собственный сканер. Он переводит код в code property graph. А дальше сверху уже висят разные алгоритмы для статического и структурного анализа плюс набор правил для проверок описывающих целевую архитектуру. По сути, я просто развил идеи таких проектов, как Joern и ArchUnit.

Это даёт мне то, чего не даст чтение глазами. Я вижу не «вот эта функция выглядит нормально», а конкретные свойства:
- какие зависимости появились;
- где нарушены архитектурные границы;
- есть ли запрещённые вызовы;
- как устроены циклы и связность;
- где дублирование;
- где сложность растёт быстрее, чем ценность;
- какие модули стали слишком связанными.

То есть я не читаю код. Я изучаю его граф. И уже по графу принимаю решения.

Что читать обязательно

А вот что реально нужно читать - это спеки, gherkin-тесты и отчёты анализаторов. Потому что если спека врёт или тест ничего не проверяет, никакая LLM вас не спасёт. Она просто скажет: «Всё выглядит хорошо». И вы пойдёте деплоить чёрный ящик.

Основное время я трачу не на чтение сгенерированных файлов, а на развитие навыков:
- структурный и статический анализ;
- поведенческое тестирование, BDD;
- мутационное тестирование;
- чтение отчётов и настройка правил.

Это то, что даёт уверенность. Не «я посмотрел на код и мне показалось нормально», а «код удовлетворяет вот этим свойствам, и я могу это доказать».

Метрики Холстеда внезапно вернулись

Забавно, но метрики Холстеда - те самые, над которыми много лет смеялись - вдруг стали актуальными. Причём и для людей, и для агентов.

Почему? Потому что когда кода становится слишком много, ты не можешь оценивать его «на вкус». Нужны измеримые величины: объём, словарь, сложность, энтропия. Для LLM это тоже работает. Мы же можем измерять, насколько сложный код она сгенерировала, насколько он предсказуемый, насколько плотный. Это уже не философия, а инженерная метрика.

Код как ассемблер

Я всё чаще думаю, что код сейчас - это что-то вроде ассемблера или байт-кода LLVM. Если есть желание, можно разобраться. Но незнание больше не мешает создавать сложные инженерные проекты.

Это не значит, что можно вообще ничего не понимать. Это значит, что набор навыков сместился. Раньше ключевым было умение писать и читать строки. Теперь ключевое - уметь задавать свойства, которым код должен удовлетворять, и проверять эти свойства автоматически.

И нет, это не про «делегируй все типы задач в ИИ». Это про то, что делегировать можно не всё. Спецификацию, архитектурные ограничения, тесты, правила анализа - это всё ещё работа инженера. Просто интерфейс изменился.

Так чем же читать сгенерированный код?

Мой ответ: не читать. Просматривать.

Глазами - спеки, тесты и отчёты анализатора. Код - через граф, метрики и правила. LLM - как помощник, но не как единственный рецензент. Если код нельзя проверить свойствами, это не код, а технический долг.

Вайбкодинг не отменяет инженерию. Он меняет её интерфейс. Раньше мы читали строки. Теперь читаем графы, правила и тесты. Кто не научится - будет деплоить чёрные ящики. Кто научится - сможет делать сложное быстрее и надежнее чем было прежде.

А чем читаете сгенерированный код вы?
More from @watchyourhead
  1. Sep 30, 2026Муда в эпоху ИИ: как мы автоматизируем пустоту Что такое муда и почему это важно сегодня В…
  2. Sep 30, 2026Вы наверное поняли что предыдущие пару постов были написаны при помощи ИИ -шки. Мысли то м…
  3. Sep 21, 2026100 тысяч почему Есть что-то завораживающее в том, как устроен наш мир. Мы привыкли думать…
  4. Sep 9, 2026А лучше не идите в лес. Замаятесь все это тащить на себе. Придется по пути выкинуть часть…
  5. Sep 2, 2026Великие
  6. Sep 2, 2026Ещё один ИТ-боярин (на самом деле купец) шлёт важную депешу
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →