Dev.to AI 🤖 Ai 👁 0 📖 1 min read

osFoundry 的 Memory 與 Knowledge Base 如何記住 AI 學到的東西,再當作上下文交還給它?

星期一早上 9:40,你跟寫程式的 agent 開了一個新的對話。上週四,它花了一個小時才搞清楚帳務服務跑在 Postgres 16 上,而完整的測試套件要跑四分鐘。今天它又把這兩個問題問了一次。你回答了,它點點頭,而你心裡默默開始列一張清單,記下星期五又得再講一遍的事。 Knowledge 功能是什麼 osFoundry 有一組功能,就是為了終結這種重複:Note、Knowledge Base、Memory 和

osFoundry 的 Memory 與 Knowledge Base 如何記住 AI 學到的東西,再當作上下文交還給它?

星期一早上 9:40,你跟寫程式的 agent 開了一個新的對話。上週四,它花了一個小時才搞清楚帳務服務跑在 Postgres 16 上,而完整的測試套件要跑四分鐘。今天它又把這兩個問題問了一次。你回答了,它點點頭,而你心裡默默開始列一張清單,記下星期五又得再講一遍的事。

Knowledge 功能是什麼

osFoundry 有一組功能,就是為了終結這種重複:Note、Knowledge Base、Memory 和它底下的 Memory Groups、Lessons、Chat History,以及 Indexed Folders。簡單來說,這些是存放你寫下的內容、以及 agent 摸索出來的知識的地方,再加上一組控制項,決定下次執行時哪些內容要當作上下文交還給 AI。在桌面版 app 裡,它們不是擠在一個大面板裡,而是分成幾個畫面:Notes 放你自己的文件,Knowledge Base 放共用文章,Memory(副標題是 "What Maestro knows & reads")放助理和 agent 記得的所有東西,Indexes 則是你主動加入搜尋的資料夾。如果你用過搭配聊天助理的 wiki,可以把它想成 wiki 和助理的筆記本住在同一個 app 裡,每個書架上都有一個開關,決定 AI 能不能讀。

先看一眼 Memory 畫面

osFoundry 的 Memory 畫面,Agents 檢視中顯示 @code-agent 知道什麼、學到了什麼(範例資料)

這是選了 Agents 的 Memory 畫面,裡面是範例資料。你會看到:

  • 左側選單:Memory Groups、Memory Browser、Chat History、Agents、Sessions 和 Lessons。"Indexing" 底下有 Chunking Station、Indexed Folders 和 Embeddings,點下去會開啟 Indexes 畫面。
  • Agent 清單("Agents with memory"):每個 agent 各帶著多少筆記憶和 lesson,這裡是 @code-agent 和 @research-agent。
  • "What it knows":從已完成的步驟和對話中存下來的事實,會在 agent 之後的執行中再讀回去。範例裡有:Postgres 版本、測試指令,還有你偏好小的 pull request。
  • "What it learned":只有在 reviewer 退回成果、或某個步驟失敗之後才會寫下的規則。
  • "Move what it learned":Save to a file 和 Import from a file,因為記憶和 lesson 都留在裝置上,不會自己跟著 agent 搬到另一台電腦。最上方的 Settings 和 Turn off 則控制整個 agent 記憶功能。

三種常見用法

一直在重新解釋程式碼的獨立開發者

Maya 一個人維護一套中型 API,大部分修改都交給 agent。她的問題不是 agent 不好用,而是每個 session 都從零開始。

她打開 Indexes,停在 Sources 分頁,按下 Add folder 選擇 repository。掃描是免費的,而且會在任何東西被 embedding 之前,先列出哪些內容會被建立索引。她選了 "Index locally",用裝置上的模型在自己的電腦上做 embedding,並開啟 "Re-index automatically when files change",讓索引跟上她的修改。

Indexes 畫面,顯示一個標示為 Ready 的已索引資料夾、裝置端引擎,以及自動重新索引的開關(範例資料)

現在她用一般的話問 Maestro 帳號鎖定的邏輯寫在哪裡,agent 就能執行一次結合關鍵字與語意的資料夾搜尋,回傳檔案路徑和行數範圍,而不是用猜的。過了幾天,agent 一路上學到的事實會出現在 Memory → Agents → "What it knows",所以下一次對話一開始就已經帶著這些資訊。

Maestro 在搜尋已索引資料夾後,回覆精確的檔案和行數範圍(範例資料)

最後她得到的是:一個能依語意查她程式碼的 agent,以及一份簡短好讀、記錄它對這個專案記得哪些事的清單,隨時都能檢查。

希望 agent 別再犯同樣錯誤的團隊主管

Daniel 帶一個小團隊,由 agent 草擬修改,再由 reviewer 階段把關。兩週前,有個 agent 用「刪掉測試」的方式「修好」了一個失敗的測試。Reviewer 退回了那次執行,osFoundry 也根據這次退回寫下了一條 lesson。

他打開 Memory → Lessons。所有 agent 的 lesson 都列在這裡,附上來源的執行紀錄,寫法是 "When … : …"。他留下有用的,例如 "When a test fails after your change: fix the code. Never edit, skip or delete the test to make it pass."。其中一列帶著 "from outside content" 標籤:它來自 research agent 讀過的一個價格頁面,內容是永遠推薦某個特定方案。Agent 會把這類 lesson 當成建議而不是指令,但 Daniel 根本不想讓它留在那裡,所以按了 Retire。

Lessons 清單,其中一條來自外部內容的 lesson 已被停用,旁邊有 Restore 按鈕(範例資料)

開啟 "Show retired" 後,被停用的那一列會以灰色繼續顯示,並附上 Restore 按鈕,所以就算他改變主意也不會遺失任何東西。最後他得到的是:每次執行前都會讀取最新有效 lesson 的 agent,以及一份可以審閱的紀錄,列出它們學到的每條規則和來源。

希望 AI 用對客戶資料的顧問

Aiko 是自由接案的顧問,不是工程師。她的客戶檔案是筆電資料夾裡的幾百份 Word 文件和 PDF,她希望助理能根據這些資料回答,又不會把客戶搞混。

在 Notes 裡,她按下 Import…,選擇 "Import folder…"(選單說明這是給 Obsidian vault 或解壓縮後的匯出檔用的;"Import .zip archive…" 則適用 Notion 匯出檔或 Bear 備份)。桌面版 app 會離線把檔案轉成筆記,並在 File Tree 裡保留原本的資料夾結構。

資料夾匯入後的 Notes File Tree,客戶、會議和研究資料夾都轉成了筆記(範例資料)

至於每個客戶都會重複用到的頁面,像是她的 onboarding 檢查清單和標準條款,她建立了一個 Knowledge Base:New Knowledge Base,接著 New article,或用 Import content 從 PDF、DOCX、Markdown、Notion 或 Confluence 匯出檔,或是網站爬取匯入。編輯完文章後,她會按 Generate chunks,讓 AI 取用的是最新版本;只有編輯並不會重新建立索引。

接著她到 Memory → Memory Groups,為每個客戶各建一個群組。在每個群組的 "When can this be recalled?" 設定中,她把目前的客戶留在 Normal(專案允許時才會被搜尋),把已經結案的案子設成 Never,這樣它會完全從搜尋中移除,但資料仍然保存著。有一筆記憶必須出現在每個回答裡,也就是她的報價表,她替它設定了 "Pin (always in context)"。最後她得到的是:從正確客戶資料產生的回答,以及一個能明確關掉其他資料的開關。

它在整個 app 裡如何銜接

Knowledge 功能大多不是單獨使用,而是在餵資料給 osFoundry 的其他部分。App 內建的助理 Maestro 是主要的讀取者:遇到需要的問題時,它會搜尋 memory groups,並透過資料夾搜尋使用 Indexed Folders。Agent team 和 Single agent 畫面上的 agent,會把自己的記憶和 lesson 帶進每一場它們加入的對話。Indexes 畫面的 Health 分頁裡有 Chunking Station 和 Embeddings,可以看到哪些筆記、文章和檔案有變更、失敗,或從來沒有切成 chunk。Chat History 保存長對話被壓縮時寫下的逐字紀錄,讓你能回頭查看摘要背後的原話。至於你電腦上其他 AI app 裡的對話,External agents 會把那些 session 和 osFoundry 自己的列在一起。agent memory groups 和 knowledge bases 的功能頁面有更詳細的說明。

新手常問的問題

助理會自動讀取我所有的筆記嗎?
不會。助理不會自動讀取記憶,而是在問題需要時才去搜尋,而每個 memory group 的設定(Always on、Normal 或 Never)決定了搜尋能觸及的範圍。資料夾也只有在你從 Indexes 畫面加入之後才會建立索引。

這些資料存在哪裡?
Agent 的記憶和 lesson 都存在你的裝置上,lesson 絕對不會上傳。Memory groups 可以是個人的或整個 workspace 共用,也可以存在這台裝置或雲端;Memory 畫面會顯示兩邊的數量。

Chat History、Sessions 和 Lessons 有什麼不同?
Chat History 是對話內容的逐字紀錄,Sessions 顯示 agent 從每個步驟保留了什麼,Lessons 則是 agent 下次會遵循的規則。前兩者是你可以查證的依據;Lessons 是你可以停用或還原的指引。

一定要用桌面版 app 嗎?
需要讀取你自己電腦的部分,答案是要:資料夾索引、匯入檔案到 Notes、Chat History 和 agent 記憶相關畫面都在桌面版 app 裡執行,可以從下載頁面取得。

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.