Qwen3 Coder Next локально: hybrid attention для агентного кодирования | AiManual
AiManual Logo Ai / Manual.
24 Май 2026 Гайд

Qwen3 Coder Next: Запускаем локально с hybrid attention для агентного кодирования

Пошаговый гайд по запуску Qwen3 Coder Next с hybrid attention на локальном железе. Как настроить инференс, сэкономить VRAM и интегрировать с AI-агентами.

Почему ваша видеокарта плачет, а вы все еще платите за API?

Каждый раз, когда вы дергаете облачный эндпоинт для генерации кода, где-то в дата-центре просыпается GPU, который мог бы решать задачи посерьезнее. И вы платите — за каждый токен, за каждую попытку. А ведь современные open-weight модели уже способны заменить Claude и GPT на локальной машине, если подойти с умом.

Qwen3 Coder Next — это третье поколение кодер-моделей от Alibaba, специально заточенное под agentic coding: модель умеет вызывать функции, работать с длинным контекстом и планировать шаги. Но главная фишка — hybrid attention. Именно она позволяет запихнуть 32B модель в 24 ГБ VRAM и при этом не потерять в качестве на длинных диалогах.

В этой статье я покажу, как поднять Qwen3 Coder Next локально, используя hybrid attention, и заставить его работать как полноценного AI-агента для кода. Никаких облаков, никакой телеметрии — только ваш GPU и чистая паранойя.

Hybrid attention: как обмануть память и не потерять контекст

В обычных трансформерах сложность внимания растет квадратично от длины последовательности. При контексте в 128K токнов вы упираетесь в лимиты памяти даже на A100. Qwen3 Coder Next использует гибридный механизм:

  • Полное внимание на первых 4096 токенах (окно).
  • Sparse attention на остальных токенах — разреженная матрица с паттерном блочного сжатия.

Это значит, что модель помнит начало диалога (системный промпт, описание репозитория) почти без потерь, а на длинных правках кода использует приближение. Практически: вы можете держать в контексте целый проект из 20 файлов, и модель не вылетит с OOM.

Важно: hybrid attention активен только при использовании специальной сборки инференс-движка. Обычный llama.cpp без флагов не даст прироста. Ниже покажу, как собрать.

Что нужно для запуска

Железо — самый больной вопрос. Вот минимальные требования для разных размеров модели:

Размер модели VRAM (Q4_K_M) RAM Скорость (токенов/с)
Qwen3 Coder Next 7B 6 GB 8 GB 30-40
Qwen3 Coder Next 14B 10 GB 16 GB 15-25
Qwen3 Coder Next 32B 20 GB 24 GB 8-12

Цифры даны для контекста 32K токнов с hybrid attention. Если отключить гибрид, 32B модель потребует 30+ GB VRAM на том же контексте. Разница очевидна.

Система: Linux (Ubuntu 24.04 или Fedora 40) или Windows 11 с WSL2. Драйвера NVIDIA последней версии.

Шаг 1: Качаем веса и собираем раннер

Не советую использовать готовые бинарники — поддержка hybrid attention появилась в llama.cpp только в апреле 2026. Лучше собрать самому, чтобы точно включить все флаги.

# Клонируем репозиторий
cd ~
git clone --depth 1 https://github.com/ggerganov/llama.cpp
cd llama.cpp

# Собираем с hybrid attention и CUDA
cmake -B build -DGGML_CUDA=ON -DGGML_HYBRID_ATTENTION=ON
cmake --build build --config Release -j$(nproc)

# Скачиваем модель (пример для 7B)
mkdir -p models
cd models
wget https://huggingface.co/Qwen/Qwen3-Coder-Next-7B-GGUF/resolve/main/qwen3-coder-next-7b-q4_k_m.gguf
cd ..

Если у вас AMD — используйте флаг -DGGML_HIP=ON вместо CUDA. Hybrid attention на ROCm тоже работает, но производительность ниже на 10-15%.

Шаг 2: Первый запуск — проверяем hybrid attention

Запускаем инференс с явным указанием гибридного внимания:

./build/bin/main -m models/qwen3-coder-next-7b-q4_k_m.gguf \
  -p "Hello, write a fast fibonacci function in Python" \
  -n 256 \
  --hybrid-attention \
  --hybrid-window-size 4096 \
  --ctx-size 32768

Параметр --hybrid-window-size задает размер окна полного внимания. 4096 — дефолт, можно поднять до 8192, но это увеличит потребление VRAM. Если модель вылетает с OOM, уменьшите окно до 2048.

После успешного запуска вы увидите в логе строку "Hybrid attention enabled". Если нет — значит, или собрали без флага, или GGUF-файл не поддерживает hybrid attention (тогда нужно конвертировать из исходных весов через convert-hf-to-gguf.py с опцией --hybrid).

Шаг 3: Поднимаем сервер для agentic coding

Для работы с AI-агентами нужен OpenAI-совместимый эндпоинт. Запускаем llama-server:

./build/bin/server -m models/qwen3-coder-next-7b-q4_k_m.gguf \
  --host 0.0.0.0 --port 8080 \
  --hybrid-attention --hybrid-window-size 4096 \
  --ctx-size 32768 \
  --cont-batching \
  --parallel 2

Флаг --cont-batching нужен для непрерывного батчинга — без него агент, который шлет много запросов, будет тормозить. --parallel 2 разрешает два параллельных запроса (не перегружайте, hybrid attention не любит конкуренцию).

Шаг 4: Настройка function calling

Qwen3 Coder Next обучен на инструментах. Промпт для агента должен содержать описание функций в JSON-формате. Вот пример для Python-агента, который может выполнять код:

import openai

client = openai.OpenAI(base_url="http://localhost:8080/v1", api_key="none")

response = client.chat.completions.create(
    model="qwen3-coder-next",
    messages=[
        {"role": "system", "content": "You are a coding agent. Use the provided functions when needed."},
        {"role": "user", "content": "Write a script to download a website and extract all links."}
    ],
    tools=[{
        "type": "function",
        "function": {
            "name": "run_python",
            "description": "Execute Python code in a sandboxed environment",
            "parameters": {
                "type": "object",
                "properties": {
                    "code": {"type": "string"},
                    "timeout": {"type": "integer", "default": 30}
                },
                "required": ["code"]
            }
        }
    }],
    tool_choice="auto"
)

Модель корректно сгенерирует вызов функции и передаст управление вашему коду.

💡
Полный гайд по настройке локального AI-агента без телеметрии можно найти в статье "Как настроить полностью локальный AI-агент для программирования: Qwen Code + Qwen3-Coder без телеметрии". Там описан процесс интеграции с файловой системой и Git.

Шаг 5: Интеграция с фреймворками агентов

Теперь, когда есть локальный эндпоинт с поддержкой инструментов, подключаем его к любому агентному фреймворку. Например, LangChain или CrewAI:

from langchain.llms import LlamaCpp
from langchain.agents import initialize_agent, Tool

llm = LlamaCpp(
    model_path="models/qwen3-coder-next-7b-q4_k_m.gguf",
    temperature=0.2,
    n_ctx=32768,
    n_gpu_layers=-1,  # все слои на GPU
    hybrid_attention=True,
    hybrid_window_size=4096
)

# ... определяем инструменты и агента

Важный момент: LangChain пока не умеет передавать параметры hybrid attention через стандартный интерфейс. Придется использовать LlamaCpp с кастомными аргументами, как в примере выше. Или запускать через сервер и использовать OpenAI-совместимый клиент — так проще.

Типичные ошибки и как их избежать

1. OOM при длинном контексте

Если модель вылетает с CUDA out of memory, проверьте:

  • Уменьшите --hybrid-window-size до 2048 или 1024.
  • Используйте квантование Q3_K_S вместо Q4_K_M.
  • Понизьте --ctx-size до 16384 (с hybrid attention качество на длинных контекстах страдает меньше).

2. Модель не вызывает функции

Qwen3 Coder Next требует специального системного промпта для активации tool calling. Без него модель может игнорировать инструменты. Используйте официальный промпт из документации:

You are Qwen3 Coder Next, a coding agent with access to the following tools: {functions}. When you need to use a tool, respond with a JSON block containing "action" and "action_input".

Или настройте сервер с флагом --chat-template qwen3-tool (есть в новых версиях llama.cpp).

3. Скорость ниже ожидаемой

Hybrid attention дает выигрыш в памяти, но не в скорости. На коротких контекстах (менее 8K токнов) полное внимание может быть быстрее. Используйте hybrid attention только если контекст регулярно превышает 16K. Для коротких диалогов отключите его.

Сравнение с другими моделями

Как Qwen3 Coder Next смотрится на фоне собратьев? В недавнем тесте "Почему Qwen 3.5 стал прорывом для локального AI-ассистента в коде" модель предыдущего поколения показывала отличные результаты, но проигрывала в agentic accuracy. Qwen3 Coder Next исправляет это за счет улучшенного обучения на вызове инструментов. А по сравнению с Qwen 3.6, который чемпион по генерации Canvas, Coder Next лучше держит контекст и меньше галлюцинирует в многошаговых задачах.

Что еще стоит попробовать

Если у вас слабая видеокарта, не гонитесь за 32B версией. 7B с hybrid attention на практике справляется с 80% задач по кодингу, а генерирует в 3 раза быстрее. Пример настройки для 9B модели описан в статье "Как настроить агентное кодирование на слабой видеокарте" — принципы те же, только модель чуть меньше.

И последнее: не забудьте отключить телеметрию в вашем агентном фреймворке. Инструкция по убийству телеметрии спасет вас от неожиданных звонков домой. Локальный AI — это еще и приватность, не дайте софту слить ваш код.

И да, если ваш проект тащит зависимости, а модель все еще думает — просто увеличьте --cont-batching. Иногда панацея лежит на поверхности.

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