Методология / LLM Index V0 / 4 июня 2026
Как считается Vibecoding AI Coding Index
Vibecoding AI Coding Index отвечает на один практический вопрос: какую LLM-модель сейчас стоит брать для кодинга. Это не академический benchmark и не личный топ вручную. Это агрегированный индекс, который берет публичные coding-сигналы, приводит их к одной шкале, и показывает силу модели в coding-задачах.
В первой версии мы намеренно держим методологию простой. Главная таблица должна быть понятной человеку за несколько секунд: Vibecoding.ru Score, Coding Efficiency, средняя стоимость, провайдер, тип весов, размер контекст-окна и дата релиза. Все остальное уходит на страницу конкретной модели и в историю источников.
Коротко
Итоговый score считается только как средневзвешенная сила модели в coding benchmarks. Цена, провайдер, контекст, веса и дата релиза остаются отдельными колонками выбора, но не двигают рейтинг.
Vibecoding Score = DeepSWE-anchored weighted average по топовым coding benchmarks
Ручная редакционная поправка в текущей версии не участвует в расчете. Редакционная политика выражается только в том, какие источники мы считаем главными и какой вес им даем. Например, DeepSWE получает 60%, потому что сейчас это лучший anchor для repo-agent coding.
Что попадает в главную таблицу
В главной LLM-таблице остается 7 показателей. Это продуктовый shortlist, а не весь набор данных, который мы храним внутри.
- Vibecoding.ru Score - главный сортировочный рейтинг.
- Coding Efficiency - базовая сила модели в coding benchmarks.
- Avg Cost - средняя публичная стоимость использования или price proxy.
- Provider - кто выпускает модель.
- Weights - открытые, закрытые или смешанные веса.
- Context Size - размер контекст-окна.
- Release Date - дата релиза модели или версии.
Для code-agent таблицы V0 используем более компактную схему. Код-агент - это не только модель, а продуктовый workflow, поэтому в главной таблице фиксируем Agent Score, Cost, Provider, Type и Source. Рекомендованная модель показывается рядом с названием агента, но не превращает агент в отдельную LLM-строку.
Как устроены данные
Внутри Convex данные разделены на два слоя. Первый слой - сырые observations. Это append-only журнал фактов: одна модель, один источник, одна метрика, одна дата наблюдения. Старые observations не перезаписываются. Если источник поменял score, цену или payload, мы пишем новую запись и сохраняем историю.
Второй слой - calculated snapshots. Это готовые строки для сайта. Snapshot уже содержит рассчитанный Vibecoding Score, Output Price, provider, weights, context size, release date, confidence, список источников и версию методологии. В таблицу выводим не все поля snapshot: score-компоненты остаются для объяснения карточки модели. Frontend читает именно snapshots, а не пересчитывает формулу в браузере.
Как собираем источники
У каждого источника есть adapter. Adapter делает четыре вещи: забирает данные, парсит таблицу или API, проверяет поля и нормализует результат в общий формат. После этого данные попадают в raw observations.
API и JSON считаются источниками первого класса. HTML-таблицы тоже можно использовать, но мы считаем их более хрупкими и помечаем как scraped. Если источник временно упал, сайт не должен пустеть: старый snapshot остается на месте, ошибка логируется, источник идет на review.
Источники V0
В первой версии LLM-индекса достаточно четырех scoring-источников. Они не идеальны по отдельности, но хорошо дополняют друг друга: repo-agent задачи, свежие SWE-like задачи, рыночный слой и practical edit-workflow.
| Источник | Вес | Зачем нужен | Сигнал |
|---|---|---|---|
| DeepSWE | 60% | repo-agent задачи в реальном репозитории | pass@1, time, token burn |
| SWE-Rebench | 20% | свежий SWE-подобный сигнал с меньшим риском contamination | resolved rate / repo task score |
| Artificial Analysis | 10% | внешний sanity check и market metadata | coding index, output price, latency |
| Aider | 10% | практический edit-workflow через coding assistant loop | percent correct, editing behavior |
Как считаем рейтинг
Рейтинг - это базовая сила модели в кодинге. DeepSWE является обязательным anchor: если у модели нет DeepSWE-сигнала, она не получает основной LLM score и не ранжируется в главной таблице.
DeepSWE 60% SWE-Rebench 20% Artificial Analysis 10% Aider 10%
Если DeepSWE есть, но нет одного из дополнительных источников, он не считается нулем. Доступные дополнительные источники нормализуются вместе с DeepSWE. Это сохраняет рейтинг похожим на DeepSWE leaderboard, а SWE-Rebench, Artificial Analysis и Aider уточняют оценку, но не могут сами поднять модель в топ без DeepSWE.
DeepSWE = 70 Artificial Analysis = 60 Vibecoding Score = (70 * 60 + 60 * 10) / (60 + 10) = 68.6
Почему цена отдельно
Цена важна для выбора, но она не является силой модели. Поэтому Output Price остается отдельной колонкой и отдельным фактом в карточке модели. Пользователь сам видит trade-off: одна модель может быть сильнее, но дороже; другая дешевле, но слабее.
Мы специально не смешиваем качество и цену в одном числе. Иначе рейтинг начинает отвечать на другой вопрос - не «кто лучше кодит», а «кто выгоднее». Это можно сделать отдельной метрикой позже, но не в главном score.
Зачем нужен confidence
Confidence защищает читателя от ложной уверенности. Если у модели есть DeepSWE-score, но нет подтверждения из других источников, она может получить рейтинг, но рядом с ней должен быть понятный статус надежности.
Отсутствующий дополнительный источник не считается нулем и не штрафует score напрямую. Он снижает coverage/confidence. Исключение - DeepSWE: без него модель остается в raw/card data, но не получает основной LLM score.
Как обновляется сайт
Frontend не считает индекс сам. Он читает latest snapshots из Convex. Когда backend подтянул новые observations и пересчитал snapshot, таблица получает новый срез. За счет этого формула остается одной и той же для server-side загрузки, live query и будущих страниц моделей.
Главная таблица остается короткой, потому что она нужна для выбора. Расширенные сигналы - token burn, task cost, speed, latency, source payload, caveats и история изменений - должны жить на странице модели, а не перегружать основной рейтинг.
Что индекс не обещает
Vibecoding Index V0 не утверждает, что vibecoding.ru сам прогнал все модели через лабораторный benchmark. Мы агрегируем публичные источники и честно показываем, где данных достаточно, а где confidence ниже.
Индекс помогает выбрать модель для coding work, но не заменяет проверку на конкретном проекте, стеке, бюджете и workflow. Его задача - дать быстрый, проверяемый и обновляемый снимок рынка.