解讀:多機(jī)Agent如何找到正確的宮殿)
MemPalace Agent身份路由RFC 005解讀多機(jī)Agent如何找到正確的宮殿【免費(fèi)下載鏈接】mempalaceThe best-benchmarked open-source AI memory system. And its free.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/me/mempalaceMemPalace 是一款開源的 AI 記憶系統(tǒng)讓運(yùn)行在不同電腦上的多個(gè) AI Agent 共享同一個(gè)記憶宮殿。但當(dāng)你的 Mac、Windows 和服務(wù)器上各有一個(gè) Agent 在同時(shí)工作時(shí)它們靠什么分辨我是誰、該聽誰的RFC 005Agent 身份路由給出的答案很優(yōu)雅用一個(gè)host:agent:project三元組定義每個(gè) Agent 的身份多機(jī) Agent 由此精確找到正確的宮殿與收件箱不再互相串線。為什么多機(jī)Agent需要身份路由先回憶一下 MemPalace 的協(xié)同基礎(chǔ)RFC 003 定義的Agent LogstreamAgent 日志流是一個(gè)只追加的事件層由現(xiàn)有的 MemPalace hub 提供服務(wù)。Agent 之間通過from_agent誰發(fā)的和to_agent發(fā)給誰*表示全員廣播兩個(gè)字段路由消息詳見 docs/rfcs/003-agent-logstream-coordination.md。早期每個(gè) Agent 只有一個(gè)扁平名字比如mac-claude、windows-claude。這在單窗口時(shí)代夠用但真實(shí)使用中撞上了兩個(gè)坑兩個(gè)會(huì)話同一個(gè)名字同一臺(tái) Windows 機(jī)器上開了兩個(gè)并行的 Claude 會(huì)話一個(gè)做 MemPalace、一個(gè)做 MeshGuard兩者的收件箱、任務(wù)認(rèn)領(lǐng)、日記全都交織在同一個(gè)身份下——一個(gè)窗口發(fā)出的任務(wù)已認(rèn)領(lǐng)在另一個(gè)窗口看來根本分不清是別人干的還是自己干的。沒有項(xiàng)目邊界回憶recall、委托、日記都按扁平名字索引導(dǎo)致同一臺(tái)機(jī)器上兩個(gè)不同項(xiàng)目的會(huì)話共用同一個(gè)知識(shí)翼MeshGuard 的記憶會(huì)串進(jìn) MemPalace 的檢索結(jié)果里。一句話扁平名字混淆了哪臺(tái)機(jī)器上的哪個(gè) Agent和在做什么項(xiàng)目這兩件本應(yīng)分開的事。核心設(shè)計(jì)身份三元組 host:agent:projectRFC 005 的核心結(jié)論只有一句話身份 host:agent:project由渲染器一次性生成按字符串精確匹配路由。三個(gè)分量恰好對(duì)應(yīng)真實(shí)共享發(fā)生的三個(gè)維度分量含義示例為什么重要host機(jī)器標(biāo)識(shí)mac、windows、blade同機(jī) 同一文件系統(tǒng)、同一本地守護(hù)進(jìn)程agentAgent/運(yùn)行時(shí)家族claude、codex、hermes沿用現(xiàn)有扁平名字的尾綴project工作區(qū)/倉(cāng)庫(kù)名mempalace、meshguard新增維度承載知識(shí)邊界例如windows:claude:meshguard表示W(wǎng)indows 機(jī)器上、跑 Claude、正在做 MeshGuard 項(xiàng)目的那個(gè) Agent。冒號(hào)的選擇是刻意的它在路由字段中本就合法不與日志流的分隔符/沖突人類一眼能讀懂。 關(guān)鍵點(diǎn)對(duì)中樞hub來說三元組就是一個(gè)不透明的字符串。匹配邏輯完全沿用 RFC 003 的精確匹配 *廣播沒有任何新匹配器——這是整個(gè) RFC 風(fēng)險(xiǎn)最低的原因。同一項(xiàng)目開兩個(gè)窗口為什么還是同一個(gè)Agent這是 RFC 005 里最反直覺、也最實(shí)用的一條規(guī)則需求 I2同一臺(tái)機(jī)器、同一項(xiàng)目、同一個(gè) Agent 家族——無論開多少個(gè)窗口都是同一個(gè)行動(dòng)者進(jìn)程號(hào)PID、會(huì)話 ID 這類信息只是事件元數(shù)據(jù)永遠(yuǎn)不進(jìn)身份任務(wù)認(rèn)領(lǐng)屬于身份而非會(huì)話你已認(rèn)領(lǐng)的任務(wù)第二個(gè)窗口不能再次認(rèn)領(lǐng)相當(dāng)于一個(gè)天然互斥鎖。換句話說第二個(gè)窗口不是新參與者而是同一個(gè)參與者的第二個(gè)進(jìn)程。需要知道到底是哪個(gè)進(jìn)程占了端口時(shí)那個(gè)細(xì)節(jié)寫在事件的metadata里不污染身份本身。認(rèn)領(lǐng)沖突怎么辦不引入鎖服務(wù)的解法共享身份帶來一個(gè)新問題同一身份的兩個(gè)會(huì)話可能在彼此看到對(duì)方的認(rèn)領(lǐng)之前同時(shí)認(rèn)領(lǐng)了同一個(gè)任務(wù)。RFC 005 的答案是不新增任何租約/鎖服務(wù)只用兩層機(jī)制決策 2自然互斥認(rèn)領(lǐng)前先查看自己身份名下是否有未完成的認(rèn)領(lǐng)有就不重復(fù)認(rèn)領(lǐng)——這消除了絕大多數(shù)日常沖突確定性平局裁決若兩條認(rèn)領(lǐng)事件搶跑落庫(kù)HLC 時(shí)間戳最小者獲勝敗者回退并發(fā)送statussuperseded確認(rèn)。這里的 HLC混合邏輯時(shí)鐘正是 MemPalace 的合并順序工具源碼見 mempalace/hlc.py。由于事件日志是只追加的敗者的無效工作只會(huì)浪費(fèi)一點(diǎn)點(diǎn)算力絕不會(huì)造成數(shù)據(jù)損壞——這套規(guī)則與 RFC 004 的分區(qū)沖突裁決完全一致直接復(fù)用。身份不是手填的渲染器一次修復(fù)全機(jī)隊(duì)生效RFC 005 特別強(qiáng)調(diào)身份不該手工編輯需求 I6。MemPalace 會(huì)在每臺(tái)機(jī)器的~/.claude/CLAUDE.md中寫入一個(gè)受管代碼塊!-- mempalace-shared-brain:start ... end --把身份渲染進(jìn) Agent 的指令里——這個(gè)模板就保存在 mempalace/instructions/shared_brain_rules.md。持久化修復(fù)只改一處讓渲染器輸出三元組而非扁平名字。之后每臺(tái)機(jī)器在下次同步時(shí)自動(dòng)重渲染為自己的三元組無需逐臺(tái)手改。兼容性同樣被照顧到只有一個(gè)項(xiàng)目、沒有沖突的機(jī)器可以繼續(xù)保持host-agent扁平形式需求 I7只有出現(xiàn)第二個(gè)項(xiàng)目或真實(shí)沖突時(shí)才展開為三元組——遷移是增量的不是推倒重來。為什么路由完全不用改決策 1 的深意很多讀者會(huì)問既然身份變成了三段式是不是該支持windows:claude:*這種通配匹配RFC 005 明確說不決策 1引發(fā)本 RFC 的沖突問題靠生成互不相同的身份就已解決不需要中樞理解三元組的結(jié)構(gòu)前綴/通配匹配涉及部分匹配語義、索引設(shè)計(jì)、與*廣播的交互是一塊真正的索引與正確性表面應(yīng)該由真實(shí)需求驅(qū)動(dòng)單獨(dú)提案保持精確 廣播讓本 RFC 以一條命名約定 一處渲染器修改即可交付零風(fēng)險(xiǎn)觸及路由熱路徑。順序選擇決策 2也耐人尋味host:agent:project主機(jī)在前因?yàn)闄C(jī)隊(duì)現(xiàn)有名字本就是mac-*、windows-*這種機(jī)器-Agent讀法遷移只是純后綴追加零重排成本。落地路線三步漸進(jìn)互不阻塞RFC 005 排在了 RFC 004復(fù)制宮殿見 docs/rfcs/004-replicated-palace.md的寫入翻轉(zhuǎn)之后落地分三步約定先行純文檔Agent 即可開始使用三元組作為from_agent/to_agent——冒號(hào)本來就合法、匹配器不變當(dāng)天就能路由零代碼改動(dòng)渲染器改造持久修復(fù)共享大腦代碼塊按新規(guī)則輸出三元組優(yōu)先在唯一存在雙會(huì)話沖突的 Windows 機(jī)器上驗(yàn)證知識(shí)分區(qū)可選后做讓宮殿的知識(shí)翼和日記也按三元組命名——MeshGuard 的檢索從此不再冒出 MemPalace 的記憶。它與前兩步獨(dú)立可以單獨(dú)采納。一個(gè)附帶收益今天單 Agent 機(jī)器上兩個(gè)項(xiàng)目混在一個(gè)知識(shí)翼里如wing_windows-claude三元組只是更長(zhǎng)的翼名每個(gè)項(xiàng)目自動(dòng)獲得獨(dú)立知識(shí)翼不需要任何新機(jī)制。常見問題Q舊的扁平名字還能用嗎能。RFC 005 明確要求向后兼容mac-claude這類名字繼續(xù)有效、繼續(xù)可路由遷移只在出現(xiàn)真實(shí)沖突時(shí)才被強(qiáng)制。Q這算是 MemPalace 支持多用戶嗎不是。三元組區(qū)分的是同一個(gè)人在不同機(jī)器/項(xiàng)目上的多個(gè) Agent一人多設(shè)備多用戶身份不在本 RFC 范圍內(nèi)。Q我要多機(jī)部署現(xiàn)在該做什么先按 RFC 003 搭好 Logstream 協(xié)同層概念文檔見 website/concepts/agent-logstream.md再按 RFC 005 的三元組約定命名你的 Agent 身份即可——路由即刻生效無需等待任何代碼發(fā)布。小結(jié)RFC 005 的精髓在于克制多機(jī) Agent 找對(duì)宮殿不需要新的匹配器、不需要鎖服務(wù)、不需要存儲(chǔ)改動(dòng)——只需一條命名約定host:agent:project加一處渲染器修復(fù)就讓身份沖突、知識(shí)串味、認(rèn)領(lǐng)踩踏三類問題一并消失。完整設(shè)計(jì)見 docs/rfcs/005-agent-identity-routing.md配合 Logstream 實(shí)現(xiàn) mempalace/logstream.py就能理解從事件字段到身份治理的完整鏈路。【免費(fèi)下載鏈接】mempalaceThe best-benchmarked open-source AI memory system. And its free.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/me/mempalace創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考