Symbio:本地 AI 自我微調循環
Symbio 是一個本地運行的 AI 智能體,能自動從用户糾正和工具錯誤中提取訓練數據,並通過 LoRA 自我微調。支持 CLI、Telegram、技能學習、MOA 多智能體協作,所有數據保存在本地。
Symbio 是一個本地運行的 AI 智能體,它通過記錄用户的糾正來持續自我微調,實現“無需雲端、無需訂閲”的個性化學習。項目以 GitHub 開源,提供交互式演示,其核心特點是能將從自然對話中捕捉到的錯誤自動轉化為訓練數據,最終通過 LoRA 微調更新模型參數,讓 AI 不再重複犯錯。
功能上,Symbio 支持通過本地 CLI 或 Telegram bot 對話,能夠以 Markdown 文件保存事實和筆記,在項目目錄內讀寫搜索和修補文件,執行沙盒化的 shell 命令和 Python 片段,並在配置後可檢查 IMAP/SMTP 郵件。每一輪對話都會持久化到 JSONL 和 SQLite 中。
Symbio 的一大特色是 MOA(Mixture of Agents)模式:一個大模型作為“校長”將任務拆解並委派給較小的工作模型。若工作模型失敗,可回到校長處獲得指導;成功後雙方都會保存筆記。當同類錯誤超過閾值,工作模型和校長模型都會被微調,分別學會如何執行任務和更高效地委派任務。
技能(Skill)功能允許動態學習新技能。技能最初是帶有逐步説明的 Markdown 筆記;錯誤和糾正會記錄在隱藏的 sidecar 文件中。一旦錯誤達到閾值,收集的樣本會用於 LoRA 微調,生成一個專用的“技能適配器”(一個適配器 = 一個技能)。這些適配器支持熱插拔,閒置時可歸檔。
在糾正學習方面,Symbio 會自動檢測“不,我叫 Alice”這類糾正短語,提取原始問題、錯誤答案、用户糾正和正確答案,保存為 notes/mistakes/ 下的 Markdown 筆記。默認積累 5 個錯誤筆記後,系統會將它們消化為訓練數據並運行一次短 LoRA 更新,然後歸檔已使用的筆記並重新加載適配器。類似地,工具調用失敗後立刻成功的情況也會被自動捕獲,作為另一條訓練樣本。
微調使用 Apple 的 MLX-LM 框架實現 LoRA。基礎模型權重保持凍結,只訓練小型適配器矩陣。配置項包括 lora.rank、lora.num_layers、lora.scale、lora.dropout 等。為了確保微調不會悄悄破壞已有能力,每次 LoRA 更新後都會運行一個固定“黃金集”迴歸檢查。總體而言,Symbio 藉助持續自我修正和微調,將 AI 從“重複犯錯”中解放出來。