記憶
Perch 同時執行三套記憶系統:你擁有的專案檔案、透過混合搜尋檢索的長期帳號記憶,以及從你的更正中擷取的學習內容。本頁說明各系統的用途,以及內容如何送達模型。
多數代理框架只提供一套記憶系統,通常是你手動編輯的檔案。Perch 執行三套系統,而且它們的工作確實不同。專案檔案保存某項工作的常設規則。長期記憶保存跨越所有工作的、關於你的資訊。學習擷取會將你的更正轉為記憶,不必由你寫下來。
本頁說明這三套系統,以及最重要的部分:它們的內容究竟如何在某一輪送達模型,以及你如何確切看見送達了哪些內容。
簡要說明
第一層:專案記憶
專案記憶存放在磁碟上,位於你正在工作的資料夾中。它是純 Markdown,由你擁有,不必透過 Perch 就能讀取或編輯其中任何內容。
| 路徑 | 保存的內容 |
|---|---|
.perch/PERCH.md | 專案手冊。Perch 在這個資料夾中每一輪都遵循的常設指示。 |
.perch/memory/*.md | 個別記憶檔案,每個檔案保存一項事實或筆記。 |
.perch/rules/ | 專案規則,與一般敘述分開保存,以便嚴格套用。 |
~/Documents/Perch/PERCH.md | 全域手冊。適用於每個資料夾,不只這一個。 |
你會告訴新加入專案的同事的任何事情,都適合放在 PERCH.md:這個案件的慣例、這位客戶的輸出格式、重要路徑,以及未先詢問就絕對不能碰的事項。Perch 在該資料夾的每一輪都會讀取它,並優先遵循其中內容,而不是自己的預設規則。
當你要求 Perch 記住某件事時,它可以自行寫入這些檔案,但結果一律是你能開啟的檔案。專案記憶沒有任何部分對你隱藏。
除了檔案,桌面應用程式殼層也會為當輪提供資料夾範圍的中繼資料:專案名稱、你的筆記、記憶摘要與偏好的根目錄。因此 Perch 在讀取任何檔案之前,就知道自己位於哪個專案。
第二層:長期記憶
長期記憶屬於帳號層級,而不是資料夾層級。它保存你在專案與介面之間移動時仍有效的資訊:你的角色、慣例、偏好的結果呈現方式,以及你已告訴 Perch 一次、應該不必再重複的事實。
它不是每次都貼進提示詞中的一大塊內容,而是一組個別卡片。每一輪都會執行檢索步驟,決定哪些卡片值得佔用 token。
檢索如何運作
Perch 同時以兩種方式搜尋長期記憶,並合併結果:
- 語意搜尋使用嵌入向量,即使用字不同,也能找到與當輪意思相同的卡片。
- 稀疏關鍵字搜尋捕捉嵌入向量經常模糊處理的精確詞語、名稱與識別碼。
兩份排序清單會透過倒數排名融合合併,因此兩種方法都給予中等偏高排名的卡片,會勝過只有其中一種方法特別偏好的卡片。融合分數再依卡片本身的信心與寫入時間的新近程度調整,最後納入排名最高的結果。
如果嵌入向量無法使用,檢索會按順序降級,而不是失敗:先混合搜尋,再僅用語意搜尋,再僅用稀疏搜尋,最後只依新近程度。檢索涵蓋率會變差,但當輪絕不會因此中斷。
每張卡片帶有哪些資訊
每張納入當輪的長期記憶卡片都帶有自己的中繼資料,讓系統可供檢視,而不是像魔法一樣:
- 類型與範圍,說明是哪一種記憶,以及適用範圍有多廣。
- 新鮮度標籤,以及過時旗標,當卡片太舊,不應在未檢查前直接信任時,就會標記。
- 信心分數,以百分比表示。
- 截短旗標,當卡片為了符合當輪的記憶預算而必須縮短時,就會設定。
- 檢索到它的原因,從搜尋步驟一路保留。
第三層:從更正中學習
第三套系統不需要你操作。當你更正 Perch 時,該更正會被擷取為一個事件。學習擷取會讀取這些事件,並可據此提出新的永久記憶。
這是只記得你在設定頁輸入什麼的工具,與會記得你曾告訴它「你錯了」的工具之間的差別。更正 Perch 一次,就是設計上用來教它的方式,你不必再另外找地方寫下這個教訓。
記憶如何送達模型
三套記憶系統只有在內容實際進入模型上下文時才有用,而困難在於上下文有限。Perch 用 token 預算下、有先後順序的通道來處理。
每一輪,內容會被呈現到具名通道中,再依序納入,直到預算用完。通道包括專案記憶、永久記憶、對話證據、工具證據、檔案、工具、選定的技能與選定的模型,並為模型自己的輸出預留空間,讓長回答絕不會被自己的上下文截斷。
兩個特性值得了解:
- 納入與否有明確決定。 某項內容未能進入當輪時,這是附有記錄理由的決定,而不是悄悄丟棄。
- 每個區段都有理由。 每份納入的上下文都有簡短說明,解釋為何放在那裡;略過的區段也會記錄未納入的原因。
通道與壓縮整理是不同的事
查看 Perch 的工作依據
因為每個納入的區段都帶有通道、標籤與理由,桌面應用程式可以呈現全部內容。Context Window 面板會逐列顯示當輪的上下文,每張長期記憶卡片都有自己的一列,帶有狀態、新鮮度與信心。
每個代理工具最終都會引出「它為什麼這麼做」的問題,而這就是答案。你可以查看模型實際收到什麼。
保持掌控
專案記憶就是一般檔案。你可以開啟、編輯、刪除,或與專案其餘內容一起納入版本控制。長期記憶的範圍限定於你的帳號,並隨你跨越網頁聊天、桌面應用程式與 CLI,因此 Perch 在一個介面學到的內容,也可在其他介面使用。
當較新的敘述與較舊的敘述衝突時,Perch 會優先採用較新的。更正 Perch 就是更新機制,設計上就是這麼簡單。

