← 企業洞察
繁體中文 English 简体中文
2026-06-21 · Levi · LinkedIn

AI 長期記憶系統:HKSoka 的架構設計與工程細節

四層記憶架構、命題級切塊、雙語嵌入到對話生命週期管理——完整的工程拆解

AI記憶 RAG架構 向量檢索 LLM工程 企業AI

大型語言模型的對話有一個常見限制:每次開新對話,上下文就重置,使用者需要重新交代背景。HKSoka 是一個支援繁體中文、簡體中文與英文的 AI 平台,把「記憶」當成核心工程問題拆解:不只是「記不記得」,而是甚麼時候記、記甚麼、記了之後怎樣取回、使用者能否親手修正。以下逐層拆解這套系統的設計,由概念到實作細節。

一、記憶系統:四個組成部分

記憶分成四個部分,各自負責不同的時間尺度,使用者可以逐項掌控。

1.1 種子記憶(Seed Memory)

使用者主動放入的長期背景。可以把任何文字貼成一個具名的「種子」,也可以上傳長文件(25 頁以上)一併整合,毋須額外建立 Project。

建立與切換:每個種子內容會完整保存,同時另外切塊、嵌入向量供檢索使用——保存的是完整版本,檢索取回的是切片。每個種子都能逐一開關,按不同對話的需要決定是否帶入,互不干擾,使用者可以同時管理多份背景而毋須整批啟用或停用。

編輯即重新索引:修改一個種子的內容後,系統會先清除這個種子舊有的檢索片段,再用新內容重新切塊與嵌入。完整內容與可檢索片段因此保持同步,不會出現「保存了新版本,但檢索仍取回舊版本」的落差。

刪除即連帶清除:刪除一個種子,連帶的檢索片段會一併移除。

1.2 學習記憶(Learned Memory)

在對話閒置一段時間後自動產生,系統從對話中抽取穩定、與使用者相關的事實,逐筆記錄。

觸發時機分兩種:一般對話在閒置一段時間後才處理;如果使用者帳號完全未有任何學習記憶,閒置門檻會大幅縮短,讓新使用者較快感受到系統記住了之前說過的內容。背景處理本身採用小批次、分批執行的方式,避免單次處理量暴增拖慢整體系統。

抽取原則嚴格:只抽取穩定、屬於使用者個人的事實,略過臨時性或單次對話才有意義的內容;同一件事只記一次,新一輪抽取會先比對已有記憶,避免重複纍積近乎相同的條目;用字盡量貼近使用者原話,不做主觀詮釋或過度推論。

遺忘會被尊重:使用者刪除一筆學習記憶後,那個主題會被加入排除清單;之後的自動抽取會被明確告知不要再記錄類似內容。換言之刪除不是一次性的移除,而是一條持續生效的指示,避免同一件事在下一次對話又被重新抽取出來。

1.3 關鍵記憶(Critical Memory)

每日定時把學習記憶整理成一份精簡摘要,並在每次對話中固定帶入,不經過篩選步驟。

篩選標準明確:判斷一筆資訊是否值得提升為關鍵記憶,依據三個準則——使用者會否因為 AI 忘記這件事而受到實質影響、這是否屬於穩定的事實而非一時的意見、忘記了會否導致 AI 給出錯誤或不合宜的回應。只有同時符合的內容才會被納入。

執行時機刻意錯開:整理工作安排在固定的低流量時段執行,每次只處理學習記憶在過去一日內有更新、但尚未在最近一小時內處理過的使用者,避免同一使用者在短時間內被重複整理。

注入方式有別於其他記憶:種子記憶與學習記憶要靠檢索按相關度取回,未必每次都命中;關鍵記憶完全不經檢索篩選,每次對話都直接帶入。這是用固定的少量 token 成本,換取最重要資訊的穩定可用性。

1.4 自訂指令(Custom Instruction)

一段使用者親自撰寫、持久生效的設定(上限 500 字),用來定義 AI 的語氣、角色或回應方式。

直接定義身分與語氣,不靠累積學習:種子記憶與學習記憶同樣由使用者掌控內容,但學習記憶要靠系統慢慢從對話中歸納;自訂指令則是使用者一開始就直接寫明 AI 應該用甚麼身分、甚麼語氣回應,不必等待系統累積足夠對話才推斷出來。三者的分別在於內容的性質與運作方式:種子記憶是按相關度檢索的知識內容,自訂指令是持續生效的行為設定,兩者同樣完全由使用者主導,只是用途不同。

新手引導即自動生成:首次使用時,系統會用幾個簡短問題了解使用者——想被怎樣稱呼、想補充的背景、想要的回覆風格、慣用語言——並把答案組合成一段自訂指令。多數使用者因此不需要自己動手寫,就已經有一份起點。

位置安排考慮快取成本:自訂指令甚少在對話中途改變,因此被放在系統提示中「穩定不變」的部分,與每次提問才變化的記憶片段分開處理。穩定部分可以被重複使用(prompt caching),不必每條訊息都重新計算成本,這是直接影響每次對話成本的設計選擇。

二、檢索引擎:寫入時做工,查詢時受惠

檢索的準確度比儲存量更重要。HKSoka 的做法是把處理成本放在資料寫入的一刻,讓查詢時的命中率更高。

2.1 命題級切塊

長內容不會整段儲存,而是拆解成一個個獨立、自足的「命題」。

先分段、後抽取:較長的文件會先按長度切成多個區段,每個區段獨立送去做命題抽取,確保每次處理的內容量在可靠範圍內,不會因為一次處理過多內容而降低抽取品質。

自足性是硬性要求:每則命題必須單獨閱讀也能理解,不可以依賴前後文才能解讀。這是因為一則命題日後會被獨立取回、插入一個完全不同的對話脈絡,沒有機會連同原本的鄰近內容一併出現。

解析失敗有後備方案:如果模型輸出未能完整解析成結構化格式,系統會嘗試從輸出中搶救出可用的部分命題,而不是整段內容直接捨棄不存。

2.2 雙語嵌入

使用者多數用中文記錄,但查詢時中英夾雜的情況常見。

寫入時一併生成翻譯:每則命題在抽取的同時,會額外生成一個對應的英文版本;最終用來計算向量的文字是原文加翻譯一併處理,但儲存與顯示給使用者的內容,仍然保持原文語言不變。

成本只在寫入時付一次:翻譯的運算只在記憶寫入的一刻發生,所以雙語檢索帶來的好處不會反映在每次提問的延遲或成本上。

效果取決於翻譯品質:這個設計的代價是翻譯品質直接影響向量準確度,翻譯一旦偏移,檢索的命中率也會跟著受影響。

2.3 混合檢索與分層配額

查詢時,系統同時用語意向量與關鍵字兩種方式比對。

向量負責語意,關鍵字負責精確:純語意比對在用詞差異大時容易失準;純關鍵字比對在用戶用近義詞表達時容易漏掉。兩種方式合併使用,提高命中的穩定性。

候選池與實際注入的數量分開計算:系統會先取出一個較大的候選池,再各自限定種子記憶與學習記憶實際注入對話的數量上限。這樣設計是因為重度上傳文件的使用者,種子記憶片段數量可能遠超學習記憶,如果不分開限額,學習記憶有機會完全被擠出檢索結果之外;分層配額確保兩類記憶都有機會出現。

寫入端有節流與去重機制:大量內容一次過寫入時,嵌入請求會分批執行並加入間隔,避免短時間內對外部服務發出過多請求;資料庫寫入採用防重複設計,同一筆事實即使被重複抽取,也不會在資料庫中產生多於一筆向量記錄。

三、對話生命週期管理

3.1 長對話的上下文壓縮

對話內容累積到一定長度後,系統用兩層機制控制成本與穩定度。

硬上限作為安全網:當預估的 token 用量超過一個固定門檻,較舊的內容會被移出當前處理範圍,確保任何情況下都不會無限累積。

摘要壓縮作為主要手段:另外有背景工作持續為長對話維護一份精簡摘要,取代直接捨棄舊內容。每次更新摘要時,只處理上次整理之後新增的部分,與既有摘要合併,藉此控制隨對話變長而持續上升的成本。

摘要存在時優先採用:一旦某段對話已經有摘要,往後的對話會用「摘要 + 最近幾則訊息」取代完整歷史記錄,既保留脈絡,亦讓每次對話需要處理的內容量維持穩定。

3.2 編輯訊息即分支,不覆寫歷史

修改一則已發送的訊息並重新提問,不會覆寫原本的對話記錄。

原對話完整保留:編輯動作會在該則訊息的位置另外開立一個新的對話分支,原本的對話連同 AI 原本的回覆維持不變。使用者可以同時保留「原本問法的回覆」與「修改後問法的回覆」,方便比較。

分支由伺服器端產生:分支的內容是由伺服器根據原對話紀錄截取至指定位置後,建立成一筆新的對話記錄,而不是單靠前端拼接,確保分支內容與資料庫狀態一致。

3.3 刪除與遺忘聯動

刪除一段對話,不只是把它從畫面隱藏。

對話本身採軟刪除:被刪除的對話會標記為隱藏,不再出現在列表中,介面上設有雙擊確認的設計,避免誤觸刪除。

連帶清除該對話產生的記憶:刪除動作同時會找出哪些學習記憶是由這段對話抽取出來,把對應的記憶條目與檢索片段一併移除。換言之,刪除一段對話不會留下「對話已從畫面隱藏,但 AI 仍然保留該段內容」的落差,而其他對話產生的記憶不受影響,刪除是針對性的,不是整批清空。

3.4 無痕模式

開啟無痕模式後,系統會完全略過記憶檢索與注入的步驟,對話結束後也不會被儲存,亦不會進入學習記憶的處理流程——是徹底的旁路,不是事後才隱藏。

四、Artifact 工作區:對話中即時修改

需要產出一份文件、一段程式碼、一篇文章或短篇創作時,可以開啟 Artifact 模式,內容顯示在側邊的獨立面板,與對話並排。

4.1 編輯策略:局部修改優先於整篇重寫

系統預設用「定位 + 取代」的方式做修改,只在內容是全新或多數內容都需要改動時,才整篇重寫。

精確比對才算數:局部修改要求待修改的文字必須與面板內容完全一致才會生效,這個限制逼使每次修改都是可驗證的精準操作。

對使用者的實際好處:對一份正在反覆打磨的長文件或長程式碼而言,只需描述要改的地方,不必每次重新整篇輸出,往來修改的效率因此提高。

4.2 版本與還原

版本紀錄可回溯:同一個 Artifact 在一次對話中如果經歷多次修改,每個版本都會保留,使用者可以在面板中切換查看之前的版本。

伺服器端獨立解析,確保資料一致:每次修改的結果,伺服器會獨立解析一次並寫入資料庫,不單純信任前端回報的狀態,確保儲存下來的版本,跟實際產生的內容一致,即使前端介面出現顯示問題,資料庫中的版本仍然準確。

跨裝置可接續編輯:如果前端本地沒有保存目前內容(例如換了裝置或重新整理頁面),系統會自動從資料庫取回最後保存的版本,讓編輯可以接續下去,不必重新開始。

4.3 落地動作

完成的內容支援一鍵複製,亦可以指定檔名下載成文字檔,方便直接用於其他工具或交付流程。

五、其他實用功能

網上搜尋:需要即時資訊時可開啟搜尋,回應會根據查到的資料作答;往後追問時,系統會清楚標示這部分內容來自先前的即時搜尋結果,而不是訓練資料,確保使用者與系統都清楚資訊的來源與時效。搜尋流程設有上限,避免一次提問觸發過多輪搜尋導致等候時間過長。

PDF 與圖片上傳:可直接上傳 PDF 或圖片提問,亦支援直接貼上剪貼簿中的圖片,不一定要先存檔再選取檔案。多個檔案中如果其中一個讀取失敗,系統只會略過該檔案,不會令整個請求失敗。

對話與記憶匯出:對話紀錄與學習記憶都可以一鍵下載成文字檔,方便保存或搬到其他地方使用。

三語介面:繁體中文、簡體中文與英文。

六、架構決策背後的考量

非同步處理:文件切塊、命題抽取與嵌入是運算較重的步驟,因此從主要對話流程中拆分出來,交由獨立流程非同步處理,讓使用者即時的對話體驗保持流暢;代價是新上傳的內容需要短暫時間才能被檢索到。

分層模型與快取:背景性、重複性高的工作(事實抽取、摘要整理)使用較輕量的模型處理,主對話則保留品質較高的模型;系統提示中穩定不變的部分(基本設定、自訂指令、關鍵記憶)與每次提問才變化的部分(檢索片段)分開處理,前者可以被重複使用而省卻部分成本,這是 token 成本與回應品質之間的具體取捨。

排程式而非即時式處理:學習記憶不需要即時生效,用排程定時處理换取更低的系統複雜度;但同時對新使用者採用較短的處理門檻,讓記憶功能能夠較快被使用者感知到,在系統簡潔與使用體驗之間取得平衡。

七、誠實面對限制

任何負責任的 AI 系統都應講清楚自己的邊界。

檢索的天花板:RAG 以語意相似度為基礎,當一個答案需要把多個分散的概念串連、做跨步推理時,相似度比對本身的能力有上限,這是架構層面的取捨,不是個別錯誤可以修正的問題。

雙語嵌入依賴翻譯品質:寫入時生成的翻譯如果有偏差,向量也會跟著偏移,但不影響儲存的原文內容——使用者看到的文字一直保持準確,受影響的只是檢索命中率。

學習記憶的準確度取決於對話本身:抽取是基於對話中明確表達的內容,使用者的表達愈清楚,記錄愈準確;每一筆都可以隨時檢視與更正。

新記憶有短暫生效延遲:學習記憶在對話閒置後才開始處理,剛說過的事,需要等候背景流程完成後才會出現在檢索結果中。

文件匯入需要時間:較長文件上傳後,命題抽取與雙語嵌入需要一定運算時間,文件愈長,準備時間相對愈長。

了解這些邊界,是把系統用在合適場景的前提,也是評估任何 AI 方案時應該問清楚的問題。

關於 HKSoka 與顧問服務

HKSoka 在香港開發,支援繁體中文、簡體中文與英文三語,把記憶、Artifact 工作區、網上搜尋與文件上傳整合在同一個介面。平台網址:www.hksoka.com

同一套記憶與檢索架構的思路,也適用於企業場景:把分散的文件、對話與知識,整合成一層可檢索、可控制、可審視的記憶。如果你的團隊正在評估如何把 LLM 落地到實際業務流程,歡迎透過 LinkedIn 交流(linkedin.com/in/levi-innovation),或來信 smartai.hk+ai.consulting@proton.me

常見問題

中小企未必有自己的技術團隊,導入需要工程資源嗎?

平台本身以對話介面操作,不需要額外開發或部署。記憶、文件上傳、Artifact 工作區都是內建功能,打開介面即可使用。如果想把同一套記憶架構應用在企業自己的內部系統(例如連接公司既有的文件或工具),這部分才需要額外的工程資源進行整合。

HKSoka 的記憶系統,實際上提供甚麼不同之處?

分別主要在於記憶的結構與可控性。系統把記憶拆分成種子、學習、關鍵三層,各自負責不同角色——使用者主動提供的背景、系統自動歸納的事實、以及每日整理出的重點摘要;每一筆記錄都可以單獨檢視、編輯或刪除。記憶寫入時亦會一併處理中英雙語檢索,配合繁體中文、簡體中文與英文三語介面,適合中英夾雜的查詢習慣。

系統記錄的資料,會不會與其他使用者混在一起?

不會。每位使用者的記憶與檢索片段都是獨立儲存,互不重疊,一位使用者的記憶內容不會出現在另一位使用者的檢索結果之中。

如果系統記錯了內容,可以刪除嗎?

可以。每一筆學習記憶都能單獨檢視、編輯或刪除;刪除之後,系統會記住這類內容不應再被記錄,避免同一件事下次又被重新抽取。種子記憶同樣可以隨時開關或刪除,控制權在使用者手上。

上傳的文件會如何處理?是否可以立即查詢?

文件上傳後,系統會在背景進行切塊與建立索引,過程需要一定時間,完成後才能在對話中被檢索到。文件愈長,準備時間相對愈長,這部分屬於背景處理,不會卡住正在進行的對話。

這套記憶架構,可以用在我們公司自己的系統,還是只限這個平台?

HKSoka 本身運作中的版本,相當於這套分層記憶與混合檢索設計的實際驗證——證明這套架構具備生產環境的可行性。這類分層記憶與檢索設計,過往亦曾實際應用於客戶項目。企業實際的需求通常和這個平台不完全一樣:既有的系統、文件格式、資料來源、使用場景都各有差異,直接套用一個現成平台未必是最合適的做法。同一套設計思路可以根據企業自己的情況重新拆解與建構——哪些記憶層級是必要的、檢索邏輯如何配合既有系統、甚麼資料需要優先處理,都因應實際使用場景而有不同答案。如果想了解這套架構怎樣配合貴公司的使用場景,歡迎直接交流,從了解需求開始,再決定如何建構。

如果想了解這套記憶與檢索架構,可以怎樣配合你的實際業務場景,歡迎透過 LinkedIn(linkedin.com/in/levi-innovation)或 smartai.hk+ai.consulting@proton.me 直接交流。

Levi係駐香港嘅獨立AI工程師,為香港推動AI數碼轉型嘅中小企構建生產級LLM應用、RAG pipeline及文件智能系統。

聯絡洽談 → 查看更多企業案例 → 洽詢項目合作 →