AI-агенты построили одну и ту же платформу книжных клубов на Rails, Next.js, Go + Gin и Django. Вопрос один: насколько легко агенту писать по документации рабочий код и фичи.
Итог, 10 критериевБэкенд против фронтенда
Каждый силён в своём
Почему так
Rails — единственный, кто силён в обоих: встроены и серверные компоненты, и Turbo/Stimulus.
Django — почти Rails на бэкенде, но без аналога Turbo фронтенд приходится писать вручную.
Next.js — лучший фронтенд, а бэкенд собирается из чужих библиотек.
Go + Gin — строгий быстрый бэкенд, но он почти весь собран из библиотек, а для интерфейса нет ничего.
Фичи
Что даёт фреймворк, а что пишешь сам
встроеночастичнонет: библиотека или свой код
Почему так
Rails и Django — full-stack фреймворки: у них есть компонент на каждую серверную задачу.
Next.js — фреймворк для интерфейса, а Gin — только HTTP-роутер: всё остальное собирается из библиотек.
У Go многое закрывает стандартная библиотека (криптография, почта, шаблоны), но частично и без связки.
Оценки
Десять критериев
Почему так
Django выигрывает точностью примеров и инструментами: примеры работают как написаны, check --deploy ловит ошибки конфигурации.
Rails выигрывает встроенностью и предсказуемостью: правильное место для кода угадывается заранее.
Go делит с Rails и Django первое место по тестируемости: всё проверяется в коде за секунды.
Документация
Где агент берёт документацию
Объём документации, тысяч слов
Почему это важно
Агент не листает сайт, как человек: каждая страница — отдельный сетевой запрос.
Только у Next.js документация сама приходит при установке пакета и совпадает с его версией.
У Django самый большой справочник, но в обычную установку он не входит: его нужно отдельно скачать из исходного архива на PyPI.
У Gin документация в десять раз меньше: стыки компонентов приходится добирать из исходников и go doc.
Скорость обратной связи
Как быстро видно ошибку
Один цикл «правка → тесты», секунды
Тесты: в коде и через браузер
Почему так
Rails, Django и Go проверяют сервер прямо в коде, без браузера.
В Next.js серверные действия и компоненты вне браузера не запустить: остаются E2E-тесты.
У Go чуть дольше из-за компиляции, а с проверкой гонок -race — около 70 с.
Куда ушло время
Сколько отладки — по вине документации
Доли сообщили сами агенты Django и Go. Для Rails и Next.js таких замеров нет.
Почему так
В Go каждая пятая минута ушла на чужие ошибки: недокументированное поведение Gin и библиотек.
В Django таких минут вдвое меньше: справочник описывает поведение точно, спотыкались только на новых фичах 6.x.
Ошибки документации
Главные ловушки
Rails
Пример из гайда Plugins вызывает несуществующий метод.
Генераторы молча перезаписывают файлы, если нет терминала.
Next.js
При стриминге 200 вместо 401 и 308.
Пример CSP из гайда ломает production.
Go + Gin
Стриминг из Gin падает в рекомендованных тестах.
Ошибка шаблона отдаётся как 200 с пустой страницей.
Django
Ограничения нового DB_CASCADE видны только в system checks.
serialized_rollback ломает соседние тесты, в доке ни слова.
Объём
Чего стоило собрать продукт
Почему так
Go — больше всего своего кода: CSRF, сессии, flash-сообщения, layout-шаблоны пришлось писать самим.
Next.js и Go — по 12 сторонних библиотек под серверные задачи; у Rails их две.
Для агентов
Что выбирать
Продукт с богатым бэкендом и простым UI — Django: точная документация, быстрые проверки.
Full-stack продукт с интерактивным UI — Rails: всё встроено с обеих сторон.
Сложный интерфейс поверх готового API — Next.js: лучшие фронтенд-инструменты.
Нагруженный API-сервис — Go + Gin: строгие типы и один бинарник, но прикладной слой пишешь сам.
Rails и Next.js оценивал я по ходу работы. Django и Go оценивали отдельные агенты (Claude Opus) по тому же ТЗ. Затем я калибровал их оценки вопросами по тем же ориентирам: агенты сами снизили доступ к докам (Django 9→8, Go 6→6,5), фронтенд Django (5→4) и бэкенд Go (7→6).
Фронтенд Go я снизил с 4 до 3: в матрице фич у него не закрыт ни один пункт, а у Django с одним частичным стоит 4.
Оценки разных агентов сравнимы грубее, чем Rails с Next.js: разница в 0,2 балла между Django и Rails — в пределах погрешности.
Баги dev-серверов и особенности локального окружения в оценки не входят.
Django и Go строились вторыми, по готовому ТЗ, поэтому время по git с Rails и Next.js не сравнивается.