全部場數

006 · 多倉庫 agent 的失憶解方

講者用「神燈精靈給你一個失憶版天才工程師」的比喻,拆解 agent 為何被侷限在單一 repo、又沒有跨 session 記憶,並展示他做的 meta-harness 怎麼解決。

2026-06-2619:59Victor Savkin(Nx)Agent開發工具開源看原片

原標題:A Genius With Amnesia - Victor Savkin, Nx

重點摘要

  • agent 被空間綁住agent 一次只能讀寫一個 repo,看不到整個系統可能橫跨的成百上千個 repo,也因此沒辦法自動對齊上下游的程式碼。
  • agent 沒有記憶每個 session 都是一張白紙,前一次做過什麼、為什麼這樣改,agent 完全不記得,人類反而變成 agent 的記憶。
  • 一個改動要解釋七次講者用 UI、module 1、module 2、platform 四個 repo 的改動流程示範,同一個變更為了往下游傳遞、修 bug,前後得跟 agent 重新解釋七次。
  • Polygraph 掃出跨倉庫的依賴圖分析使用者能存取的所有 repo(自己的加上開源的),抽出 dependency graph 與 metadata,過程不動任何一行程式碼,讓 agent 讀寫時像在操作同一個大 codebase。
  • session 可以換機器、換 agent 接手因為完整的 trace 與 log 都被記錄下來,同事可以在另一台機器用不同的 agent(例如從 Claude 換成 Codex)接手同一個 session,記憶照樣延續。
  • 也能反過來讓 agent 自己找 repo 或找舊 session不必手動選 repo,可以直接叫 agent 找出依賴某個版本套件的所有 repo 並更新,或是找出過去哪個 session 做過類似的事拿來參考。

時間軸

時碼點下去會跳到影片的那一段。

時碼段落重點
00:00開場比喻講者提出比喻:許願要最強工程師,精靈給了 Carmack,卻只留下他千分之一的能力,而且每次對話都會忘記前一次講過什麼,這就是今天的 agent。
00:55舉例說明以 UI、module 1、module 2、platform 四個 repo 為例,示範一個改動要往下游傳遞時,得靠人類重新解釋多少次。
02:42兩類根本問題這種痛苦可以歸成兩類:agent 一次只能看一個 repo 是空間侷限,每個 session 都是一張白紙是沒有記憶,人類因此變成 agent 的記憶體。
03:29空間侷限的代價agent 看不到跨 repo 的關係,沒辦法對齊上下游程式碼,也沒辦法在改動當下順便更新所有下游的消費者,只能靠人類一次次不完整地轉述。
04:36用 graph 描繪工作全貌真正該給 agent 看的,是底層由所有 repo 組成的依賴圖,加上頂層每一次 agentic session 的紀錄,這張圖才完整描述一個組織的程式碼跟它是怎麼長出來的。
06:33提出 Polygraph講者把這套解法定調成一種與 agent 無關的 meta-harness,取名 Polygraph,並強調重點是這個概念,不是某個特定工具。
06:51建立跨倉庫依賴圖Polygraph 掃描使用者能存取的所有 repo(自己的加上開源的),抽出 metadata 拼成一張統一的依賴圖,過程完全不動任何一行程式碼。
08:53CI 當成一個整體一個 session 若橫跨多個 repo 就會有多個 PR 與多條 CI,Polygraph 把它們當成單一向量處理,某個 repo 的 CI 失敗時能自動判斷該修哪一邊。
10:27現場示範建立 session講者選了後端與前端兩個 repo、指定 Claude 當 agent,只下一個指令就讓兩個 repo 同時完成一個牽動 API 的改動。
12:41省下一次重新解釋這次改動只解釋了一遍,前後端就同步完成且彼此一致,講者強調這已經省下一次原本必須發生的重新解釋。
14:13session 可以換人換工具接手因為完整的狀態與 trace 都被保留,同事能在別台機器用不同 agent(例如從 Claude 換成 Codex)接手同一個 session;review PR 時也能直接還原對方當時的完整狀態,不必開口問人。
16:13讓 agent 自己找 repo不必手動挑 repo,可以直接請 agent 找出所有依賴某個套件版本的 repo 並更新,或是找出過去哪個 session 做過類似的事可以參考。
17:55從既有 session 拉進新 repo即使不是從 Polygraph CLI 開始,也能在既有的 Claude session 裡臨時把一個開源 repo(vtest)拉進來,讓 agent 直接讀完整原始碼。
19:02收尾:解除空間與時間限制Polygraph 讓 agent 拿到組織能觸及的全部程式碼,也拿到每一次 session 的完整記憶,等於把原本各自為政的開發者連成一個共享記憶的整體。

值得記的話

名詞與人物

Polygraph講者做的這個 agent-agnostic meta-harness,把使用者能存取的多個 repo 串成一張依賴圖,並保留每次 agentic session 的完整記憶。
Nx講者 Victor Savkin 所在的公司。
meta-harness包在既有 agent 外層的一層框架,同一份程式碼與記憶可以讓不同 agent(如 Claude、Codex)共用。
Carmack開場比喻裡提到的工程師,用來代表「頂尖能力」的參照對象。
CI持續整合流程,這場用來說明多個 repo 同時有多條 CI 時該怎麼判斷責任歸屬。
Codex講者示範中拿來跟 Claude 對照的另一款 agent,展示同一個 session 可以換不同 agent 接手。
Context7講者提到的替代方案,他認為不如直接把整個開源 repo 拉進 session,讓 agent 讀真正的原始碼。
vtest講者示範中臨時拉進 session 的一個開源 repo,用來讓既有 Claude session 讀懂並解決自己 repo 裡的問題。
trypolygraph.com講者在結尾提供的網站,供聽眾自行試用 Polygraph。

延伸

  • GitHub 存取權限如何界定「使用者能看到的所有 repo」,這場只提到會拿來分析,沒有展開細節。
  • vtest 這個開源函式庫本身的功能,這場只提到把它拉進 session 當範例,沒有介紹它做什麼。
  • 中途換 agent(從 Claude 換成 Codex)接手同一個 session 的實際限制,這場只展示可行,沒有講技術細節。