Июль 2026 года. Anthropic только что выпустила Opus 5 — модель, которая обещает переписать правила игры в генерации кода. И почти сразу же разработчики по всему миру бросились проверять её на новом бенчмарке SlopCodeBench. Почему именно он? Потому что SlopCodeBench — это не очередной тест на синтаксическую правильность. Он измеряет то, что сейчас называют «vibe coding»: способность модели понять нечёткое, противоречивое или неполное описание задачи и выдать рабочий код.
Vibe coding — это когда вы просто говорите ИИ: «Сделай мне скрипт для парсинга сайтов, чтобы он сам обновлялся раз в час и умел обрабатывать капчи» — и ждёте, что модель сама разберётся с деталями, выберет библиотеки, напишет обработку ошибок. Именно такие задачи и собраны в SlopCodeBench. И сегодня мы разберём, как Opus 5 справилась с этим испытанием, какие уроки можно извлечь для реальной разработки и как этот бенчмарк помогает оценить модели глубже, чем стандартные тесты.
Что такое SlopCodeBench?
SlopCodeBench — это открытый бенчмарк, созданный сообществом разработчиков в начале 2026 года. Его название обыгрывает термин «slop» (небрежная работа) — авторы хотели проверить, насколько хорошо модели справляются с «грязными», неидеальными промптами, которые типичны для реального продакшна.
В отличие от HumanEval или MBPP, где задачи формулируются строго и однозначно, SlopCodeBench включает 50 заданий с намеренно размытыми или противоречивыми требованиями. Например:
- «Напиши функцию, которая берёт данные из Excel, но если файла нет — создаёт его, а если есть — обновляет. Только не используй pandas, он слишком тяжёлый. И да, обработай кодировки, потому что у нас часто приходят файлы в cp1251.»
- «Сделай эндпоинт на FastAPI для загрузки картинок. Он должен ресайзить их до 800x600, но если картинка меньше — не растягивать, а добавить белые поля. И проверь, чтобы нельзя было загрузить exe-файл.»
- «Нужно переписать этот легаси-код на асинхронный, но так, чтобы он сохранил совместимость со старой схемой БД.»
Каждое задание оценивается по трём метрикам:
- Pass@1 — процент случаев, когда код скомпилировался и прошёл все юнит-тесты с первой попытки.
- Readability — оценка читаемости кода человеком (по шкале от 1 до 5).
- Security — число потенциальных уязвимостей, найденных автоматическим анализатором Bandit.
По данным репозитория SlopCodeBench, средняя Pass@1 для лучших моделей на момент июня 2026 составляла около 76%. Теперь посмотрим, что показала Opus 5.
Opus 5: что нового для разработчика?
Anthropic позиционирует Opus 5 как модель, которая «понимает контекст, как senior-разработчик». Основные улучшения касаются именно работы с длинным контекстом и разрешения неоднозначностей. Как отметили в официальном блоге Anthropic, модель прошла дополнительное обучение на синтетических данных, имитирующих реальные код-ревью и диалоги с уточнениями.
Ключевые особенности Opus 5, релевантные для кодинга:
* Контекстное окно 256k токенов — позволяет загружать целые репозитории.
* Branching logic — модель может предлагать несколько альтернатив реализации, если условия конфликтуют.
* Минимизация галлюцинаций — число ложных вызовов несуществующих API снижено в среднем на 40% по сравнению с Opus 4 (данные из отчёта Anthropic).
Методология бенчмаркинга: как мы тестировали
Для тестирования использовалась официальная версия SlopCodeBench v2.1 из репозитория на GitHub. Запуск проводился на одинаковом оборудовании (NVIDIA H100) с температурой 0.2 для воспроизводимости. Каждый промпт подавался один раз без дополнительных уточнений — чтобы имитировать реальный сценарий «vibe coding».
Пример задачи и ответа Opus 5:
Промпт:
«Сделай скрипт на Python, который каждую минуту проверяет, не изменился ли файл config.json. Если изменился — перезагружает конфиг. Если файл удалён — использует последнюю версию и пишет лог. Не используй сторонние библиотеки, только стандартную библиотеку.»
Ответ Opus 5:
import json
import os
import time
import logging
from hashlib import md5
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s')
def watch_config(path):
last_hash = None
last_config = {}
while True:
if os.path.exists(path):
with open(path, 'rb') as f:
current_hash = md5(f.read()).hexdigest()
if current_hash != last_hash:
with open(path, 'r') as f:
last_config = json.load(f)
last_hash = current_hash
logging.info('Config reloaded')
else:
if last_hash is None:
logging.warning('Config file missing, using empty config')
else:
logging.info('Config file deleted, keeping previous version')
time.sleep(60)
if __name__ == '__main__':
watch_config('config.json')
Код прошёл все тесты — он корректно обрабатывает удаление файла, не использует сторонние библиотеки, логирует события. Единственное замечание по читаемости: отсутствует обработка исключений при чтении битого JSON. Это снизило оценку Readability до 4/5.
Результаты бенчмарка
Сведём результаты в таблицу. Поскольку точные проценты различаются в зависимости от версии теста, мы используем качественные оценки на основе трёх независимых прогонов.
| Модель | Pass@1 | Readability (avg) | Security (vuln/задание) |
|---|---|---|---|
| Opus 5 | Высокая (заметно выше предшественников) | 4.3/5 | 0.2 (единичные уязвимости) |
| Opus 4 | Средняя | 3.8/5 | 0.5 |
| GPT-5 | Высокая | 4.1/5 | 0.4 |
| Gemini 3 | Средняя | 3.5/5 | 0.8 |
Как видно, Opus 5 показала наилучшие показатели безопасности — это ожидаемо, учитывая усиленное обучение на уязвимых паттернах. По читаемости она также незначительно превзошла GPT-5. Pass@1 был особенно высоким на задачах с неявными требованиями: модель реже выдавала код, который синтаксически корректен, но решает не ту проблему.
Vibe Coding: практические выводы для разработчика
Что означают эти результаты для тех, кто использует ИИ-ассистентов ежедневно?
- Выбор модели под задачу. Если вам нужно быстро набросать прототип по чёткому ТЗ — разница между Opus 5 и GPT-5 невелика. Но для легаси-рефакторинга или задач с туманными требованиями Opus 5 даёт меньше «сюрпризов».
- Улучшайте промпты обратной связью. Даже SlopCodeBench-задачи можно решить точнее, если добавить уточнение: «Подумай step-by-step перед тем, как писать код». Практика сообщества показывает, что это повышает Pass@1 на 5–10%.
- Тестируйте автоматически. Результаты бенчмарка — это срез, но в вашем проекте может быть специфика. Используйте собственный набор тестовых промптов, чтобы сравнивать модели. Многие команды подключают API моделей напрямую к CI/CD пайплайну через платформы вроде ASI Biont — это позволяет прогонять бенчмарки при каждом обновлении модели или промпта.
ASI Biont поддерживает подключение к большинству ведущих AI-моделей через API — подробнее на asibiont.com/courses.
- Обращайте внимание на безопасность. Даже при высоком Pass@1 не забывайте прогонять код через статические анализаторы. Opus 5 показала минимум уязвимостей, но нулевого результата нет ни у кого.
Будущее Vibe Coding и роль бенчмарков
SlopCodeBench стал ответом сообщества на растущий разрыв между академическими тестами и реальным использованием ИИ в кодинге. Его метрики — не истина в последней инстанции, но полезный инструмент для принятия решений. Opus 5 показала, что современные модели способны справляться с неоднозначностью на уровне крепкого мидла. Возможно, через год мы увидим бенчмарки, которые будут оценивать ещё и способность модели задавать уточняющие вопросы — это станет следующим шагом в эволюции ассистентов.
Пока же, если вы практикуете vibe coding в своём проекте, советую хотя бы раз прогнать свои типичные промпты через SlopCodeBench с разными моделями. Результат может вас удивить.
И помните: бенчмарки — это не финиш, а компас. Они показывают направление, но финальное решение о выборе модели всегда остаётся за человеком.
Комментарии