Я провёл аудит веб-сайта CEO Y Combinator Гарри Тана после того, как он похвастался, что выдаёт по 37 тысяч строк кода в день, и держит этот темп уже 72 дня. В статье я покажу, как на самом деле выглядят в продакшене 78,4 тысячи строк ИИ-слопа. При загрузке одной главной страницы http://garryslist.org в 169 запросах загружается 6,42 МБ. И это для простого новостного блога с рассылкой.

Абсолютно безумная неделя для агентской разработки. 37 тысяч строк кода в пяти проектах. И мы продолжаем ускоряться.
Абсолютно безумная неделя для агентской разработки. 37 тысяч строк кода в пяти проектах. И мы продолжаем ускоряться.

Главная страница отправляет каждому посетителю по 28 ТЕСТОВЫХ ФАЙЛОВ. Не просто результатов тестов, а реальных тестовых обвязок. membership_form_controller.test (89 КБ), media_grid_controller.test (31 КБ), story_composer_controller.test (19 КБ)... 300 КБ кода тестов. Все они возвращают HTTP 200. Все активно скачиваются, файл HAR не обманет.

Кроме того, она скачивает 78 контроллеров Stimulus, в том числе для...

  • ИИ-генерации изображений;

  • извлечения голоса;

  • генерации видео;

  • лепестковых диаграмм;

  • проверки черновиков;

  • вычислений Voice Lab;

  • и буквально шаблона «Hello World» Rails (hello_controller.js, 157 байт).

Итого передаётся 154 КБ. Ничего из этого не применяется на главной странице, но браузер всё равно это всё загружает.

Больше всего мне нравится история с логотипом. Один и тот же медведь загружается... 8 раз на каждую загрузку страницы: 3 копий в PNG, 2 варианта в WebP, 2 варианта в AVIF и фавиконка 512x512.

Один из файлов AVIF имеет размер 0 байт.

Пустой файл.

Ошибка преобразования файла, которую опубликовали и загружают в продакшене. Полный объём: 654 КБ на два логотипа.

Но основную нагрузку составляют изображения из статей, передаваемые с CloudFront в виде сырых несжатых PNG:

  • Изображение 1: PNG на 2,07 МБ.

  • Изображение 1: PNG на 1,99 МБ.

  • ...

Браузер отправляет > Accept: image/avif, image/webp, в явной форме запрашивая современные форматы. Сервер игнорирует просьбу и отправляет 4 МБ сырых PNG. В формате WebP они суммарно весили бы 200-400 КБ. И это 4 МБ, потраченных впустую лишь на два изображения.

Другие интересности из аудита:

  • 520 KB редактора форматированного текста Trix (передаётся 120 КБ), загружаемые на страницу, предназначенную только для чтения (это попало сюда из бэкенда?).

  • 47 изображений с пустым alt=""... на сайте, «вовлекающем в общественную жизнь».

  • Всё содержимое страницы рендерится в DOM дважды (мобильная + десктопная версии).

  • Дублирующиеся теги <title> в <head>.

  • Пустой файл CSS (только комментарий с манифестом, хэширован по содержимому и передаётся сервером).

  • Аналитика PostHog проксится через /s/, чтобы... обходить блокировщики рекламы, как написано в его собственном комментарии к коду.

Исходный код в буквальном смысле содержит такой комментарий: // Load SDK from our proxy (bypasses ad blockers) . Некоммерческая «организация, занимающаяся вовлечением граждан в общественную жизнь» согласно классификации 501(c)(4) Налоговой службы США, активно старается обходить инструменты обеспечения конфиденциальности своих читателей, чтобы следить за ними пристальнее. При этом она передаёт в продакшен тестовые файлы, пустое поломанное изображение и 4 МБ сырых PNG.

Для контекста: главная страница Hacker News, поддерживаемая собственной организацией Гарри Y Combinator, делает 7 запросов и передаёт 12 КБ. Страница Гарри делает 169 запросов и передаёт 6,42 МБ: она в 562 раз тяжелее. Даже если не учитывать изображения, 73% передаваемого объёма — это мусор.

ИИ и LLM — потрясающие инструменты, я сам пользуюсь ими каждый день и даже сжёг в прошлом году больше трёх миллиардов токенов (2,5 миллиарда в одном только Cursor), но ИИ увеличивает масштабы того процесса, который ты подаёшь ему на вход, в том числе и отсутствие процесса. Сайт Гарри — пример того, что происходит, когда заменяешь ревью кода счётчиком ежедневного выпуска фич. Ударный режим Duolingo для git push. Автоматизации делают именно то, что им скажут. И никто не сказал им, что нужно остановиться.

Мой аудит касается только клиентской части, того, что загружает браузер. Я не прочитал ни одной строки слопа исходников.

Дополнительный контекст: когда семнадцатилетний разработчик (@xiaonweb) вежливо сообщил, что хвастаться количеством строк глупо, Гарри в ответ публично обозвал его «зарабатывающим хайп» подростком. Этот подросток написал в 17 лет движок браузера на Rust: токенизатор HTML, каскад CSS, структуру box model и GPU-рендерер на wgpu, после чего опубликовал технический анализ, продемонстрировав более глубокое понимание работы веба, чем у большинства сениор-разработчиков, с которыми я работал (в том числе и у меня, потому что я никогда не копал вглубь).

Сравните это с нацеленным на «выпуск» человеком, президентом Y Combinator, многомиллиардного вершителя судьб стартапов, который массово генерирует код при помощи 113 сессий Claude в неделю, считает строки, как стрики в Duolingo, и выпускает в продакшен файлы тестов, пустые 0-byte AVIF и 4 МБ несжатых PNG. Да, отлично, оскорбляй подростка на своём основном аккаунте.

@garrytan: «Вы написали это, но троллите мои посты? Не понимаю. Думаю, вы поняли, в чём смысл, но предпочитаете зарабатывать хайп». @xiaonweb: «Но мне всего 17, чего же можно ожидать от глупыша?»
@garrytan: «Вы написали это, но троллите мои посты? Не понимаю. Думаю, вы поняли, в чём смысл, но предпочитаете зарабатывать хайп». @xiaonweb: «Но мне всего 17, чего же можно ожидать от глупыша?»

Комментарии (40)


  1. Cheater
    03.04.2026 10:48

    Этот подросток написал в 17 лет движок браузера на Rust (…) продемонстрировав более глубокое понимание работы веба

    Я открою вам страшную правду…


    1. ferosod
      03.04.2026 10:48

      Я тут подожду


      1. Cheater
        03.04.2026 10:48

        Извиняюсь, шутка слишком тонкая вышла) Я имею в виду, что весьма вероятно, что этот браузерный движок, равно как и его “глубокий технический анализ”, вышеупомянутый подросток сделал с помощью ИИ. В свете чего весьма забавно наблюдать его замес с ОП. Я не верю в 17-летних гениев, пишущих браузерные движки, а если они и есть, то последнее место, куда им интересно будет приходить, - это комменты к хайповой статье про очередной $productname, сделанный ИИ.


        1. Halt
          03.04.2026 10:48

          Если уж говорить про Rust и подростков, то есть некто EddyB. Один из наиболее значимых и долгосрочных контрибьюторов компилятора.

          Он входил в Compiler Team в статусе мейнтейнера, работал в рабочих группах Grammar, Polymorphization и MIR optimizations.

          Занимается этим уже больше 10 лет и включает фундаментальные изменения в архитектуре компилятора, не говоря про множество оптимизаций. Притом контрибьютить он начал еще будучи старшеклассником.

          К слову, return position impl Trait — его идея и реализация. И тогда ему было меньше 20. А еще MIR, LLVM codegen, mangling, ...


  1. gazkom
    03.04.2026 10:48

    У меня на работе чувак был, сайт делал, так ровно так же было на выходе. А было это 15 лет назад.


  1. Tirarex
    03.04.2026 10:48

    Ради интереса погулял по тому сайту. Он грузится по ощущениям раза в 2 быстрее чем хабр. Во вкладке сети, последние файлы на хабре отгружаются спустя 5сек. garryslist же заканчивает загрузку спустя 2 сек. Вкладка с главной хабра занимает 109мб оперативки в FF. Вайбосайт занимает 47мб.

    Сравнение ужа с ежом, но не сказать что тот сайт работает совсем уж плохо.


    1. gaussssss
      03.04.2026 10:48

      Хабр в целом работает медленно и с раздражающими багами, он многим сайтам проиграет)


      1. achekalin
        03.04.2026 10:48

        Это вы еще скажите, что за хабром не следят, контент не развивают, до него словно бы дела никому нет? Нельзя, нельзя такое говорить!


    1. Mes
      03.04.2026 10:48

      Вы опоздали - посмотрите в devtools, той дичи, которая описывается в статье, уже нет


      1. jazis
        03.04.2026 10:48

        так статья переводная. сколько времени прошло с тех пор? кстати, что будет, если ИИ попросить оптимизировать код?


        1. delicious
          03.04.2026 10:48

          31 Mar


        1. Entens
          03.04.2026 10:48

          Качество оптимизации будет зависеть от качества "просьбы" - это слово слишком упрощено.

          "ИИ" - это не исполнитель задачи, а усилитель входных данных.


    1. k4ir05
      03.04.2026 10:48

      Он грузится по ощущениям раза в 2 быстрее чем хабр

      Это заслуги Rails (точнее Turbo). Он загружает ссылки в фоне ещё при наведении курсора, из-за чего на момент клика по ней страница обычно уже загружена и просто заменяет текущую. Это можно заметить во вкладке сети. Там же можно заметить, что время загрузки довольно большое: 400-1000мс.


  1. ImagineTables
    03.04.2026 10:48

    Пока другие спорят, надо программировать руками или при помощи LLM (глупо или не глупо хвастаться количеством напрограммированных строчек), я пытаюсь понять, зачем там вообще нужно было программирование. Этот garryslist.org простой же контентный сайт! Столько всяких CMS’ок, от ультраоптимизированных до сверхфункциональных комбайнов.

    Почему люди так любят реюзать код не через платформы, программы, библиотеки и модули, а через копипасту?


    1. ImagineTables
      03.04.2026 10:48

      Кстати, иллюстрация с этого сайта:

      Мне эти иллюстрации (которых и на Хабре полным-полно) напоминают, когда маленькие дети просят: «Пап, нарисуй, как Кощей Бессмертный сражается с пиратами «Чёрной жемчужины», а потом прилетает Бэтмен, лазерами пыщь-пыщь, они свергают ситхов, в Галактике воцаряется мир, приходят эвоки, и все вместе садятся пить чай с конфетами, Бэтмен женится на принцессе Пич, у них родились прекрасные дети, и один потом стал Человеком-Пауком». И ты такой: «Э-э-э-м…»

      Хорошо, что безотказный чат-бот безотказен.


    1. sbw
      03.04.2026 10:48

      Потому что библиотеки меняются, а копипаста приколочена гвоздями ... навечно)


  1. AnotherProger
    03.04.2026 10:48

    Если бы нашли уязвимость какую-то, да было бы , что обсудить. А так часто и в обычных сайтах бывает много говнокода и лишних файлов


  1. legolegs
    03.04.2026 10:48

    Страница Гарри делает 169 запросов и передаёт 6,42 МБ

    А у кого жестянка этому научилась? У кого, га?


    1. m0tral
      03.04.2026 10:48

      Жестянка научилась, но в большое у нее ещё большие проблемы, в этом суть, а не в кожанных уж точно


  1. Wosk1947
    03.04.2026 10:48

    Картинка вместо тысячи слов. Вот она, мощь искуственного интеллекта (и отсутсвия живого)


  1. xSVPx
    03.04.2026 10:48

    Всем пофиг.

    Они и раньше такие результаты выдавали, без всяких чатботов.

    И не сказать, что ныне это проще и дешевле.

    При этом часто заказчики подобного вполне довольны. Например я регулярно чиню лендинг заказанный за хреналионы денег в официально одобренной студии и кем-то принятый. На битриксе сделан :). Он даже жирнее. Падает раз в год примерно. Под него отдельная жирная виртуалка развернута.


    1. gaussssss
      03.04.2026 10:48

      Падает раз в год

      Хороший показатель для битры)


      1. xSVPx
        03.04.2026 10:48

        Справедливости ради: как часто падает никто не знает. Замечают раз в год.


    1. Gromilo
      03.04.2026 10:48

      Согласен. Сайт работает? Работает? Чувак получил то что ему надо? Получил. Чего ещё надо то?


      1. xSVPx
        03.04.2026 10:48

        Вопрос "кому" и "зачем".

        Если это все никому не надо - один разговор.

        Если это часть системы зарабатывающей деньги, другой. Пользователи, зарразы тупо закрывают такие сайты вместо того, чтобы платить деньги, не дожидаются пока все загрузится. Поисковики пессимизируют в выдаче. Итд итп.

        Нормально делай - нормально будет.


      1. z0rig
        03.04.2026 10:48

        Оперативка тем временем дорожает для нас всех, как и счета за ээ, зато тысячи подобных типов «получают что хотят»


        1. Gromilo
          03.04.2026 10:48

          Что поделать, экономика так работает. Как только оптимизация станет конкурентным преимуществом, так и начнут оптимизировать.


  1. Einherjar
    03.04.2026 10:48

    он похвастался, что выдаёт по 37 тысяч строк кода в день, и держит этот темп уже 72 дня

    А что полезного делают эти два с половиной миллиона строк кода, которые нагенерил этот бездельник?

    Сайт уг какое то нечитаемое. У многочисленных провальных стартапов что ли он научился как не надо в юзабилити


    1. JVyacheslav
      03.04.2026 10:48

      Больше строк кода богу строк кода! Мне нужно БОЛЬШЕ строк кода!


    1. Cringeon
      03.04.2026 10:48

      Чёт есть подозрение что все эти тысячи строк кода включают в себя и лок файлы, и нод модули...


    1. Dhwtj
      03.04.2026 10:48

      Сайт он типо 2 дня делал, остальное - другие проекты


      1. Einherjar
        03.04.2026 10:48

        Че то долго для такого


    1. achekalin
      03.04.2026 10:48

      Вы так пишете, словно юзабилити у известных сайтов на высоте.

      ФБ специально заточен под худший UX, линкедин - тоже (даже больше), да и вообще, сайтам выгоднее зарежка юзера на нем и пока он там свои задачи решает.

      Вы пост не можете написать - а у дизайнеров ФБ kpi капает. Понимать надо!

      Правда, вот на Хабре иное - редактор тут жжет, пока большой пост оформишь - сто раз захочешь хотя бы поддержку импорта из md, а заодно api. Но тут, видно, kpi не горит от этого, "пусть повисит", чего уж!


      1. sepulkary
        03.04.2026 10:48

        При редактировании поста переключитесь на Markdown, после этого можно будет вставить свою предварительную заготовку.

        Статью для “Хабра”, конечно, лучше хранить у себя на GitHub, с историей правок, перед публикацией просто копировать иллюстрации на habrastirage - и готово.


  1. elroy
    03.04.2026 10:48

    Может автор не вник в суть - "37к loc across 5 projects" - в 5 проектах. Автор вёл 5 проектов одновременно? Являясь CEO YC?


  1. house2008
    03.04.2026 10:48

    Думаю многие опытные разработчики уже поняли, что даже топ модели генерят рабочий, но мусорный и одноразовый код без строгого присмотра.

    Скрытый текст

    Мне буквально вчера понадобилось посчитать ша256 для нескольких строк, топ модели начали склеивать строки и потом отправлять в ша, но эта склейка вызывает дополнительные аллокации -> потеря скорости, хотя крипто библиотека поддерживает итеративное добавление данных чтобы избежать промежуточные аллокации, как этого не учли модели мне не ясно так как во всех популярных туториалах используется оптимизированный механизм.

    И так с каждой задачей, нужно всё перепроверять.


  1. Ravius
    03.04.2026 10:48

    Ну добавить он проверку на "а что отдаёт мой сайт"...и не будет этих багов или оптимизирует это после.

    Вас суперапы по 1гб не смущают?

    Статья чтоьы набрать плюсов из-за хайпа


    1. xSVPx
      03.04.2026 10:48

      Нас смущают аппы и по 1мб. Непонятно только почему вы этим интересуетесь.

      Чтобы добавить какую-то проверку надо быть не вайбкодером, а инженером. Если ты не понимаешь что хочешь получить в итоге, ты и проверить не сможешь. А если понимаешь, то костыли нужны нечасто.


    1. Dhwtj
      03.04.2026 10:48

      суперапы по 1гб не смущают?

      Rational suite занимал DVD в 2008 году. Хотя, это аналог Jira + Git + ERwin + движок бд.


  1. mittorn
    03.04.2026 10:48

    Однако, на фоне сайтов наших банков его вайбкод нервно курит в сторонке, загружаясь практически мгновенно...

    Это всё конечно оверхед, но на фоне обильно заполненных зависимостями вебпаков он остаётся весьма мизерным