Quilloo:Vibe Coding 與 Qwen3.5 受限環境最佳化
.作者:Jollen
.日期:September 2, 2026 at 8:00 AM
.更新:September 2, 2026 at 8:00 AM
Quilloo 是筆者開始 Vibe Coding 後,第 21 個正式上架的 iOS App。這篇單純記錄一個里程碑:
- 滿一年幾乎不再手工 Coding
- 本地 AI 專案的第一個成果
筆者熱愛寫程式,也很享受思考與解決問題的過程。開發軟體幾乎不用寫程式,這是早期無法想像的世界。現在的日常工作,已經不能沒有 AI 了,所以已經正式成為 AI 重度使用者。
滿一年幾乎不再手工 Coding;盤點這一年的工作內容,「純手工寫程式」的項目只有:
- Pseudocode,為了開發演算法(但這也不算寫程式,因為根本不能編譯執行啊)
- System-Level,為了測試硬體端的效能與優化(但也只是相當小範圍的 try-runs)
- Forward-Refactor,這是 Opus / Fable 的強項,但有時會開始進入「雞同鴨講、繞圈圈」的循環,有時同一個 bug 老是修不好,那就自己去修改程式碼(但也是用 Claude Code 寫完 90% 以上程式碼)
- Research,先自己寫一套陽春版的測試程式,再讓 Claude Code 接手
這次上架的 Quilloo 就是第 4 點與 Claude Code 的成果。
把 LLM 模型做小
Quilloo 採用 Qwen3.5 0.8B 模型。初次啟動 Quilloo App 時,必須先下載 Qwen3.5 0.8B 到 iPhone 裝置端,後續「AI 寫文章」就能完全本地化;Pro 版(買斷制)可以永久「token 吃到飽」,不用再煩惱 token 用量問題。
有別於「追求更大參數與更強大的硬體」,本專案目標是「用最小參數模型、在資源受限的硬體上執行本地 AI。」
Qwen3.5 是一套有趣的 LLM 模型,特別是它的 GDN 技術。在啟動 Quilloo 計畫前,針對四種推論引擎組合做了完整的研究與測試:
- MLX + Qwen3.5 0.8B
- MLX + Qwen3.5 2B
- llama.cpp + Qwen3.5 0.8B
- llama.cpp + Qwen3.5 2B
雖然 MLX 在 Apple Silicon 上有非常好的效能表現,但筆者嫌它有點佔記憶體。直觀上,參數量越大,文字生成效果越好;不過經過實測,0.8B 在單純 Writing 的表現上,意外有亮眼表現。
Qwen3.5 0.8B 透過 GDN / Context 微調後,筆者很滿意它在寫作上的表現;此外,0.8B 模型檔案較小,再將大部分權重做 grouped 4-bit 量化,可以將模型檔壓縮至 437MB 左右。
Quilloo 技術規格
Quilloo 使用特殊量化的 Qwen 0.8B 模型,可由 huggingface.co/jollenchen 下載。此模型主要採用 grouped 4-bit layout 的量化,部分數值敏感的 tensors 保留較高精度,主要在優化模型檔大小,以及 Memory Peak。
以下是 Quilloo 的最低硬體要求:
- Apple A16 以上(iPhone 14 Pro 以上機種)
- 約 500MB 模型儲存空間
- iOS 17.6+
Qwen3.5 在本次 Apple Silicon 測試中,使用 MLX 能達到最佳的 tok/s 表現,不過「只是寫作文」倒不需要真的用到 MLX。Upstream llama.cpp 現在已經能處理 Qwen3.5 的 Hybrid Gated DeltaNet 與 Full Attention 架構;在 llama bridge 的部分,使用 mmap(Memory-mapped)的技巧來載入模型檔,效能表現也相當良好。