使用 mu
經驗
mu 怎樣從你的糾正和自己的脫困裡學經驗,經驗怎樣合併和召回,沒人照做的經驗怎樣退役。
經驗庫是 mu 在工作階段之間記住的東西:你的糾正、你定的規矩,以及代理掉進過的坑和它是怎麼出來的。命令列和桌面版共用它。由判定器決定什麼值得記、是不是新的、什麼時候適用、有沒有被照做;由一個小的 writer 模型把它寫成文字。
經驗從哪裡來
| 來源 | 什麼時候 | 判定器決定什麼 |
|---|---|---|
| 你的糾正和規矩 | 你說「不對,用 pnpm」或「永遠別往 main 提交」 | 這是一次糾正,還是以後都要守的規矩?(memory.capture) |
| 代理自己脫困 | 它原地打轉或撞上死路,而這一輪最後仍以檢查通過或目標達成結束 | 最後奏效的是不是另一條路?如果是,記下這個坑和繞過去的辦法。(memory.outcome,每輪最多一次,只在真的卡住過之後) |
| 模型 | 它用 remember 工具記下一件事 |
以後還用得上、一次性的,還是從提示詞或專案檔案裡早就知道?只留第一種。(memory.worth) |
| 子代理 | 子代理報告裡以 Lesson: 開頭的一行 |
同一個問題(memory.worth) |
| 你直接寫的 | /remember <text> |
不判定:照原文記下 |
合併
一條新經驗存下之前,會在一個請求裡和最相似的六條已存經驗比較(memory.merge):同一條經驗不重複存;更精確的一條取代舊的;遇到矛盾,舊的退役,因為以你最新的說法為準。只有你說過的話才能讓一條你教的經驗退役;模型推翻不了你。
召回
一則訊息到達時,和訊息預檢同時,判定器對每一條候選經驗問一次它是否適用(memory.recall)。最多判 24 條候選,最常被照做的排在前面;最多五條帶進這一輪,每條一行。子代理在任務簡報裡拿到適用於自己任務的經驗。
照做了沒有
一輪結束時,判定器讀一遍發生了什麼,對每一條被召回的經驗問一次它有沒有被照做(memory.applied)。一條經驗被召回八次都從沒照做,就自己退役,mu 會告訴你。
指令
| 指令 | 做什麼 |
|---|---|
/remember <text> |
照原文記下一條經驗 |
/lessons |
這個專案的經驗:編號、類型、被召回和照做了多少次、經驗本身 |
/lessons all |
也包括到處適用的和已退役的 |
/forget <id> |
讓一條退役 |
在桌面版,經驗頁顯示同樣的列表;可以在那裡編輯一條經驗,或讓它退役。
經驗庫是一個檔案,~/.mu/agent/mu/lessons.jsonl。每條經驗有一個類型(糾正、規則、坑、繞過辦法或事實)、什麼時候適用、該怎麼做,以及只對這個專案有效還是到處有效。