📌 本文重點
- 16GB 顯卡即可本地跑 Qwen 3.8-27B 程式助手
- llama.cpp + MTP 把長上下文推理速度壓到可用
- 少數高階指令即可讓 Agent 自動讀 repo、寫 code、跑測試
用一張 16GB 顯卡,把 Qwen 3.8-27B 跑在自己機器上,變成一個能讀 repo、寫 code、自己跑測試的本地程式助手。
核心功能:這套組合能幫你做什麼?
1. 在 16GB 顯卡上跑 27B 長上下文 Agent
- Qwen 3.8-27B 是阿里開源的大模型,在 Reddit 實測 裡,表現接近商用雲端模型,特別擅長長上下文推理和實務知識。
- 社群已針對 16GB VRAM 做過完整配置分享,可在
73kcontext 下跑 agentic coding,單專案可吃超過百萬 token 歷史。參考設定。 - 透過 GGUF 量化 + cache 量化,搭配 CPU RAM,把 27B 模型擠進「遊戲卡 + 小主機」這種平價組合。
💡 關鍵: 只要 16GB 顯卡就能在本地處理 73k 以上長上下文,支援單專案百萬 token 歷史。
你可以做的:
– 把原本只能打遊戲的 16GB 顯卡,變成一台完全離線的 AI 程式助手。
– 不依賴雲端,內網就能讓 AI 幫你寫 CLI 工具、重構專案。
2. llama.cpp v0.1.0 + FastMTP / adaptive MTP:把延遲壓到能用
llama.cpp v0.1.0是穩定版,支援多平台(Windows / Linux / macOS / Apple Silicon),對 GGUF 模型友善。版本連結- HauhauCS 的 FastMTP(多 token 預測)在 Qwen 3.8-27B 上可達 3 倍輸出速度提升:模型頁面。
llama.cpp的 adaptive MTP(PR#27210)會依情境自動調整 MTP 深度:簡單部分快出,多步推理時才放慢,代碼生成速度可提升10–50%。
💡 關鍵: 結合 FastMTP 與 adaptive MTP,可以把原本「一秒一 token」的體驗提升到實際可用的程式生成速度。
你可以做的:
– 在同一台機器上,從「一秒一 token」變成「可以實際用來寫 code」的速度。
– 不用糾結 MTP 數字,用 adaptive 模式就能有不錯的平衡。
3. 真正的「Agent」:少數幾個高階提示就能跑完整專案
- Qwen 3.8-27B 在所謂 medium reasoning 模式下,對「代理式編碼」特別吃香:實測 benchmark 顯示,比 xhigh 模式更省 token、更少請求,完成度相近。
- 你只要給它幾個高階指令(例如:讀 repo、規劃任務、按計畫實作),讓它自己呼叫 shell/測試,就能完成一個小專案。
你可以做的:
– 把它當成「本地版 Cursor Agent」:讓它自己看專案、拆任務、寫程式、跑測試。
適合誰用?
- 個人開發者 / 接案工程師:
- 想用 Qwen 3.8-27B 協助寫後端 / CLI 工具,但又不想每月付雲端費用。
-
例:在家用
3060 16GB+N100補一台小主機,做本地私有助手。 -
公司內部專案:
- 需要把專案 code、內部文件給 LLM 看,但有資料不出防火牆的限制。
-
例:在 CI/CD server 上掛一個 Qwen Agent,協助寫腳本、改 pipeline。
-
AI 工具愛好者 / 自架控:
- 喜歡試不同量化、推理引擎,把效能擠到極限。
- 例:對比 medium reasoning + adaptive MTP vs xhigh + 固定 MTP 的速度與品質差異。
工具與環境:一次給你可複製的配置
1. 必要硬體與系統建議
最低建議(接近 Reddit 實測環境):
- GPU:
RTX 4060/5060 Ti 16GB,或同級 16GB 顯卡 - CPU:
Intel N100以上(有AVX2更好) - RAM:
32GB(推薦48GB+,上下文拉長時更穩) - 系統:
Ubuntu 22.04/Windows 11(本文以 Linux 命令為例)
行動:檢查自己機器:
nvidia-smi # 看 VRAM 容量
free -h # 看 RAM
2. 模型與 llama.cpp 安裝
Step 1:抓 llama.cpp v0.1.0
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
git checkout v0.1.0
make -j$(nproc)
Step 2:下載 Qwen 3.8-27B GGUF
建議用 HauhauCS Aggressive + MTP 版本:
- 模型頁面:https://huggingface.co/HauhauCS/Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-MTP-GGUF
- 推薦量化:
- 權重:
Q4_K_M或Q5_K_M(16GB 卡比較穩) - KV cache 量化:
q8_0或q6_K搭配 medium reasoning
下載範例(用 hf_hub_download 或直接瀏覽器下載):
mkdir -p models/qwen-3.8-27b
# 將下載好的 .gguf 放進這個資料夾
mv ~/Downloads/Qwen3.8-27B-*-Q5_K_M.gguf models/qwen-3.8-27b/
3. 實測好用的啟動指令(16GB VRAM)
下面是一個可直接用來跑 Agent 的作者實測配置(參考自 1M+ token 實作):
./bin/llama-server \
-m models/qwen-3.8-27b/Qwen3.8-27B-*-Q5_K_M.gguf \
--ctx-size 73000 \
--batch-size 512 \
--n-gpu-layers 45 \
--gpu-layers-split auto \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--no-mmap \
--temp 0.8 \
--top_p 0.9 \
--seed 42 \
--mtl 4 \
--mtp-adaptive
關鍵說明:
--ctx-size 73000:長上下文,適合讀整個 repo。--cache-type-k/v q8_0:cache 量化,換取更大上下文與速度。--mtp-adaptive:啟用 adaptive MTP,自動調整多 token 推理深度。--mtl 4:多執行緒,視 CPU 調整(8 核可用6–8)。
行動:啟動後,瀏覽器開 http://localhost:8080,確認模型可以互動,再往下走 Agent Workflow。
Workflow 示範:讓本地 Qwen 自己寫一個 CLI 工具
目標:寫一個「掃描專案中 TODO 註解並輸出報表」的 Python CLI 工具,讓 Agent 自己:
- 讀 repo
- 規劃任務
- 分步撰碼
- 呼叫
pytest或自訂測試
1. 準備一個 repo + agent shell
假設你的專案在 ~/projects/todo-cli:
cd ~/projects/todo-cli
python -m venv .venv
source .venv/bin/activate
pip install pytest
準備一個簡單的「Agent shell」腳本(例如 agent_shell.py),透過 HTTP 調用 llama.cpp,並允許它執行有限制的 shell 指令:
import subprocess, json, requests, os
API_URL = "http://localhost:8080/completion"
ALLOWED_CMDS = ["pytest", "python", "ls", "cat"]
def call_llm(prompt):
payload = {
"prompt": prompt,
"max_tokens": 512,
"temperature": 0.7
}
r = requests.post(API_URL, json=payload)
return r.json()["content"]
def run_cmd(cmd):
if cmd.split()[0] not in ALLOWED_CMDS:
return "[blocked command]"
return subprocess.run(cmd, shell=True, capture_output=True, text=True).stdout
if __name__ == "__main__":
while True:
user = input("You> ")
if user.strip() == "exit":
break
resp = call_llm(user)
print("Agent>", resp)
行動:確保你能從命令列下指令,讓 Agent 先以「聊天模式」回答,再逐步加上工具使用(shell 執行)。
2. 用高階提示引導 Qwen 變成程式助手
示範系統提示(可貼進 Web UI 或 agent_shell 的第一個請求):
你是一位本地程式助手,目標是在不依賴外網的情況下,完成整個專案開發流程。
能力與規則:
1. 你可以要求我執行指令,例如:`RUN: pytest`、`RUN: ls`、`RUN: cat filename`。
2. 每次回答時,如果需要實際操作,請先說明要做什麼,再給出一行 `RUN:` 指令。
3. 每個階段先列出簡短計畫,再實作。
4. 對於程式碼修改,請輸出完整檔案內容,而不是差異片段。
接著,使用者只需幾個高階指令:
- 讀 repo + 規劃任務
text
請先用 `RUN: ls` 和 `RUN: find . -maxdepth 3` 理解專案結構,之後提出一個開發計畫:
目標是寫一個 `todo_report` CLI,掃描整個 repo 的 TODO 註解,輸出為 JSON 檔。
- 實作 CLI
text
依照你的計畫,先實作最小可用版本的 `todo_report`,用 Python 實作,並寫對應的 pytest 測試。
- 自動測試與修正
text
實作完成後,請要求我執行 `RUN: pytest`,你再根據測試結果修正程式。
你會看到的典型互動流程:
- 模型要求
RUN: ls、RUN: cat ...→ 你在 shell 中照做,把結果貼回給它。 - 它產生
todo_report.py完整檔案內容 → 你存檔。 - 它產生測試檔 → 你存檔,執行
pytest,貼回錯誤訊息。 - 迭代
2–3輪,CLI 工具就完成了。
重點:整個過程你只下了 3–4 個高階指令,其餘由 Agent 自己規劃與修正。
進階調校:reasoning 模式、量化與「記憶」
1. medium vs xhigh reasoning:怎麼選?
- medium reasoning:
- 得分較高、請求數幾乎減半,生成 token 也少三分之一。
-
非常適合「多輪小步」的代理任務(寫 code、修測試)。
-
xhigh reasoning:
- 單次 prompt 的嚴苛推理題可能略好,但耗時、耗 token。
💡 關鍵: 實測顯示 medium reasoning 在代理式編碼中比 xhigh 更省時、省 token,完成度相近。
建議:
- 本地 Agent 預設用 medium。
- 偶爾需要「一次回答寫完一篇長文或複雜設計」時,再開 xhigh。
2. 量化與快取:怎麼不犧牲太多品質?
實用組合(16GB 卡):
- 權重:
Q4_K_M起跳,追求品質用Q5_K_M。 - KV cache:
q8_0或q6_K,在長上下文時性價比佳。
調整原則:
- 若 VRAM 爆掉 → 降權重量化或減
--n-gpu-layers,讓更多層跑在 CPU。 - 若輸出過慢 → 開
--mtp-adaptive或固定--mtp 3,配合--batch-size 512以上。
3. 延伸玩法:簡單「長期記憶」
你可以加一層「記憶層」,例如:
- 使用簡單檔案索引:
- 把重要檔案(設計文件、規格)摘要成短段落,存 JSON。
-
開發時先用關鍵字搜尋相關摘要,附在 prompt 開頭,讓 Qwen 有「記憶」。
-
像
ai-memory那樣記錄對話: - 把每次對話中重要決策(例如:架構選擇、命名約定)存到
memory.md。 - 每次新任務前,把
memory.md摘要貼給模型。
行動:先在專案根目錄加一個 ai_memory/,把設計決策和重要檔案摘要集中存放,讓下一次 Agent 啟動時也能延續上下文。
怎麼開始:一鍵腳本 + 三個可套用 Prompt
1. 安裝腳本(Linux 範例)
# 安裝依賴\sudo apt update && sudo apt install -y build-essential git python3-venv
# 取得 llama.cpp v0.1.0
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
git checkout v0.1.0
make -j$(nproc)
# 建立模型資料夾
mkdir -p models/qwen-3.8-27b
# 將從 Hugging Face 下載的 Qwen3.8-27B GGUF 放入上述資料夾
echo "完成:請下載 GGUF 模型到 models/qwen-3.8-27b,然後執行啟動命令。"
2. 一行啟動命令(可直接複製)
./bin/llama-server \
-m models/qwen-3.8-27b/Qwen3.8-27B-*-Q5_K_M.gguf \
--ctx-size 73000 --batch-size 512 --n-gpu-layers 45 \
--cache-type-k q8_0 --cache-type-v q8_0 \
--temp 0.8 --top_p 0.9 --mtl 4 --mtp-adaptive
3. 三個可直接用的 Agent prompt 範本
(1) Repo 讀取與理解
你是一位本地程式助手,目標是理解這個 repo 的結構與目的。
請:
1. 用 `RUN:` 指令要求我列出檔案與重要檔案內容。
2. 整理出專案用途、主要模組、依賴關係。
3. 最後輸出一段 <SUMMARY> ... </SUMMARY> 作為後續任務的簡要說明。
(2) 新功能開發(CLI 工具)
根據目前 repo 的內容,規劃並實作一個新 CLI 工具:
需求:{在此描述}
步驟:
1. 先列出開發計畫(檔案變更列表)。
2. 依序產出完整檔案內容。
3. 為新功能撰寫至少一個 pytest 測試。
每個階段如果需要檔案內容或測試結果,請用 `RUN:` 指令要求我執行。
(3) 重構與程式碼審查
請針對這個模組進行重構,目標:
- 提升可讀性
- 避免重複邏輯
- 保持對外 API 不變
流程:
1. 要求我貼上目前檔案內容。
2. 提出重構建議清單。
3. 輸出重構後的完整檔案。
4. 建議或修改對應的測試。
照著這套流程,你今天就能把舊遊戲卡升級成一個能讀 repo、寫 code、自己跑測試的本地 Qwen 3.8 程式助手。
🚀 你現在可以做的事
- 在自己的機器上執行
nvidia-smi和free -h,確認硬體是否符合 16GB VRAM + 32GB RAM 的建議配置- 按文中步驟安裝
llama.cpp v0.1.0,下載 Qwen 3.8-27B GGUF 到models/qwen-3.8-27b並用啟動指令跑起來- 在一個現有 repo 中建立
agent_shell.py,貼上提供的系統 prompt,實際讓本地 Qwen 幫你完成一個小型 CLI 工具或重構任務

