Перейти к содержанию
Публикация AiManual

Локальные Qwen против Claude Opus 4.6: 92,7 против 92,7 на трёх задачах по Python

Локальный Qwen3.8-Flash-Next «Coder» из Strata набрал 92,7 балла и сравнялся с Claude Opus 4.6 на трёх задачах по Python, а Qwen 3.8 27B в Unsloth Q6 отстал с 8

Коротко

Что будет в материале

  1. 01

    Итог сравнения: локальный Coder догнал Opus 4.6, 27B отстал

  2. 02

    Как устроен тест: три задачи, один запрос, 162 скрытых теста

  3. 03

    Результаты по задачам: где локальные Qwen обошли Opus, а где проиграли

  4. 04

    Качество кода: чистота Opus против устойчивости локального Coder

Итог сравнения: локальный Coder догнал Opus 4.6, 27B отстал

Локальная модель Qwen3.8-Flash-Next «Coder» из проекта Strata набрала в пользовательском тесте 92,7 балла и сравнялась с облачной Claude Opus 4.6, у которой ровно те же 92,7. Вторая локальная участница, Qwen 3.8 27B в квантовании Unsloth Q6, получила 87,0 и отстала заметнее, чем можно было ожидать от модели с более щедрым квантованием. Автор опубликовал замеры в сообществе r/LocalLLaMA и сразу оговорил, что не претендует на строгий бенчмарк.

Условия выглядели так: три задачи по Python разного уровня, один запрос на модель без права на исправления, проверка на 162 скрытых тестах и оценка по фиксированному чек-листу. Ключевое различие не в баллах, а в характере результатов. Код Opus 4.6 автор называет более чистым и поддерживаемым, а локальный Coder реже падал на нестандартных входных данных. Одинаковый итог при разной структуре ошибок - это главный вывод теста.

МодельИтогЛёгкаяСредняяСложнаяСкрытые тестыСкорость
Claude Opus 4.692,7889692162 из 162облако
Qwen3.8-Flash-Next «Coder» (Strata)92,7979492161 из 16250-90 ток/с
Qwen 3.8 27B Unsloth Q687,0929181160 из 162около 50 ток/с

Важная оговорка: это разбор чужого теста, а не измерение AI-Manual. Дальше методика, цифры по задачам, ограничения и практический вывод о том, где локальный запуск уже имеет смысл.

Как устроен тест: три задачи, один запрос, 162 скрытых теста

Набор задач рос по сложности. Первым шёл анализатор файлов логов: разобрать текст, вытащить нужное, отдать результат. Вторым - менеджер параллельных процессов, где важны конкурентность, обработка ошибок и аккуратная архитектура. Третьим - небольшой интерпретатор для учебного языка программирования, то есть связка парсера, вычислителя и сообщений об ошибках в одном куске кода.

Условия для всех участников совпадали: одинаковые инструкции, один запрос, никаких уточнений и повторных попыток. Это ближе к реальному «сделай с первого раза», чем к итеративной разработке через диалог. Проверка - 162 скрытых теста, которых модели не видели ни в промпте, ни в процессе работы. Число пройденных тестов даёт объективную, хотя и неполную картину: тест либо зелёный, либо нет.

Дополнительно код оценивали по фиксированному чек-листу. Часть этой проверки выполнял ИИ, и это ограничение, а не независимый аудит: оценки вроде читаемости субъективны по своей природе.

Что именно оценивал чек-лист

Четыре пункта: следовала ли модель инструкциям; читаем ли код; как она ведёт себя на необычных входных данных; правдивы ли комментарии. Последний пункт чаще всего игнорируют, а он важен. Комментарий вида «здесь обрабатывается пустой файл» при отсутствии такой обработки превращается в ловушку для того, кто откроет код через месяц.

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

Ограничения методики: один прогон и малые задачи

Ограничения автор перечисляет сам, и их стоит держать в голове. Прогон на модель всего один, поэтому различия в 2-3 балла ничего не значат. Задачи небольшие, и переносить выводы на крупный проект нельзя. Модель Coder запускали дважды: в первый раз системе не хватило RAM, прогон отбросили и повторили с нуля, в зачёт пошёл второй результат.

Ещё деталь: Opus 4.6 на момент теста уже не самая свежая версия Claude. В полном тесте автора более актуальные версии набрали больше. Это ориентир для сравнения «здесь и сейчас», а не рейтинг на будущее. Похожие единичные прогоны уже разбирались на примере девяти моделей на одном промпте, и там действуют те же правила чтения: смотреть на конфигурацию и условия, а не только на итоговую таблицу.

Результаты по задачам: где локальные Qwen обошли Opus, а где проиграли

Общий балл скрывает интересное: расклад меняется от задачи к задаче. На лёгкой задаче локальные модели впереди, на средней побеждает Opus, на сложной они выравниваются.

Лёгкая задача: локальные модели впереди

Анализатор логов: локальные модели набрали 97 и 92 балла против 88 у Opus. На узкой и понятной задаче решает точное следование инструкциям и отсутствие лишних усложнений. Облачная модель со склонностью к обобщениям может добавить абстракций, которые здесь не нужны. Локальная модель чаще просто делает то, что попросили, и получает баллы за аккуратность, а не за глубину рассуждений.

Средняя задача: Opus вырывается вперёд

Менеджер параллельных процессов: 96 у Opus против 94 у локального Coder и 91 у Qwen 27B. Здесь появляются конкурентность и обработка ошибок, где важна аккуратная архитектура. Код Opus автор называет более чистым и поддерживаемым, и на средней задаче это дало преимущество. Разрыв небольшой, но он воспроизводит общий паттерн: чем больше в задаче слоёв, тем сильнее сказывается качество структуры.

Сложная задача: интерпретатор как проверка на прочность

Интерпретатор небольшого языка: Opus и локальный Coder получили по 92 балла, а Qwen 27B просел до 81. Здесь нужно согласовать парсер, вычисление выражений и сообщения об ошибках, и любая небрежность в одном месте ломает всё дальше по цепочке. Qwen 27B в квантовании Q6 потерял больше всего именно на этой задаче, тогда как Coder из Strata удержался на уровне облачной модели. Те же цифры приведены в исходном посте автора.

На скрытых тестах разрыв минимален: 162 из 162 у Opus, 161 у Coder и 160 у 27B. Один-два упавших теста почти не влияют на процент, но показывают, где именно модель спотыкается.

Качество кода: чистота Opus против устойчивости локального Coder

Автор теста развёл две оценки, которые обычно смешивают: насколько код хорош для человека и насколько он устойчив к данным. Opus 4.6 выигрывает в первом, локальный Coder - во втором.

Почему «чистый код» - это не абстрактная похвала

За формулировкой «более чистый и поддерживаемый код» стоят конкретные пункты чек-листа: читаемость, следование инструкциям, правдивость комментариев. Такой код проще ревьюить, дорабатывать и передавать коллеге. Для одноразового скрипта, который запустят один раз и выбросят, это почти неважно. Для кодовой базы, живущей месяцами, разница накапливается: каждая запутанная функция добавляет время на следующую правку.

Устойчивость к нестандартным входам: где Coder выиграл

«Реже падал на нестандартных входных данных» означает обработку краевых случаев: пустой файл, битая строка, неожиданный тип значения, обрезанный ввод. Разница на скрытых тестах минимальна (161 против 162), но автор отметил именно это поведение. Для парсеров, лог-анализаторов и обработчиков чужих данных устойчивость к странному вводу может оказаться ценнее аккуратной структуры: код в продакшене встречает данные, которых не было в примерах. Полный разбор наблюдений автора доступен в обсуждении теста.

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

Что такое Qwen3.8-Flash-Next «Coder» из Strata и чем он отличается от Qwen 3.8 27B Q6

Сравнивать «две Qwen» напрямую нельзя: это разные модели с разной архитектурой и разным квантованием. Qwen3.8-Flash-Next «Coder» - вариант для кодинга из проекта Strata, уменьшенная версия, которая сохраняет половину экспертов в каждом слое, в формате IQ1_M GGUF. Qwen 3.8 27B - плотная модель в квантовании Unsloth Q6.

Strata не выпускает официальные модели Qwen, это производная сборка, и такой статус важен для чтения результатов. Проект известен как движок инференса, заточенный под Qwen3.8-Flash-Next: замеры на RTX 5070 с 12 ГБ VRAM показывали около 65 ток/с на IQ3_XXS-кванте вместо примерно 15 в llama.cpp. Детали и требования к памяти разобраны в материале про Strata как движок инференса для Qwen3.8-Flash-Next. В тесте на код речь о другом: не о скорости движка, а о качестве кода урезанной версии модели.

Разница в квантовании объясняет часть расхождения. Q6 сохраняет заметно больше весов, чем IQ1_M, поэтому 27B должна быть точнее в теории. На практике на сложной задаче она проиграла Coder заметно, и это повод не сводить выбор к битности. Как битность и архитектура MoE влияют на разные типы задач, разобрано в статье про Qwen3.8-27B IQ3_XXS против Qwen3.6-35B-A3B Q4_K_M.

Железо и скорость: что нужно для локального запуска этих моделей

Конфигурация из теста: Intel Core i5-14400, 48 ГБ DDR4, две RTX 5060 Ti по 16 ГБ, то есть 32 ГБ VRAM суммарно, и Windows 11. Это не топовая сборка, но и не домашний минимум: две карты и 48 ГБ системной памяти дают запас, которого у большинства нет.

Скорость генерации: 50 против 50-90 токенов/с

Qwen 3.8 27B в Unsloth Q6 выдавала стабильные 50 токенов в секунду. Локальный Coder шёл в диапазоне 50-90 токенов в секунду со средним примерно 60-65. Разброс у Coder связан с архитектурой MoE и агрессивным квантованием IQ1_M: активна лишь часть экспертов, поэтому скорость гуляет в зависимости от того, какие веса задействованы.

Для генерации кода 50-65 токенов в секунду означает комфортную, но не мгновенную работу. Ответ на пару сотен строк занимает минуты, а не секунды. Как меняется скорость при разных движках, квантах и драфтерах на домашнем ПК, видно в разборе локального запуска нескольких LLM на RTX 5090: итог зависит от всей связки, а не только от модели.

Хватит ли 16 ГБ VRAM на одну модель

В тесте использовались две карты по 16 ГБ, то есть 32 ГБ суммарно. Утверждать, что модель влезет в одну карту на 16 ГБ, по этим данным нельзя: в источнике нет ни точного размера занятой памяти, ни раскладки по картам. Ориентироваться стоит на суммарный объём VRAM и системную RAM, а также на формат квантования, который меняет требования сильнее всего.

Косвенное подтверждение важности RAM: первый прогон Coder упал именно из-за нехватки системной памяти на машине с 48 ГБ. Часть модели и контекста уходит в оперативку, и её нехватка ломает прогон целиком, а не замедляет его.

Стоит ли отказываться от облачных моделей: практический вывод

На трёх небольших задачах по Python локальный Coder из Strata показал результат на уровне Opus 4.6 (92,7 против 92,7), а Qwen 3.8 27B Q6 отстал (87,0). Делать из этого вывод «локальные модели заменили облако» нельзя: один прогон, малые задачи и проверка, частично выполненная ИИ, не тянут на доказательство.

Когда локальный Coder уже имеет смысл

  • Данные нельзя отправлять в облако: логи, внутренние конфигурации, код под NDA.
  • Задача похожа на парсер или обработчик: важна устойчивость к грязным и странным входам.
  • Нет стабильного доступа к облачным API или нужна предсказуемая стоимость без оплаты за токены.
  • Нужна работа без интернета, например в закрытом контуре.

Это выводы из одного теста на небольших задачах, а не универсальная рекомендация. Проверять стоит на своих данных.

Когда Opus всё ещё выигрывает

Код будет жить в проекте и его будут читать другие разработчики. Задача крупнее трёх примеров из теста: там архитектура и удержание контекста важнее, чем на сотне строк. Нужна актуальная версия модели, а линейка Claude обновляется регулярно. Opus 4.6 не последняя версия, и более новые версии в полном тесте автора получили более высокие баллы, поэтому сопоставлять локальные модели стоит с актуальными облачными, а не с зафиксированной версией.

Что в итоге: три цифры и три оговорки

Три цифры: Claude Opus 4.6 - 92,7, локальный Qwen3.8-Flash-Next «Coder» из Strata - 92,7, Qwen 3.8 27B в Unsloth Q6 - 87,0.

Три оговорки: прогон на модель один, поэтому различия в 2-3 балла незначимы; задачи небольшие; проверка частично выполнялась ИИ. Плюс отдельная деталь: Coder запускался дважды, первый прогон отброшен из-за нехватки RAM.

Локальные модели уже конкурентоспособны на небольших задачах по Python, и это главное, что стоит унести из теста. Строить по одному прогону план по постоянной замене облака не получится. Разумнее проверить обе модели на своих задачах: взять свой анализатор логов или парсер, дать один запрос без правок и посмотреть, что вернётся. Полезно свериться и с разбором Qwen 3.8 27B против фронтирных моделей, где видно, насколько результат зависит от режима мышления и настроек.

Подписаться на канал