> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 用 Qwen3.8–27B 打造智能体
- URL: https://www.hubwiz.com/blog/building-coding-agents-using-qwen-3-8-27b/
- Published: 2026-08-24T07:31:12.000Z
- Updated: 2026-08-24T07:31:12.000Z
- Description: 阿里巴巴终于发布了全新的“通义千问”（Qwen）模型。这是一款新的密集多模态模型，能够处理文本、图像和视频。
- Author: admin
- Tags: MODEL-ZOO, QWEN 3.8-27B, #Import 2026-10-14 14:41

阿里巴巴终于发布了全新的“通义千问”（Qwen）模型。这是一款新的密集多模态模型，能够处理文本、图像和视频。

阿里巴巴发布的最重要亮点包括：

- **核心能力**: 在编码、专业工作、研究和长期智能体任务方面全面改进。
- **智能体执行**: 更强的自主规划能力和更好的环境反馈处理，实现更可靠的端到端任务完成。
- **下游兼容性**: 更广泛地支持流行的框架和开发工具，使其更容易集成到现有技术栈中。
- **灵活的思维控制**: 思维模式默认开启，可按请求禁用；推理深度可通过 reasoning\_effort 调整，历史消息中的推理上下文通过 preserve\_thinking 保留。
- **视觉语言理解**: 原生支持图像和视频理解，从STEM图表和文档到小时级视频。

从原始技术规格来看，它与Qwen 3.6–27B基本相同，与最近发布的Muse-Glimmer相比，它似乎没有根本性的架构变化，而是对现有架构的改进：

那么，Qwen 3.8–27B与Qwen 3.6–27B在规格上如何比较？鉴于该模型使用相同的架构，它实际上在许多领域提供了比前一代显著的改进。Qwen将改进描述为涵盖编码、专业工作、研究、自主规划和长期智能体。该模型拥有相同架构的好处是推理需求与前一版本保持相同。

Qwen 3.8–27B还增加了可配置的 reasoning\_effort，支持**低、中和极高**三种模式，默认为极高。preserve\_thinking 默认启用。Qwen特别警告说，如果较弱的推理导致重试，较低的推理实际上可能增加智能体完成任务的总时间。

> "在多轮智能体任务中，较低的推理并不总是减少总体任务完成时间。虽然它可能产生更快的单轮响应，但也可能导致分析不足、更多失败和重复重试，从而增加总延迟和令牌消耗。"

指定的编码基准测试显示，与前一版本相比，在所有主要测试中都有显著改进：

这使其成为我们下一个本地编码智能体的理想选择，因此在本文的其余部分，我们将看到如何在本地环境中使用DGX Spark设置它。

我将向您展示如何设置SGLang和vLLM，目前SGLang似乎更快，但这种情况每天都在变化。

让我们首先使用SGLang运行它。我们将使用 `docker pull lmsysorg/sglang:qwen38–27b` 拉取最新容器，并使用 `hf download RadixArk/Qwen3.8–27B-NVFP4` 下载NVFP4模型，我们还将使用 `hf download RadixArk/Qwen3.8–27B-DSpark` 下载用于推测解码的草稿模型。

由于我们将使用Claude Code框架，它没有与Qwen3.8–27B相同的推理能力，我们需要修补原始聊天模板

```
mkdir -p ~/.config/qwen38
cp "$(find ~/.cache/huggingface/hub/models--RadixArk--Qwen3.8-27B-NVFP4 -name chat_template.jinja | head -1)" ~/.config/qwen38/chat-template-sglang.jinja

```

现在我们需要使用 `nano ~/.config/qwen38/chat-template-sglang.jinja` 编辑它

搜索 `resolved_reasoning_effort` 并修改它，使其如下所示：

```
Before:

    {%- set resolved_reasoning_effort = reasoning_effort|default('xhigh') %}
    {%- if resolved_reasoning_effort not in ('xhigh', 'medium', 'low') %}
        {{- raise_exception('Unexpected reasoning effort ' ~ reasoning_effort ~ '. Supported types are xhigh (default), medium, and low.') }}
    {%- endif %}

After:

{%- set resolved_reasoning_effort = reasoning_effort|default('xhigh') %}
{%- if resolved_reasoning_effort in ('max', 'high') %}
    {%- set resolved_reasoning_effort = 'xhigh' %}
{%- endif %}
{%- if resolved_reasoning_effort not in ('xhigh', 'medium', 'low') %}
    {{- raise_exception('Unexpected reasoning effort ' + resolved_reasoning_effort + '. Supported types are xhigh (default), medium, and low.') }}
{%- endif %}

```

这基本上将不支持的推理**最大**和**高**设置为**极高**

我们需要添加另一个补丁（由用户hasso5703描述）相关于Claude可以在对话中间注入系统消息，但它期望在开头。因此更改它使其匹配以下示例：

```
Before:
        {%- if not loop.first %}
            {{- raise_exception('System message must be at the beginning.') }}
        {%- endif %}
After:
        {%- if not loop.first %}
            {{- '<|im_start|>user\n<system-reminder>\n' + content + '\n</system-reminder><|im_end|>' + '\n' }}
        {%- endif %}

```

让我们创建执行文件 `nano run-qwen.sh` 并粘贴以下内容：

```
#!/bin/bash

docker run --gpus all \
  --shm-size 32g \
  --rm \
  -p 8000:8000 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  -v ~/.config/qwen38:/config \
  --ipc=host \
  lmsysorg/sglang:qwen38-27b \
  sglang serve \
    --trust-remote-code \
    --model-path RadixArk/Qwen3.8-27B-NVFP4 \
    --mem-fraction-static 0.5 \
    --attention-backend flashinfer \
    --chunked-prefill-size 8192 \
    --disable-prefill-cuda-graph \
    --reasoning-parser qwen3 \
    --tool-call-parser qwen3_coder \
    --speculative-algorithm DSPARK \
    --speculative-draft-model-path RadixArk/Qwen3.8-27B-DSpark \
    --chat-template /config/chat-template-sglang.jinja \
    --served-model-name local-spark-model \
    --mamba-full-memory-ratio 8.26 \
    --max-running-requests 8 \
    --language-only \
    --host 0.0.0.0 \
    --port 8000

```

注意我将服务模型名称更改为local-spark-model，因为我不想每次更改模型时都要更改下游配置。让我们使用 `./run-qwen.sh` 运行模型

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-37Zk-E22-qhueAfTxdN7VA.png)

这将给我们提供大约20-30个tg/s，偶尔会达到40左右。

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-ybLHKOil1yNB-nXF73FNgg.png)

对于vLLM，我采用vLLM指南中提到的不同模型，因为那是经过测试并应该是最优的。

首先让我们使用hf CLI获取NVFP4版本的模型。

```
hf download Inferact/Qwen3.8-27B-NVFP4

```

运行模型最干净的方式是在docker容器中，因此我们接下来将拉取最新的vllm构建：

```
docker pull vllm/vllm-openai:v0.27.1

```

让我们创建一个新的bash文件来包含我们的执行配置 `nano qwen-3.8.sh` 并粘贴以下内容：

```
#!/bin/bash

docker run --gpus all \
      -v ~/.cache/huggingface:/root/.cache/huggingface \
      -v ~/.config/qwen38:/config \
      --env "HF_TOKEN=$HF_TOKEN" \
      -p 8000:8000 \
      --ipc=host \
      vllm/vllm-openai:v0.27.1 \
      --model Inferact/Qwen3.8-27B-NVFP4 \
      --tensor-parallel-size 1 \
      --enable-auto-tool-choice \
      --gpu-memory-utilization 0.8 \
      --max-model-len 262144 \
      --max-num-batched-tokens 8192 \
      --max-num-seqs 8 \
      --attention-backend flash_attn \
      --chat-template /config/chat-template-sglang.jinja \
      --tool-call-parser qwen3_coder \
      --reasoning-parser qwen3 \
      --load-format fastsafetensors \
      --enable-prefix-caching \
      --enable-chunked-prefill \
      --served-model-name 'local-spark-model' \
      --speculative-config '{"method":"mtp","num_speculative_tokens":3}' \
      --language-model-only

```

我故意使用 `--language-model-only` 禁用视觉模型，因为编码任务不需要它，但如果您需要，只需从配置中删除此行。我还将服务模型名称重命名为local-spark-model，因为我不想每次更改服务模型时都要更改下游模型名称。另外，在运行之前您需要修补提示，请参考上方的SGLang设置。

这将给我们大约20个tg/s，比SGLang少得多，但这为您提供了就绪的基础设施，随时准备好更换推理容器/模型。

如果您尚未安装Claude Code，可以使用以下命令安装：

```
curl -fsSL https://claude.ai/install.sh | bash

```

为了让它识别我们的新模型，我们只需设置几个环境变量：

```
export ANTHROPIC_BASE_URL=http://spark:8000
export ANTHROPIC_AUTH_TOKEN=dummy
export ANTHROPIC_MODEL=local-spark-model

```

ANTHROPIC\_BASE\_URL 应指向您的spark的IP或主机名。 一旦我们运行laude，我们可以使用/model查看模型是否可见

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-ltQhlzjl1ItlF_gUru3saA.png)

让我们确保它正常工作：

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-6Cvzb4SvdyEzX-x1--kg2g.png)

最后，作为测试，我让模型为我创建了一个基于浏览器的外星人侵略游戏

![None](https://www.hubwiz.com/blog/content/images/2026/08/1-gMc7-LFma9k_-ah2M1Vmpg.png)

今天就到这里，祝您使用新的Qwen模型探索愉快！

---

原文链接：[Qwen3.8–27B as new coding agent of choice with SGLang/vLLM and Claude](https://medium.com/@astrujic/qwen3-8-27b-as-new-coding-agent-of-choice-with-sglang-vllm-and-claude-f809a9c5f39a?ref=hubwiz.com)

汇智网翻译整理，请转载文章时标明出处