新版本桌面版 v0.1.7:設定依區域分組,首次引導重做,內建 mu-agent 0.1.8
文件 文件

開始

快速開始 桌面版 命令列

使用 mu

判定器 權限與安全 目標模式與收尾 上下文 經驗 人話看板 子代理與蜂群

參考

設定 功能與選項 疑難排解 隱私

使用 mu

子代理與蜂群

依角色委派給子代理,隔離的編輯以修補程式交回,以及蜂群:由 Jev 決定蜂之間傳什麼。

mu 可以用兩種方式把工作交給別的代理:子代理接各自獨立的任務,蜂群讓幾隻蜂同時攻一個難題。

子代理

模型用 delegate 工具委派,或者你用 /agents 來要求。對每個任務,判定器依難度挑一個角色、一個梯隊裡的模型和一個思考等級(swarm.routing)。內建角色:

角色 做什麼
worker 完成任務,包括編輯(預設)
scout 找程式碼、讀程式碼,不改任何東西
planner 把一個目標變成具體計畫;不編輯
reviewer 審查程式碼或 diff 裡的 bug 和安全問題;唯讀
investigator 從一個角度深挖一個難題,不改任何東西
browser 用內建瀏覽器在網站上做事

你自己的角色放在 ~/.mu/agent/agents/。最多同時執行三個。子代理會拿到適用於它們任務的經驗,在你的硬性約束下工作,並沿用對話的權限模式。features.swarm.models 列出它們可以被分派到的模型,便宜的在前;不設定時,所有子代理都用工作階段的模型。

隔離的編輯

會改檔案的子代理在它自己的 git 工作樹(worktree)裡工作,這個工作樹在你的儲存庫之外,起點是主代理看到的檔案,包括還沒提交的改動。它做完後,改動以修補程式的形式交回,附帶檔案和行數。判定器根據任務、路徑和行數檢查修補程式是否在任務範圍內(swarm.patch),並加一行建議;它從不攔截。

然後由主代理決定:apply_patch_from 要麼全部套用,要麼完全不套用,不提交、不暫存,也不碰你的索引。在 git 儲存庫之外,或者正處在 rebase 或 merge 中間時,子代理直接在原處編輯,並說明原因。

蜂群

每個多代理系統都要回答同一個問題:一個代理知道的,要不要告訴另一個?什麼都不說,它們會走進同一條死路;什麼都說,每個上下文都會被別人的閒聊塞滿。在蜂群裡,判定器當閘門。

一個蜂群有二到六隻蜂,各有自己的關注點。蜂讀程式碼、跑指令、用瀏覽器;它們從不改程式碼,那是主模型的事。/hive <question> 發起一個蜂群;問題直接做不下去時,代理也會自己發起一個。

  • 發布(hive.publish)。每隻蜂說完一段,判定器就問:這裡有沒有值得共享的發現、死路、決定或阻礙?有的話,它會上一塊只增不刪的共享板。
  • 投遞(hive.deliver)。每來一則新筆記,判定器對每一隻別的蜂各問一次:這和它的關注點有關嗎?有關才投遞過去,標明「這是發現,不是指令」。
  • 更正(hive.relate)。後來的發現可以推翻早先的:一隻蜂回報測試跑不起來,後來另一隻清掉一個環境變數,測試就跑通了。判定器讀兩則筆記之間的關係:「推翻」、「矛盾」或「支持」。被推翻的發現變成一則更正,送給每一隻聽過舊發現的蜂。互相矛盾的兩則都留著,標為爭議;一分鐘內沒人解決,就派一隻驗證蜂去查。

一次真實的執行:三隻蜂,九分鐘,評了 117 則候選筆記,27 則發布,16 則投遞給了需要它的蜂。每一次判定都在這次執行的帳本裡。

查看和停止

/swarm 顯示每一隻在做什麼;/swarm stop 讓它們現在交報告;/swarm kill 立刻結束它們。時間到了的蜂會被要求交報告,不交就被結束;卡住的模型或工具由看門狗處理。蜂群總會帶著結果回來。

在桌面版,蜂群頁顯示每隻蜂、它的角色和模型、它在說什麼,以及一張誰把什麼送給了誰的圖:投遞越多線越粗,更正和爭議各有自己的畫法,一則發現送到的那一刻會沿著線亮一下。對話裡的蜂群卡片附有這張圖的縮圖。

喜歡 mu,就到 GitHub 給個 Star

Star 能讓更多人看到它。程式碼、討論和每一個版本都在儲存庫裡。

在 GitHub 上 Star464