Chuyển đến nội dung chính

Chạy Qwen3-Coder-Next cục bộ: Vibe code một bảng điều khiển phân tích

Chạy Qwen3-Coder-Next cục bộ trên RTX 3090 với llama.cpp, rồi vibe code bảng điều khiển phân tích hoàn chỉnh trong vài phút bằng Qwen Code CLI.
· 9 phút đọc

Khám phá cùng AI

Qwen3-Coder-Next là một mô hình mã hóa open-weight từ đội ngũ Qwen, được xây dựng cho lập trình có tác nhân và quy trình làm việc của nhà phát triển cục bộ. Mô hình sử dụng thiết kế mixture-of-experts thưa để giữ hiệu quả nhưng vẫn đạt hiệu năng cao trên các thang đo mã hóa hiện đại và sử dụng công cụ, hỗ trợ ngữ cảnh dài và tác vụ nhiều bước phức tạp.

Điều khiến Qwen3-Coder-Next đặc biệt đáng chú ý là mức độ cạnh tranh so với các mô hình đóng hàng đầu. Đánh giá ban đầu cho thấy nó có thể đạt hiệu năng gần với các hệ thống như Claude Sonnet 4.5, đồng thời vẫn là thứ bạn có thể chạy cục bộ với toàn quyền kiểm soát thiết lập, quyền riêng tư và tốc độ, không phụ thuộc vào các API đám mây đắt đỏ.

So sánh mô hình Qwen/Qwen3-Coder-Next với các mô hình mã hóa nguồn mở và nguồn đóng khác

Nguồn: Qwen/Qwen3-Coder-Next

Trong hướng dẫn này, chúng ta sẽ biên dịch llama.cpp từ mã nguồn, chạy Qwen3-Coder-Next cục bộ bằng máy chủ suy luận của llama.cpp, sau đó kết nối với Qwen Code CLI. Cuối cùng, chúng ta sẽ vibe code một bảng điều khiển phân tích dữ liệu đơn giản.

Yêu cầu phần cứng và phần mềm cho Qwen3-Coder-Next

Trước khi xây dựng và chạy Qwen3-Coder-Next cục bộ, bạn cần một môi trường phát triển Linux hoạt động với các công cụ dựng chuẩn để biên dịch llama.cpp và chạy các mô hình GGUF.

Ngoài các gói hệ thống, hãy đảm bảo bạn cũng có:

  • Python (>= 3.11) cho các script hỗ trợ và quy trình cục bộ
  • Node.js + npm (Node 20+) để cài đặt Qwen Code CLI
  • Đúng trình điều khiển GPU NVIDIA
  • Bộ công cụ CUDA Toolkit được cấu hình để tăng tốc GPU đầy đủ

Bắt đầu bằng cách cập nhật hệ thống và cài đặt các phụ thuộc cốt lõi:

sudo apt-get update
sudo apt-get install -y build-essential cmake curl git libcurl4-openssl-dev

Nếu bạn dự định dùng tăng tốc CUDA, hãy xác nhận GPU NVIDIA của bạn được nhận diện đúng:

nvidia-smi

Trong ví dụ của chúng tôi, chúng tôi dùng NVIDIA RTX 3090 với 24GB VRAM. Vì Qwen3-Coder-Next cần nhiều bộ nhớ hơn cho các lượng tử hóa lớn hơn, phần trọng số còn lại của mô hình sẽ tự động được offload sang RAM hệ thống, cho phép mô hình vẫn chạy cục bộ với hiệu năng tốt.

Báo cáo Nvidia SMI cho mẫu RTX 3090.

Để chạy Qwen3-Coder-Next mượt mà, phần cứng của bạn nên đạt các mục tiêu bộ nhớ xấp xỉ sau:

  • 46GB RAM / VRAM / bộ nhớ hợp nhất khuyến nghị cho suy luận GGUF 4-bit.
  • ~85GB bộ nhớ cần cho các biến thể 8-bit.

Nếu bạn không có sẵn 46GB, bạn vẫn có thể chạy các phiên bản lượng tử hóa nhỏ hơn (như 3-bit).

Một quy tắc đơn giản là:

Dung lượng đĩa + RAM + VRAM ≥ kích thước lượng tử hóa

Nếu toàn bộ gói lượng tử hóa nằm gọn trong bộ nhớ, bạn có thể kỳ vọng hiệu năng cục bộ nhanh. Nếu không, mô hình vẫn sẽ chạy bằng cách offload, nhưng suy luận sẽ chậm hơn.

Cài đặt llama.cpp với hỗ trợ CUDA

Trước khi chạy Qwen3-Coder-Next cục bộ, chúng ta cần một engine suy luận nhanh. Lựa chọn phổ biến nhất hiện nay là llama.cpp, cung cấp suy luận GGUF gọn nhẹ và một máy chủ cục bộ dễ chạy.

Nếu bạn muốn thiết lập nhanh nhất, llama.cpp cung cấp binary dựng sẵn cho macOS, Linux và Windows (bao gồm bản bật CUDA). Bạn có thể tải trực tiếp từ trang phát hành GitHub chính thức: Release b7936 · ggml-org/llama.cpp. 

Với bản cài dựng sẵn, bạn có thể chạy ngay các công cụ CLI của llama.cpp hoặc khởi động máy chủ suy luận mà không cần tự biên dịch bất cứ thứ gì.

Tải binary llama.cpp từ kho GitHub

Trong hướng dẫn này, chúng ta sẽ tự dựng llama.cpp thay vì phụ thuộc vào binary dựng sẵn vì một vài lý do quan trọng:

  • Cập nhật và sửa lỗi mới nhất từ kho GitHub
  • Hỗ trợ CUDA đầy đủ được tối ưu cho hệ Linux
  • Hiệu năng tốt hơn, tinh chỉnh theo GPU và môi trường cụ thể của bạn
  • Cần thiết cho các định dạng lượng tử hóa mới và các cải tiến gần đây về chất lượng đầu ra

Hãy bắt đầu bằng cách tải mã nguồn chính thức của llama.cpp trực tiếp từ GitHub. Điều này đảm bảo chúng ta làm việc với phiên bản mới nhất, bao gồm các cải tiến CUDA và bản vá lỗi gần đây:

git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

Lúc này, bạn nên đang ở trong thư mục llama.cpp, nơi chứa mọi thứ cần thiết để dựng dự án từ đầu.

Tiếp theo, chúng ta cần cấu hình hệ thống dựng bằng CMake. Bước này tạo các tệp dựng cần thiết và bật tăng tốc GPU qua CUDA:

cmake /workspace/llama.cpp -B /workspace/llama.cpp/build -DGGML_CUDA=ON -DBUILD_SHARED_LIBS=OFF

Cấu hình dựng Llama.cpp

Giờ chúng ta biên dịch binary máy chủ suy luận thực tế. Đây là thành phần sẽ lưu trữ Qwen3-Coder-Next cục bộ và mở một endpoint API cho các công cụ mã hóa và tích hợp CLI:

cmake --build /workspace/llama.cpp/build -j --clean-first --target llama-server

Dựng binary llama.cpp.

Sau khi dựng xong, các file thực thi được lưu trong thư mục build/bin/. Để chạy thuận tiện từ thư mục gốc của dự án, bạn có thể sao chép như sau:

cp /workspace/llama.cpp/build/bin/llama-server /workspace/llama.cpp/llama-server

Tải mô hình Qwen3-Coder-Next

Giờ llama.cpp đã được cài, bước tiếp theo là tải mô hình Qwen3-Coder-Next GGUF từ Hugging Face.

Trước khi bắt đầu, hãy đảm bảo bạn có bản cài Python (>= 3.11) gần đây, vì công cụ và tiện ích truyền của Hugging Face phụ thuộc vào nó.

Để tải các tệp GGUF lớn hiệu quả, chúng ta sẽ dùng client Hugging Face Hub cùng backend Xet và transfer tốc độ cao:

pip install -U "huggingface_hub[hf_xet]" hf-xet hf_transfer

Tiếp theo, bật backend truyền tối ưu của Hugging Face:

export HF_HUB_ENABLE_HF_TRANSFER=1

Giờ chúng ta có thể tải phiên bản Unsloth dynamic GGUF của Qwen3-Coder-Next. Trong hướng dẫn này, chúng ta sẽ tải cụ thể bản lượng tử hóa UD-Q4_K_XL.

Đây là lựa chọn mặc định rất tốt vì mang lại cân bằng tuyệt vời giữa:

  • Chất lượng mô hình (hiệu năng mã hóa rất mạnh)
  • Tốc độ suy luận (đủ nhanh cho quy trình vibe coding cục bộ)
  • Hiệu quả bộ nhớ (phù hợp với GPU tiêu dùng cao cấp cùng offload sang RAM)

Định dạng Q4 nghĩa là mô hình được nén xuống độ chính xác 4-bit, nhẹ hơn nhiều so với trọng số FP16 đầy đủ nhưng vẫn giữ chất lượng đầu ra ấn tượng. 

hf download unsloth/Qwen3-Coder-Next-GGUF \
  --local-dir /workspace/models/qwen3-coder-next \
  --include "*UD-Q4_K_XL*"

Khi lệnh chạy, các tệp mô hình sẽ bắt đầu tải xuống thư mục cục bộ của bạn.

tải mô hình GGUF lượng tử hóa 4-bit unsloth/Qwen3-Coder-Next-GGUF

Trên mạng tốc độ cao, thao tác này thường chỉ mất vài phút. Sau khi hoàn tất, bạn sẽ có mô hình GGUF sẵn sàng nạp vào llama-server để suy luận cục bộ.

Chạy máy chủ suy luận Qwen3-Coder-Next

Sau khi tải mô hình GGUF, chúng ta có thể khởi chạy Qwen3-Coder-Next cục bộ bằng backend suy luận llama-server. Điều này khởi động một máy chủ API tương thích OpenAI để công cụ mã hóa và CLI có thể kết nối.

Chạy lệnh sau:

./llama-server \
  --model "/workspace/models/qwen3-coder-next/Qwen3-Coder-Next-UD-Q4_K_XL.gguf" \
  --alias "Qwen3-Coder-Next" \
  --host 0.0.0.0 \
  --port 8080 \
  --threads 32 \
  --threads-batch 32 \
  --ctx-size 20000\
  --batch-size  1024\ 
  --ubatch-size 256 \
  --jinja \
  --flash-attn on \
  --temp 0.7 \
  --top-p 0.9 \
  --min-p 0.05 \
  --fit on \
  --swa off

Máy chủ suy luận Qwen3-Coder-Next chạy cục bộ

Giải thích các tham số chính:

  • --model: Đường dẫn tới checkpoint Qwen3-Coder-Next GGUF đã tải
  • --alias: Tên thân thiện của mô hình hiển thị trong client API
  • --host 0.0.0.0: Mở máy chủ trên mọi giao diện mạng (hữu ích cho truy cập từ xa)
  • --port 8080: Chạy API suy luận trên cổng 8080
  • --threads 32: Dùng 32 luồng CPU để tối đa thông lượng
  • --threads-batch 32: Song song hóa xử lý batch để tạo token nhanh hơn
  • --ctx-size 20000: Đặt cửa sổ ngữ cảnh lớn (~20K token) cho phiên mã dài
  • --batch-size 1024: Cải thiện mức sử dụng GPU trong suy luận
  • --ubatch-size 256: Điều khiển micro-batching để hiệu năng mượt hơn
  • --jinja: Bật định dạng mẫu chat cần cho mô hình kiểu hướng dẫn
  • --flash-attn on: Kích hoạt Flash Attention để suy luận ngữ cảnh dài nhanh hơn
  • --temp 0.7: Giữ đầu ra tập trung nhưng vẫn sáng tạo cho vibe coding
  • --top-p 0.9: Lấy mẫu nucleus để cân bằng đa dạng
  • --min-p 0.05: Lọc token xác suất rất thấp để hoàn tất sạch hơn
  • --fit on: Tự động xếp lớp vào VRAM và offload phần còn lại sang RAM
  • --swa off: Tắt sliding window attention (tốt hơn cho tác vụ toàn ngữ cảnh)

Khi máy chủ khởi chạy, hãy để nó chạy ở cửa sổ terminal đó. Sau đó, mở một tab hoặc phiên terminal mới để thử API mà không dừng máy chủ.

Từ terminal mới, bạn có thể xác nhận mọi thứ hoạt động bằng cách truy vấn các mô hình sẵn có:

curl http://127.0.0.1:8080/v1/models

Nếu máy chủ chạy đúng, bạn sẽ thấy Qwen3-Coder-Next trong phản hồi, nghĩa là endpoint suy luận cục bộ của bạn đã sẵn sàng sử dụng.

Truy cập endpoint API Qwen3-Coder-Next cục bộ qua Web UI

Khi máy chủ suy luận đang chạy, bạn cũng có thể tương tác trực tiếp với Qwen3-Coder-Next qua Web UI của llama.cpp tích hợp sẵn.

Mở trình duyệt và truy cập: http://127.0.0.1:8080.

Giao diện kiểu ChatGPT đơn giản sẽ hiển thị, nơi bạn có thể nhanh chóng thử prompt và kiểm tra mô hình phản hồi đúng.

Ví dụ, hãy yêu cầu mô hình tạo thứ gì đó thực tế, như một bot giao dịch Python cơ bản.

sử dụng webUI của llama.cppChỉ sau vài giây, bạn sẽ nhận được phản hồi đầy đủ với mã chạy được và các bước triển khai rõ ràng.

Đạt 43.62 token mỗi giây trên RTX 3060 cho Qwen3-Coder-Next

Điều ấn tượng đặc biệt là tốc độ. Trên thiết lập của chúng tôi, Qwen3-Coder-Next tạo khoảng 44 token mỗi giây, khiến việc mã hóa cục bộ phản hồi cực nhanh, đủ cho quy trình vibe coding theo thời gian thực.

Cài đặt và thiết lập Qwen Code CLI

Giờ máy chủ suy luận cục bộ đang chạy tại http://127.0.0.1:8080/v1, chúng ta có thể kết nối nó với Qwen Code CLI. Công cụ này mang đến một trợ lý mã hóa gọn nhẹ trên terminal, trò chuyện với mô hình Qwen3-Coder-Next cục bộ của bạn qua API tương thích OpenAI.

Qwen Code CLI là công cụ dựa trên Node, vì vậy bạn cần:

  • Node.js 20+
  • npm (được cài tự động cùng Node.js trên Ubuntu/Debian)

Cài Node.js từ NodeSource (khuyến nghị để có đúng phiên bản):

sudo apt update
sudo apt install -y curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

Giờ cài Qwen Code CLI toàn hệ thống:

npm install -g @qwen-code/qwen-code@latest

Xác minh đã cài thành công:

qwen --version 
0.9.0

Qwen CLI mong đợi các biến môi trường theo kiểu OpenAI. Chúng ta sẽ tạo một tệp cấu hình đơn giản để chỉ định:

  • Dùng API key giả (vì chúng ta chạy cục bộ)
  • Gửi yêu cầu tới llama-server trên cổng 8080
  • Dùng đúng tên mô hình chúng ta đặt bằng --alias

Tạo thư mục cấu hình và tệp .env:

mkdir -p ~/.qwen
cat > ~/.qwen/.env <<'EOF'
OPENAI_API_KEY="dummy"
OPENAI_BASE_URL="http://127.0.0.1:8080/v1"
OPENAI_MODEL="Qwen3-Coder-Next"
EOF

Bây giờ khởi chạy Qwen Code:

qwen 

Qwen Code CLI được cấu hình dùng máy chủ LLama.cpp cục bộTại thời điểm này, CLI của bạn đã kết nối với máy chủ Qwen3-Coder-Next cục bộ, nên mọi prompt đều chạy cục bộ thay vì gọi API đám mây.

Vibe coding bảng điều khiển phân tích bằng Qwen3-Coder-Next

Giờ mọi thứ đã chạy cục bộ, chúng ta có thể bắt đầu vibe coding một bảng điều khiển phân tích đơn giản bằng Qwen Code CLI.

Đầu tiên, tạo một thư mục dự án mới và chuyển vào đó:

mkdir dashboardcd dashboard

Tiếp theo, khởi chạy Qwen CLI trong thư mục này:

qwen

Giờ hãy đưa cho mô hình một chỉ dẫn rõ ràng, đơn giản, ví dụ:

“Xây dựng một bảng điều khiển phân tích HTML với dữ liệu giả (doanh số, người dùng, doanh thu, churn), hiển thị thẻ KPI, một bảng tương tác và ít nhất một biểu đồ, thêm bộ lọc phạm vi ngày và danh mục.”

Chỉ sau vài giây, Qwen3-Coder-Next hiểu yêu cầu và chia nhỏ tác vụ thành kế hoạch có cấu trúc trước khi viết mã.

Danh sách TodoWrite của Qwen Code cho dự án bảng điều khiển phân tích HTML.

Sau khi hoàn thành danh sách kiểm tra, mô hình đã tạo một bảng điều khiển hoạt động đầy đủ trong một lần, bao gồm:

  • index.html
  • style.css
  • script.js

Bảng điều khiển được tạo bằng Qwen Code và Qwen3-Coder-Next

Khi bạn mở tệp index.html trong trình duyệt, bạn sẽ thấy ngay một bảng điều khiển hiện đại, cấu trúc tốt, phong cách sạch, các thẻ KPI và số liệu giả thực tế. 

Giao diện bảng điều khiển phân tích

Các bộ lọc, tương tác bảng và tùy chọn tải xuống đều hoạt động mượt mà ngay từ đầu.

Bộ lọc của bảng điều khiển phân tích

Khi cuộn xuống, bảng điều khiển cũng bao gồm dữ liệu giao dịch chi tiết với khoảng 150 bản ghi giả, khiến nó trông giống một sản phẩm phân tích thực thụ.

Dữ liệu bảng điều khiển phân tích

Dù không tạo mọi trực quan có thể (ví dụ, biểu đồ đường doanh thu theo thời gian sẽ là bổ sung hay), việc một mô hình lượng tử hóa chạy cục bộ có thể tạo ra một bảng điều khiển chức năng gần như trong một lần vẫn cực kỳ ấn tượng. 

Nhìn chung, toàn bộ quá trình chỉ mất vài phút từ prompt đến đầu ra hoạt động.

Suy ngẫm cuối

Thành thật mà nói: trải nghiệm của tôi với Qwen3-Coder-Next hơi pha tạp.

Trên giấy tờ, các đánh giá gợi ý nó nên tiệm cận các mô hình tuyến đầu như Claude Sonnet 4.5, và ý tưởng chạy cục bộ một mô hình mã hóa MoE 80B thực sự rất phấn khích. 

Trong hướng dẫn này, chúng ta đã dựng thành công llama.cpp với hỗ trợ CUDA, tải bản lượng tử hóa GGUF của Unsloth, khởi chạy máy chủ suy luận cục bộ, và thậm chí vibe code một bảng điều khiển phân tích hoạt động chỉ trong vài phút. Tốc độ và độ phản hồi cục bộ rất ấn tượng, đặc biệt với thiết lập open-weight.

Nhưng trong thực tế, tôi không luôn thấy được độ tin cậy “tầm Sonnet” như một số benchmark gợi ý. Tôi đã dành vài giờ cố gắng dùng mô hình trong các môi trường tác nhân phức tạp hơn như opencode, và liên tục gặp các vấn đề như lỗi công cụ, đầu ra không ổn định, và đôi khi lặp vô hạn.

Thú vị là, mô hình hoạt động đáng tin cậy hơn nhiều khi tôi chuyển sang quy trình đơn giản hơn dùng Qwen Code CLI. Trong bối cảnh đó, nó làm tốt cho các tác vụ mã hóa trực tiếp, tạo mẫu nhanh và các phiên vibe coding. Trải nghiệm mượt, nhanh và thực sự thú vị khi dùng cục bộ.

Kết luận của tôi: Qwen3-Coder-Next rất đáng để bạn thử nghiệm, đặc biệt nếu bạn muốn một trợ lý mã hóa cục bộ mạnh mẽ mà không cần API đám mây. Nhưng tôi chưa khuyên dùng nó như sự thay thế hoàn toàn cho các tác nhân mã hóa cấp sản xuất, trừ khi bạn sẵn sàng dành thời gian gỡ lỗi, tinh chỉnh thiết lập llama.cpp, và tối ưu hiệu năng cho phần cứng của mình.

Nếu bạn quan tâm học thêm về làm việc với AI trong quy trình của mình, tôi khuyên bạn xem khóa AI-Assisted Coding for Developers.

Qwen3-Coder-Next FAQs

Qwen3-Coder-Next là gì?

Qwen3-Coder-Next là một mô hình AI open-weight tiên tiến được thiết kế riêng cho lập trình. Nó sử dụng kiến trúc "Mixture-of-Experts" (MoE), cho phép vừa cực mạnh (80B tham số) vừa đủ nhẹ để chạy trên phần cứng tiêu dùng. Nó được xây dựng để xử lý các tác vụ mã hóa phức tạp, nhiều bước vốn thường yêu cầu các mô hình trả phí đắt đỏ.

Qwen3-Coder-Next so với GPT-5.2 hoặc Claude 4.5 thế nào?

Dù GPT-5.2 và Claude 4.5 có thể vẫn nhỉnh hơn đôi chút ở suy luận phức tạp, Qwen3-Coder-Next đạt mức gần tương đương trong các tác vụ mã hóa. Quan trọng hơn, nó cho phép vibe coding cục bộ, mang lại khả năng sinh đầu ra không giới hạn, riêng tư và gần như không độ trễ, không bị giới hạn tốc độ hay tính phí theo token như API đám mây.

Tôi cần phần cứng gì để chạy cục bộ?

Để chạy mô hình mượt mà, bạn cần khoảng 46GB bộ nhớ tổng (VRAM + RAM hệ thống). Thiết lập lý tưởng cho "vibe coding" là GPU có 24GB VRAM (như RTX 3090 hoặc 4090), cho phép bạn đẩy phần nặng lên GPU trong khi dùng RAM hệ thống cho phần còn lại.

Qwen3-Coder-Next có miễn phí không?

Có. Không như GitHub Copilot hay ChatGPT, Qwen3-Coder-Next là "open weights", nghĩa là bạn có thể tải tệp mô hình và chạy ngoại tuyến mãi mãi. Không có phí thuê bao hàng tháng, không theo dõi dữ liệu, và không phí API.

Abid Ali Awan

Tác giả

Abid Ali Awan

Là một nhà khoa học dữ liệu được chứng nhận, tôi đam mê tận dụng công nghệ tiên tiến để tạo ra các ứng dụng học máy đổi mới. Với nền tảng vững chắc về nhận dạng giọng nói, phân tích và báo cáo dữ liệu, MLOps, AI hội thoại và NLP, tôi đã rèn giũa kỹ năng phát triển các hệ thống thông minh có thể tạo ra tác động thực sự. Bên cạnh chuyên môn kỹ thuật, tôi cũng là một người truyền đạt tốt, có khả năng chắt lọc các khái niệm phức tạp thành ngôn ngữ rõ ràng, súc tích. Nhờ đó, tôi trở thành một blogger được nhiều người quan tâm trong lĩnh vực khoa học dữ liệu, chia sẻ góc nhìn và kinh nghiệm với cộng đồng các chuyên gia dữ liệu ngày càng lớn. Hiện tại, tôi tập trung vào sáng tạo và biên tập nội dung, làm việc với các mô hình ngôn ngữ lớn để phát triển nội dung mạnh mẽ và hấp dẫn, giúp doanh nghiệp và cá nhân tận dụng tối đa dữ liệu của mình.

Chủ đề

Liên quan