# Qwen3-Coder: Wie man lokal ausführt

Qwen3-Coder ist Qwens neue Reihe von Coding-Agentenmodellen, verfügbar in 30B (**Qwen3-Coder-Flash**) und 480B Parametern. **Qwen3-480B-A35B-Instruct** erreicht eine SOTA-Coding-Performance und kann mit Claude Sonnet-4, GPT-4.1 und [Kimi K2](/docs/de/modelle/tutorials/kimi-k2-thinking-how-to-run-locally.md)mithalten, mit 61,8 % auf Aider Polygot und Unterstützung für einen 256K- (auf 1M erweiterbaren) Token-Kontext.

Wir haben außerdem Qwen3-Coder mit nativer <mark style="background-color:purple;">**1M-Kontextlänge**</mark> hochgeladen, erweitert durch YaRN und in Vollpräzision als 8-Bit- und 16-Bit-Versionen. [Unsloth](https://github.com/unslothai/unsloth) unterstützt jetzt auch Fine-Tuning und [RL](/docs/de/loslegen/reinforcement-learning-rl-guide.md) von Qwen3-Coder.

{% hint style="success" %}
[**AKTUALISIERUNG:** Wir haben das Tool-Calling für Qwen3-Coder behoben! ](#tool-calling-fixes)Ihr könnt Tool-Calling jetzt nahtlos in llama.cpp, Ollama, LMStudio, Open WebUI, Jan usw. verwenden. Dieses Problem war systemweit und betraf alle Uploads (nicht nur Unsloth), und wir haben unsere Korrekturen mit dem Qwen-Team besprochen! [Mehr lesen](#tool-calling-fixes)
{% endhint %}

<a href="#run-qwen3-coder-30b-a3b-instruct" class="button primary">30B-A3B ausführen</a><a href="#run-qwen3-coder-480b-a35b-instruct" class="button secondary">480B-A35B ausführen</a>

{% hint style="success" %}
**Funktioniert** [**Unsloths Dynamic Quants**](/docs/de/grundlagen/unsloth-dynamic-2.0-ggufs.md) **?** Ja, und zwar sehr gut. Bei Tests durch Dritte auf dem Aider-Polyglot-Benchmark erreichte die **UD-Q4\_K\_XL (276GB)** dynamische Quantisierung nahezu die **vollständige bf16 (960GB)** Qwen3-coder-Modell und erzielte 60,9 % gegenüber 61,8 %. [Weitere Details hier.](https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF/discussions/8)
{% endhint %}

#### **Qwen3 Coder - Unsloth Dynamic 2.0 GGUFs**:

| Dynamic 2.0 GGUF (zum Ausführen)                                                                                                                                                                                              | 1M Context Dynamic 2.0 GGUF                                                                                                                                                                                                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ul><li><a href="https://huggingface.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF">30B-A3B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF">480B-A35B-Instruct</a></li></ul> | <ul><li><a href="https://huggingface.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-1M-GGUF">30B-A3B-Instruct</a></li><li><a href="https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-1M-GGUF">480B-A35B-Instruct</a></li></ul> |

## 🖥️ **Qwen3-Coder ausführen**

Unten sind Anleitungen für die [**30B-A3B**](#run-qwen3-coder-30b-a3b-instruct) und [**480B-A35B**](#run-qwen3-coder-480b-a35b-instruct) Varianten des Modells.

### :gear: Empfohlene Einstellungen

Qwen empfiehlt diese Inferenz-Einstellungen für beide Modelle:

`temperature=0.7`, `top_p=0.8`, `top_k=20`, `repetition_penalty=1.05`

* <mark style="background-color:green;">**Temperatur von 0,7**</mark>
* Top\_K von 20
* Min\_P von 0,00 (optional, aber 0,01 funktioniert gut; der Standardwert von llama.cpp ist 0,1)
* Top\_P von 0,8
* <mark style="background-color:green;">**Wiederholungsstrafe von 1,05**</mark>
* Chat-Vorlage:

  ```
  <|im_start|>user
  Hey da!<|im_end|>
  <|im_start|>assistant
  Was ist 1+1?<|im_end|>
  <|im_start|>user
  2<|im_end|>
  <|im_start|>assistant
  ```
* Empfohlene Kontextausgabe: 65.536 Tokens (kann erhöht werden). Details hier.

**Chat-Vorlage/Prompt-Format mit nicht gerenderten Zeilenumbrüchen**

{% code overflow="wrap" %}

```
<|im_start|>user\nHey da!<|im_end|>\n<|im_start|>assistant\nWas ist 1+1?<|im_end|>\n<|im_start|>user\n2<|im_end|>\n<|im_start|>assistant\n
```

{% endcode %}

<mark style="background-color:yellow;">**Chat-Vorlage für Tool-Calling**</mark> (Die aktuelle Temperatur für San Francisco abrufen). Weitere Details dazu, wie Tool-Calls formatiert werden.

```
<|im_start|>user
Wie hoch ist die Temperatur in San Francisco jetzt? Und morgen?<|im_end|>
<|im_start|>assistant
<tool_call>\n<function=get_current_temperature>\n<parameter=location>\nSan Francisco, CA, USA
</parameter>\n</function>\n</tool_call><|im_end|>
<|im_start|>user
<tool_response>
{"temperature": 26.1, "location": "San Francisco, CA, USA", "unit": "celsius"}
</tool_response>\n<|im_end|>
```

{% hint style="info" %}
Zur Erinnerung: Dieses Modell unterstützt nur den Nicht-Denkmodus und erzeugt keine `<think></think>` Blöcke in seiner Ausgabe. Inzwischen ist das Angeben von `enable_thinking=False` nicht mehr erforderlich.
{% endhint %}

### Qwen3-Coder-30B-A3B-Instruct ausführen:

Um Inferenzgeschwindigkeiten von mehr als 6 Tokens pro Sekunde für unsere dynamische 4-Bit-Quantisierung zu erreichen, sollten mindestens **18 GB einheitlicher Speicher** (kombinierter VRAM und RAM) oder **18 GB Systemspeicher** allein vorhanden sein. Als Faustregel gilt: Der verfügbare Speicher sollte der Größe des verwendeten Modells entsprechen oder diese übersteigen. Z. B. benötigt die UD\_Q8\_K\_XL-Quantisierung (volle Präzision) mit 32,5 GB mindestens **33 GB einheitlicher Speicher** (VRAM + RAM) oder **33 GB RAM** für optimale Leistung.

**HINWEIS:** Das Modell kann mit weniger Speicher als seiner Gesamtgröße ausgeführt werden, aber dadurch verlangsamt sich die Inferenz. Maximaler Speicher wird nur für die schnellsten Geschwindigkeiten benötigt.

Da dies ein Nicht-Denkmodell ist, besteht keine Notwendigkeit, `thinking=False` zu setzen, und das Modell erzeugt keine `<think> </think>` Blöcke.

{% hint style="info" %}
Befolge die [**oben genannten Best Practices**](#recommended-settings). Sie sind dieselben wie beim 480B-Modell.
{% endhint %}

#### 🦙 Ollama: Qwen3-Coder-30B-A3B-Instruct Tutorial ausführen

1. Installieren Sie `ollama` falls ihr das noch nicht getan habt! Ihr könnt nur Modelle bis zur Größe 32B ausführen.

```bash
apt-get update
apt-get install pciutils -y
curl -fsSL https://ollama.com/install.sh | sh
```

2. Führen Sie das Modell aus! Beachten Sie, dass Sie `ollama serve`in einem anderen Terminal aufrufen können, falls es fehlschlägt! Wir enthalten alle unsere Korrekturen und vorgeschlagenen Parameter (temperature usw.) in `params` in unserem Hugging-Face-Upload!

```bash
ollama run hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:UD-Q4_K_XL
```

#### :sparkles: Llama.cpp: Qwen3-Coder-30B-A3B-Instruct Tutorial ausführen

1. Hole dir die neueste `llama.cpp` auf [GitHub hier](https://github.com/ggml-org/llama.cpp). Du kannst auch den untenstehenden Build-Anweisungen folgen. Ändere `-DGGML_CUDA=ON` zu `-DGGML_CUDA=OFF` wenn du keine GPU hast oder nur CPU-Inferenz möchtest. **Für Apple Mac / Metal-Geräte**, setze `-DGGML_CUDA=OFF` und fahre dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

2. Du kannst direkt von HuggingFace herunterladen über:

   ```bash
   ./llama.cpp/llama-cli \
       -hf unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_XL \
       --jinja -ngl 99 --ctx-size 32768 \\
       --temp 0.7 --min-p 0.0 --top-p 0.80 --top-k 20 --repeat-penalty 1.05
   ```
3. Lade das Modell herunter über (nach der Installation von `pip install huggingface_hub hf_transfer` ). Ihr könnt UD\_Q4\_K\_XL oder andere quantisierte Versionen wählen. Wenn Downloads hängen bleiben, siehe [Hugging Face Hub, XET-Debugging](/docs/de/grundlagen/troubleshooting-and-faqs/hugging-face-hub-xet-debugging.md)

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF",
    local_dir = "unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF",
    allow_patterns = ["*UD-Q4_K_XL*"],
)
```

### Qwen3-Coder-480B-A35B-Instruct ausführen:

Um Inferenzgeschwindigkeiten von mehr als 6 Tokens pro Sekunde für unsere 1-Bit-Quantisierung zu erreichen, empfehlen wir mindestens **150 GB einheitlicher Speicher** (kombinierter VRAM und RAM) oder **150 GB RAM** allein. Als Faustregel gilt: Der verfügbare Speicher sollte der Größe des verwendeten Modells entsprechen oder diese übersteigen. Z. B. benötigt die Q2\_K\_XL-Quantisierung mit 180 GB mindestens **180 GB einheitlicher Speicher** (VRAM + RAM) oder **180 GB RAM** für optimale Leistung.

**HINWEIS:** Das Modell kann mit weniger Speicher als seiner Gesamtgröße ausgeführt werden, aber dadurch verlangsamt sich die Inferenz. Maximaler Speicher wird nur für die schnellsten Geschwindigkeiten benötigt.

{% hint style="info" %}
Befolge die [**oben genannten Best Practices**](#recommended-settings). Sie sind dieselben wie beim 30B-Modell.
{% endhint %}

#### 📖 Llama.cpp: Qwen3-Coder-480B-A35B-Instruct Tutorial ausführen

Für Coder-480B-A35B verwenden wir speziell Llama.cpp für optimierte Inferenz und eine Vielzahl von Optionen.

{% hint style="success" %}
Wenn ihr eine **vollständige unquantisierte Version**haben möchtet, verwendet unsere `Q8_K_XL, Q8_0` oder `BF16` Versionen!
{% endhint %}

1. Hole dir die neueste `llama.cpp` auf [GitHub hier](https://github.com/ggml-org/llama.cpp). Du kannst auch den untenstehenden Build-Anweisungen folgen. Ändere `-DGGML_CUDA=ON` zu `-DGGML_CUDA=OFF` wenn du keine GPU hast oder nur CPU-Inferenz möchtest.

   ```bash
   apt-get update
   apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
   git clone https://github.com/ggml-org/llama.cpp
   cmake llama.cpp -B llama.cpp/build \
       -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
   cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-gguf-split
   cp llama.cpp/build/bin/llama-* llama.cpp
   ```
2. Ihr könnt llama.cpp direkt verwenden, um das Modell herunterzuladen, aber ich empfehle normalerweise die Verwendung von `huggingface_hub` Um llama.cpp direkt zu verwenden, macht Folgendes:

   ```bash
   ./llama.cpp/llama-cli \
       -hf unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF:Q2_K_XL \
       --ctx-size 16384 \
       --n-gpu-layers 99 \
       -ot ".ffn_.*_exps.=CPU" \
       --temp 0.7 \\
       --min-p 0.0 \
       --top-p 0.8 \
       --top-k 20 \
       --repeat-penalty 1.05
   ```
3. Oder ladet das Modell über (nach Installation von `pip install huggingface_hub hf_transfer` ). Ihr könnt UD-Q2\_K\_XL oder andere quantisierte Versionen wählen..

   ```python
   # !pip install huggingface_hub hf_transfer
   import os
   os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0" # Kann manchmal eine Ratenbegrenzung auslösen, daher auf 0 setzen, um zu deaktivieren
   from huggingface_hub import snapshot_download
   snapshot_download(
       repo_id = "unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF",
       local_dir = "unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF",
       allow_patterns = ["*UD-Q2_K_XL*"],
   )
   ```
4. Führt das Modell im Konversationsmodus aus und probiert irgendeinen Prompt aus.
5. Bearbeiten `--threads -1` für die Anzahl der CPU-Threads bearbeiten, `--ctx-size` 262114 für die Kontextlänge, `--n-gpu-layers 99` für GPU-Offloading, also für wie viele Layer. Versuchen Sie, dies anzupassen, wenn Ihrem GPU-Speicher der Platz ausgeht. Entfernen Sie es auch, wenn Sie nur CPU-Inferenz haben.

{% hint style="success" %}
Verwende `-ot ".ffn_.*_exps.=CPU"` um alle MoE-Schichten auf die CPU auszulagern! Dadurch könnt ihr effektiv alle Nicht-MoE-Schichten auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Ihr könnt den Regex-Ausdruck anpassen, um mehr Schichten unterzubringen, wenn ihr mehr GPU-Kapazität habt. Weitere Optionen werden besprochen [hier](#improving-generation-speed).
{% endhint %}

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \
    --model unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF/UD-Q2_K_XL/Qwen3-Coder-480B-A35B-Instruct-UD-Q2_K_XL-00001-of-00004.gguf \
    --ctx-size 16384 \
    --n-gpu-layers 99 \
    -ot ".ffn_.*_exps.=CPU" \
    --temp 0.7 \\
    --min-p 0.0 \
    --top-p 0.8 \
    --top-k 20 \
    --repeat-penalty 1.05
```

{% endcode %}

{% hint style="success" %}
Vergesst auch das neue Qwen3-Update nicht. Führt [**Qwen3-235B-A22B-Instruct-2507**](/docs/de/modelle/tutorials/qwen3-next.md) lokal mit llama.cpp aus.
{% endhint %}

#### :tools: Die Generierungsgeschwindigkeit verbessern

Wenn Sie mehr VRAM haben, können Sie versuchen, mehr MoE-Layer oder ganze Layer auszulagern.

Normalerweise `-ot ".ffn_.*_exps.=CPU"` lagert alle MoE-Layer auf die CPU aus! Dadurch können Sie effektiv alle Nicht-MoE-Layer auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Layer unterzubringen, wenn Sie mehr GPU-Kapazität haben.

Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie `-ot ".ffn_(up|down)_exps.=CPU"` Dies lagert die MoE-Layer für Up- und Down-Projektionen aus.

Versuchen Sie `-ot ".ffn_(up)_exps.=CPU"` wenn Sie noch mehr GPU-Speicher haben. Dies lagert nur die MoE-Layer für Up-Projektionen aus.

Sie können den Regex auch anpassen, zum Beispiel `-ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU"` bedeutet, Gate-, Up- und Down-MoE-Layer auszulagern, aber nur ab der 6. Schicht.

Die [neueste llama.cpp-Version](https://github.com/ggml-org/llama.cpp/pull/14363) führt außerdem einen High-Throughput-Modus ein. Verwenden Sie `llama-parallel`. Lesen Sie mehr darüber [hier](https://github.com/ggml-org/llama.cpp/tree/master/examples/parallel). Sie können auch **den KV-Cache auf 4 Bit quantisieren** zum Beispiel um den VRAM-/RAM-Datenverkehr zu reduzieren, was den Generierungsprozess ebenfalls beschleunigen kann.

#### :triangular\_ruler:Wie man langen Kontext unterbringt (256K bis 1M)

Um längeren Kontext unterzubringen, können Sie <mark style="background-color:green;">**KV-Cache-Quantisierung**</mark> verwenden, um die K- und V-Caches auf niedrigere Bits zu quantisieren. Dies kann auch die Generierungsgeschwindigkeit aufgrund des geringeren RAM-/VRAM-Datenverkehrs erhöhen. Die zulässigen Optionen für die K-Quantisierung (Standard ist `f16`) sind unten aufgeführt.

`--cache-type-k f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1`

Sie sollten die `_1` Varianten verwenden, um die Genauigkeit etwas zu erhöhen, auch wenn es etwas langsamer ist. Zum Beispiel `q4_1, q5_1`

Sie können auch den V-Cache quantisieren, aber dafür müssen Sie <mark style="background-color:yellow;">**llama.cpp mit Flash Attention-Unterstützung kompilieren via**</mark> -DGGML\_CUDA\_FA\_ALL\_QUANTS=ON `, und`--flash-attn `verwenden, um es zu aktivieren. Dann können Sie es zusammen mit` um es zu aktivieren.

Wir haben außerdem GGUFs mit 1 Million Kontextlänge über YaRN-Skalierung hochgeladen [hier](https://unsloth.ai/docs/de/).

## :toolbox: Korrekturen beim Tool-Calling

Wir haben das Tool-Calling erfolgreich behoben über `llama.cpp --jinja` speziell für die Bereitstellung über `llama-server`! Wenn ihr unsere 30B-A3B-Quants herunterladet, braucht ihr euch keine Sorgen zu machen, da diese unsere Korrekturen bereits enthalten. Für das 480B-A35B-Modell bitte:

1. Ladet die erste Datei unter <https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF/tree/main/UD-Q2\\_K\\_XL> für UD-Q2\_K\_XL herunter und ersetzt eure aktuelle Datei
2. Verwende `snapshot_download` wie üblich gemäß <https://docs.unsloth.ai/basics/qwen3-coder-how-to-run-locally#llama.cpp-run-qwen3-tutorial>, wodurch die alten Dateien automatisch überschrieben werden
3. Verwendet die neue Chat-Vorlage über `--chat-template-file`. Siehe [GGUF-Chat-Vorlage](https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF?chat_template=default) oder [chat\_template.jinja](https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct/raw/main/chat_template.jinja)
4. Zusätzlich haben wir auch eine einzelne 150-GB-UD-IQ1\_M-Datei erstellt (damit Ollama funktioniert) unter <https://huggingface.co/unsloth/Qwen3-Coder-480B-A35B-Instruct-GGUF/blob/main/Qwen3-Coder-480B-A35B-Instruct-UD-IQ1\\_M.gguf>

Das sollte Probleme wie dieses lösen: <https://github.com/ggml-org/llama.cpp/issues/14915>

### Tool-Calling verwenden

Um die Prompts für Tool-Calling zu formatieren, zeigen wir das an einem Beispiel.

Ich habe eine Python-Funktion namens `get_current_temperature` erstellt, die die aktuelle Temperatur für einen Ort abrufen soll. Derzeit haben wir eine Platzhalterfunktion erstellt, die immer 21,6 Grad Celsius zurückgibt. Ihr solltet das in eine echte Funktion ändern!!

{% code overflow="wrap" %}

```python
def get_current_temperature(location: str, unit: str = "celsius"):
    """Aktuelle Temperatur an einem Ort abrufen.

    Args:
        location: Der Ort, für den die Temperatur abgerufen werden soll, im Format "Stadt, Bundesstaat, Land".
        unit: Die Einheit, in der die Temperatur zurückgegeben werden soll. Standard ist "celsius". (Auswahl: ["celsius", "fahrenheit"])",

    Returns:
        die Temperatur, den Ort und die Einheit in einem Dict
    """
    return {
        "temperature": 26.1, # VORKONFIGURIERT -> das ändert ihr!
        "location": location,
        "unit": unit,
    }
```

{% endcode %}

Dann verwendet den Tokenizer, um den gesamten Prompt zu erstellen:

{% code overflow="wrap" %}

```python
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("unsloth/Qwen3-Coder-480B-A35B-Instruct")

messages = [
    {'role': 'user', 'content': "Wie hoch ist die Temperatur in San Francisco jetzt? Und morgen?"},
    {'content': "", 'role': 'assistant', 'function_call': None, 'tool_calls': [
        {'id': 'ID', 'function': {'arguments': {"location": "San Francisco, CA, USA"}, 'name': 'get_current_temperature'}, 'type': 'function'},
    ]},
    {'role': 'tool', 'content': '{"temperature": 26.1, "location": "San Francisco, CA, USA", "unit": "celsius"}', 'tool_call_id': 'ID'},
]

prompt = tokenizer.apply_chat_template(messages, tokenize = False)
```

{% endcode %}

## :bulb:Leistungs-Benchmarks

{% hint style="info" %}
Diese offiziellen Benchmarks beziehen sich auf den vollständigen BF16-Checkpoint. Um dies zu verwenden, verwendet einfach die `Q8_K_XL, Q8_0, BF16` Checkpoints, die wir hochgeladen haben - ihr könnt für diese Versionen ebenfalls weiterhin Tricks wie das Auslagern von MoE verwenden!
{% endhint %}

Hier sind die Benchmarks für das 480B-Modell:

#### Agentisches Coding

<table data-full-width="true"><thead><tr><th>Benchmark</th><th>Qwen3‑Coder 480B‑A35B‑Instruct</th><th>Kimi‑K2</th><th>DeepSeek‑V3-0324</th><th>Claude 4 Sonnet</th><th>GPT‑4.1</th></tr></thead><tbody><tr><td>Terminal‑Bench</td><td><strong>37.5</strong></td><td>30.0</td><td>2.5</td><td>35.5</td><td>25.3</td></tr><tr><td>SWE‑bench Verified mit OpenHands (500 Turns)</td><td><strong>69.6</strong></td><td>–</td><td>–</td><td>70.4</td><td>–</td></tr><tr><td>SWE‑bench Verified mit OpenHands (100 Turns)</td><td><strong>67.0</strong></td><td>65.4</td><td>38.8</td><td>68.0</td><td>48.6</td></tr><tr><td>SWE‑bench Verified mit Private Scaffolding</td><td>–</td><td>65.8</td><td>–</td><td>72.7</td><td>63.8</td></tr><tr><td>SWE‑bench Live</td><td><strong>26.3</strong></td><td>22.3</td><td>13.0</td><td>27.7</td><td>–</td></tr><tr><td>SWE‑bench Mehrsprachig</td><td><strong>54.7</strong></td><td>47.3</td><td>13.0</td><td>53.3</td><td>31.5</td></tr><tr><td>Multi‑SWE‑bench mini</td><td><strong>25.8</strong></td><td>19.8</td><td>7.5</td><td>24.8</td><td>–</td></tr><tr><td>Multi‑SWE‑bench flash</td><td><strong>27.0</strong></td><td>20.7</td><td>–</td><td>25.0</td><td>–</td></tr><tr><td>Aider‑Polyglot</td><td><strong>61.8</strong></td><td>60.0</td><td>56.9</td><td>56.4</td><td>52.4</td></tr><tr><td>Spider2</td><td><strong>31.1</strong></td><td>25.2</td><td>12.8</td><td>31.1</td><td>16.5</td></tr></tbody></table>

#### Agentische Browser-Nutzung

<table data-full-width="true"><thead><tr><th>Benchmark</th><th>Qwen3‑Coder 480B‑A35B‑Instruct</th><th>Kimi‑K2</th><th>DeepSeek‑V3 0324</th><th>Claude Sonnet‑4</th><th>GPT‑4.1</th></tr></thead><tbody><tr><td>WebArena</td><td><strong>49.9</strong></td><td>47.4</td><td>40.0</td><td>51.1</td><td>44.3</td></tr><tr><td>Mind2Web</td><td><strong>55.8</strong></td><td>42.7</td><td>36.0</td><td>47.4</td><td>49.6</td></tr></tbody></table>

#### Agentische Tool-Nutzung

<table data-full-width="true"><thead><tr><th>Benchmark</th><th>Qwen3‑Coder 480B‑A35B‑Instruct</th><th>Kimi‑K2</th><th>DeepSeek‑V3 0324</th><th>Claude Sonnet‑4</th><th>GPT‑4.1</th></tr></thead><tbody><tr><td>BFCL‑v3</td><td><strong>68.7</strong></td><td>65.2</td><td>56.9</td><td>73.3</td><td>62.9</td></tr><tr><td>TAU‑Bench Einzelhandel</td><td><strong>77.5</strong></td><td>70.7</td><td>59.1</td><td>80.5</td><td>–</td></tr><tr><td>TAU‑Bench Fluggesellschaft</td><td><strong>60.0</strong></td><td>53.5</td><td>40.0</td><td>60.0</td><td>–</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://unsloth.ai/docs/de/modelle/tutorials/qwen3-coder-how-to-run-locally.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
