Sakura Valley · Mission Report

櫻花山谷

單一 HTML 檔的 3D 程序化體素場景 —— 由本地大模型驅動的 AI 編碼代理(Cline)全程建置、截圖驗收與除錯之任務報告。

Three.js 0.160.0 GLM-5.3-Flash EXL3 4bpw TensorFold v0.6.0 + 70 patches 2× DGX Spark Cline Agent
01

任務統計

0 行
產出 sakura-valley.html
0 KB
單一檔案 · 零外部素材
0 輪
截圖驗證迭代修正
≈0 hr
總耗時*
≈0M
總 Token(含工具往返)*
≈0 tok/s
平均輸出速度*

*標註項目為事後估計值(非精確遙測):含規劃、程式撰寫、8 輪無頭瀏覽器截圖驗收與除錯往返。精確數字請以代理平台 usage 紀錄為準,亦可直接編輯本檔 STATS 物件修正。

02

場景技術棧

渲染與著色

  • Three.js 0.160.0 — 本地 importmap(three/ 模組),版本釘選
  • WebGL 2 + 自訂 GLSL — 水面波紋擾動、菲涅耳、霧融合
  • Reflector 真實反射水面 — 河流倒影 + 瀑布泡沫水霧
  • EffectComposer — UnrealBloomPass + MSAA + ACES Filmic
  • InstancedMesh — 遠景森林、花草、碎石實例化渲染

場景內容(100% 程序化)

  • 160×160 體素地形 — 高度場、河流刻蝕、梯田平台、雪線
  • 櫻花樹生成器 — 程序化枝幹 + 不規則花叢;古樹主角
  • 建築群 — 民宅×4、神社、鳥居、五重塔、紅拱橋、石燈籠×9
  • 生物與粒子 — 落花、螢火蟲、錦鯉、飛鳥、雨、雲、星空
  • 三種氛圍 — 藍調暮色 / 清晨霧谷 / 細雨,整體光效切換

互動與音效

  • OrbitControls — 拖曳環視、滾輪縮放、觸屏支援
  • 4 視角飛行 — 全景/河畔/參道/俯瞰,平滑補間 + 巡遊模式
  • Web Audio API — 程序化環境音(流水/風/鳥鳴),無音檔
  • 鍵盤快捷鍵 — 1-4 視角、R 重置、H 隱藏 UI、M 靜音

工程與驗證流程

  • Cline Agent — VS Code 內計畫/執行雙模式開發
  • 無頭 Edge + SwiftShader — 截圖迴圈:DOM dump → base64 → PNG
  • 逐輪視覺驗收 — 構圖/曝光/反射/遮蔽檢查,共修 8 處
  • 防禦性設計 — 高/輕畫質切換、prefers-reduced-motion、WebGL 備援錯誤提示
03

硬體

運算節點

  • 2× NVIDIA DGX Spark(GB10,各 128 GB 統一記憶體)
  • ConnectX-7 QSFP 直連 — RoCE v2,雙 rail all-gather 快 ~1.8×
  • GPU 時脈上限 2,200 MHz(基準測試設定)
  • 伺服器啟動時每節點需 ~110 GiB GPU 記憶體
  • 每節點磁碟 ~205 GB — checkpoint 176 GB + DFlash2 2.3 GB + 映像 25 GB

拓撲

  • TP=2 — 每台 Spark 一個 rank(head + worker)
  • head 節點經 SSH 指揮 worker,API 由 head 對外服務
  • 單條 CX7 rail ≈ 112 Gb/s(埠上限 200 Gb/s 的 PCIe Gen5 x4)
  • 第 3 台 Spark 為實驗性 TP=3(./start-tp3.sh)
04

模型

基底與量化

  • GLM-5.3-Flash — Z.AI 出品,MIT 授權
  • EXL3 4 bpw — Mia-AiLab/GLM-5.3-Flash-EXL3-4bpw-TensorFold(Apache-2.0)
  • routed experts 4-bit、其餘 BF16,權重 ~176 GB
  • 依 TensorFold 的服務方式校準量化

草稿模型與服務

  • DFlash2 草稿模型(incoai,CC BY-NC-ND 4.0)— +5–10% 解碼;每個草稿 token 皆經模型驗證,輸出與逐串解碼完全一致
  • API 名稱 GLM-5.3-Flash-EXL3 · 埠 8888
  • OpenAI 相容 API — chat/completions、responses、tokenize、Prometheus metrics
  • 工具呼叫(串流)、xgrammar 結構化輸出、reasoning_effort low/high/max
05

推理引擎配方 · TensorFold

配方來源 — Mia's AI Lab

  • TensorFold v0.6.0(Ash Hart)+ 70 個 patches — 65 個 v1.4、3 個 TP=3、1 個 8 併發、1 個 serial stop
  • PARALLEL=4 併發請求(可 1–8)· CONTEXT=1048576 完整 1M 視窗
  • KV=fp8 — 4 個請求共用 ~2.9M tokens FP8 KV pool(實測 2,922,496)
  • DENSE=q4 4-bit 密集權重 · DRAFTER=dflash2 + copy drafts
  • THINKING=1 預設先思考 · VISION=1 圖片/影片輸入
  • 更快 prompt kernels · one-shot RoCE all-gather · 多請求共用單一 cache pool
  • 執行環境:NVIDIA PyTorch 容器(Docker + NVIDIA container runtime)

取捨:4-bit 權重與 FP8 KV 為有損壓縮;DENSE=bf16 KV=bf16 KDA_CHUNKED=0 可無損服務原始 checkpoint(較慢、視窗較短)。

06

實測效能 · 2× DGX Spark

解碼速度(預設設定,GPU 2,200 MHz)

併發Prose 總和每請求TTFTStructured 總和每請求TTFT
160.460.4170 ms114.7114.7149 ms
279.240.4269 ms147.677.1295 ms
389.530.6330 ms196.367.4317 ms
4108.827.9340 ms227.961.1415 ms

單位 tok/s。4 併發回覆與單發回覆逐字一致(11/11 案例)。8 併發再 +27%(prose)/ +32%(code);第 3 台 Spark 單請求可達 77.6 tok/s。

提示詞處理 Prefill

Prompt 長度Prefill首 Token
8,219 tokens1,952.24.21 s
16,407 tokens1,973.58.31 s
32,790 tokens1,978.916.57 s
65,563 tokens1,942.533.75 s
131,099 tokens1,837.971.33 s
262,170 tokens1,641.7159.69 s
981,841(大海撈針)1,015967 s ✓

單位 tok/s。Prompt 重用:64k 提示詞重送 34 s → <0.07 s;7.9k 系統提示詞 4.24 s → 0.13 s。

品質基準(4-bit + FP8 KV)

Benchmark分數
GSM8K(250 題,thinking off)98.8%
HumanEval(164 題,thinking off)95.7%
HumanEval+ / MBPP+(542 題,thinking on)86.5%

本任務的實際感受

  • 代理回合以單請求串流為主 — 約 60 tok/s(prose)等級的輸出體感
  • 長上下文工具往返(讀檔/截圖 base64)靠 ~1,950 tok/s prefill 吃掉
  • 1M 視窗讓整個 54 KB 場景檔 + 多輪截圖都能留在上下文中反覆修正
  • 草稿驗證機制確保程式碼輸出與逐串解碼完全一致,不因加速而失真