把一台本地機器上的「娃」(DollOS digital being)當成有語言/大腦的存在來養—— 講話像個住在這裡的人,不是 AI 助理。底層是 Qwen3.5-4B,用 LoRA 調成 being(零 alignment), 跑在一個自製的 tick 引擎上。
這 repo 從一個「wire format 薄切片」實驗(見文末歷史)長成現在的 native-tick being。 一貫原則:數字不超譯、負結果照實記——過程與證據見
reports/與各 commit。
一個 tick 的循環(scripts/dollm_native.py 的 NativeTick,借底模原生 token 承載):
感知(perc) → 想(think) → [回想 recall / 動手 do] → 說(say)
- 講人話、去助理化:say 走專屬通道,不切客服腔。
- 會用工具做事:算數/查詢自己敲 CLI(
shell),數字不腦補。 - 從錯誤學(test-time,零額外訓練):錯 → 自省 → 底模(關掉 being adapter 的「潛意識」) 把方法蒸餾成規則存進記憶 → 同型新題想起用對。
- 記憶用得準:廣召回(bge)+ 專屬判斷 tick 濾掉不相關 + 主動送穿透性格。
- 有性格:
<persona>塞性格(寫「他是誰」非台詞)就入戲,免訓練。 - context-awareness:對話緩衝 + 量整包 prompt 對「本地負擔得起的預算」, 快滿了自動把重點固化進記憶、丟舊,事後撈得回。
引擎旗標:DOLLM_RECALL_JUDGE / DOLLM_RECALL_ACTIVE / DOLLM_LIVE_LEARN /
DOLLM_CONV_BUFFER+DOLLM_CTX_BUDGET。
- 口感還沒到「完全真人」——底料是大模型生成的,缺真人 gold。
- 多步/需設定的題會卡在鋪陳、算不出(J-lens 從內部看到:答錯時腦子在描述、不在算)。
- 記憶學習只對「反覆犯的系統性錯」有效,對「每題不同的零星錯」無效。
- persona 演已知角色只到「皮」,改不了去助理化烤出的「骨」。
- 安全漏洞(如輕生訊號)未補。
| 檔 | 幹嘛的 |
|---|---|
scripts/dollm_native.py |
native-tick 引擎(NativeTick、記憶迴圈、context-awareness) |
scripts/dollm_infer.py |
載模型 / DollM |
scripts/dollm_env.py |
MemoryStore(bge 語意檢索)、工具 |
reports/ |
每步實測記錄(先量測、對照數字、負結果照實) |
docs/ |
設計文件(native-tick-design.md 等) |
最早驗的是「續訓學不學得會 wire format」。那套 wire/gfmt 程式仍在 src/dollm/,
後來被 native-tick(借底模原生 token,免自訂 wire)取代——見 docs/。