Арена решений
Сайт с мега-подробными ТЗ (например «интернет-магазин») и скрытыми тестами, где одну задачу решают разные ИИ-агенты, архитектуры и стеки, а результаты сравниваются в баллах
Сейчас
Прогон модели A: ветка shop/model-a от tasks-only по tasks/shop/prompt.md, потом node tools/run.mjs shop model-a
- Добавить GitHub remote для
arena(gh не залогинен, руками) - Ужесточить REQ-shop-05 и REQ-shop-11: сейчас проходят на пустой странице
- Прогон модели A и модели B по одинаковому промпту
- Ручной чеклист по REQ и правилам, заполнить
results.json - ADR-001 и таблица результатов в этом README
Суть
Личный полигон: одна задача, много решений, честное сравнение. Задача это подробное ТЗ плюс список требований с id. Её решают разные исполнители: ИИ-модели и агенты, разные архитектуры, библиотеки, стеки. Каждое решение живёт веткой в отдельном репо, прогоняется скрытыми тестами и графом требований, получает оценку. Сюда, на сайт идей, попадают только результаты и выводы в виде ADR. Дизайн: concept.md, task-shop.md, scoring.md, mvp.md.
Решение
- Ветки в отдельном репо
arena, ветки не мержатся. Мержится только резюме прогона сюда, вresults/иadr/. - Контракт между Ареной и оценщиком это список требований с id (
REQ-shop-01...). По нему пишутся скрытые тесты, по нему Twin (а до него ты, по чеклисту) считает реализованность, покрытие и нарушения правил. - Исполнитель не видит тестов: ветки вариантов создаются от ветки
tasks-only, где папкиtests/нет. - Оценка из пяти блоков: тесты 50, требования 20, правила 15, стоимость 10, вес 5. Детерминированная, без LLM-судьи.
- Первый эксперимент: ось «модель», ТЗ «магазин», стек Next.js, две модели, одна неделя, один ADR.
Проблема
- Сравнивать модели, архитектуры и библиотеки «на глаз» бесполезно: нет одинаковой задачи и одинаковой проверки.
- На работе нельзя переписать продукт на Vue или заменить Redux на контекст ради эксперимента.
- Выводы из экспериментов не записываются и теряются.
Почему сейчас
Агентов стало много, и выбирать между ними приходится постоянно. Своя площадка с одинаковой задачей и скрытыми тестами даёт ответы, которых нет в чужих бенчмарках, на своих требованиях и своих правилах.
Не делаем
- Не продукт и не соревнование с людьми. «Другие участники» это другие модели и мои варианты.
- Не миллион тестов: 22 e2e на критичный путь магазина.
- Не платформа, не превью, не CI, не Docker до того, как первый эксперимент дал объяснимый результат.
- Не LLM как судья.
Итог
Дизайн записан 2026-10-28. В тот же день собран репо arena (локально в Projects/arena, remote пока нет): задача shop с контрактом запуска и сидом на 30 товаров, 21 скрытый тест Playwright плюс проверка старта как REQ-shop-22, раннер tools/run.mjs, ветки main и tasks-only. Раннер проверен на фейковом варианте: 22 теста запускаются, отчёт разбирается, results/shop/<variant>.json пишется. Прогонов реальных моделей ещё нет.
Результаты (заполняется из results/results.json):
| Вариант | Ось | Тесты | REQ | Правила | Балл |
|---|---|---|---|---|---|
| пока нет |
- Завести репо
arena, веткиmainиtasks-only, перенести ТЗ иseed.json - Написать скрытые тесты Playwright с REQ-id в названиях
- Раннер
tools/run.mjs: клон ветки, запуск, тесты,results.json - Добавить GitHub remote для
arena(gh не залогинен, руками) - Ужесточить REQ-shop-05 и REQ-shop-11: сейчас проходят на пустой странице
- Прогон модели A и модели B по одинаковому промпту
- Ручной чеклист по REQ и правилам, заполнить
results.json - ADR-001 и таблица результатов в этом README
Подробнее1
Открытые вопросы
- Веса оценки: первые три прогона покажут, различают ли они варианты. Менять после, не до.
- Как измерять «стоимость» у человека-исполнителя, когда ось «архитектура» делаю я сам: время честно, токены нет.
- Если это когда-то станет продуктом, структура
results.jsonуже годится как API. Больше ничего не закладываем.