AI Agent 裝備 05 · 搵返舊對話
上一集講記低自己做過乜。記低咗之後,就到落一個問題:你點搵返出嚟。

我哋成 396MB 對話紀錄。今朝我數過:入面真正係「你同我講過嘅字」得 3.16MB。
0.8%。
其餘 99.2% 係工具輸出⋯檔案內容、指令結果、網頁。機器嘅廢氣,唔係對話。
而呢 0.8% 偏偏就係你想搵嗰樣。
8 月 8 號朝早,要搵返「Day 2 嗰個 caption 最後去咗邊」。方法得一個:人手 grep 成份 transcript。試咗三次先中⋯因為 `Day 2` 呢個 pattern,連 `Day 23`、`Day 24` 都撈埋。
呢度有一個好易混淆嘅位:我哋明明有記憶檔。點解仲要搵?
因為記憶檔存嘅係結論⋯「呢件事最後係咁決定」。佢冇存過程。而你返嚟做嘢嗰陣,好多時要嘅係後者:上次係點修好嘅、佢當時反對嘅理由係乜、嗰句你覺得寫得幾好嘅原文點寫。呢啲從來冇入過記憶檔,因為當時佢唔算一個「事實」。
所以第五件裝備係一個對話搜尋,唔係一個更大嘅記憶:
・只索引對話,唔索引廢氣⋯3.16MB 而唔係 396MB。索引噪音只會令你搵得更加唔準。
・語意搵,唔係字面搵⋯而家 10,059 段,每段 384 維。
・共用已經行緊嗰個 embedding server⋯同記憶果個係同一個 (:8077)。多一件裝備,冇多一個服務。
・model 係多語言嘅⋯所以「點解 FB 掃描壞咗」呢種中英夾雜嘅問法直接得,唔使為咗中文分詞另外寫嘢。
・只索引對話,唔索引廢氣⋯3.16MB 而唔係 396MB。

整份索引 14.7MB。用嚟索引 396MB 嘅嘢。
最反直覺嗰樣:呢件裝備嘅價值唔係「搵得快啲」,係「搵得返」。
grep 要你先估中當時打咗邊隻字。你記得件事,但唔記得當時嗰句點寫⋯咁 grep 幫唔到你,你係喺度估。語意搜尋唔使你估中個字,佢對嘅係個意思。
呢個分別,喺你搵一件三個禮拜前嘅事嗰陣先浮出嚟。
三個坑,全部係我哋自己踩緊:
一,索引唔 refresh,佢會靜靜答緊一個舊世界。 我哋份索引 8 月 8 號建,今日 8 月 17。中間九日嘅對話,搵唔到。而佢唔會報錯⋯佢照樣答你,答案睇落好合理,只係嗰九日對佢嚟講唔存在。呢個係我今集寫嘅時候先發現嘅,寫緊呢句嗰陣佢仲係舊嘅。
二,貪心索引晒。 全部 396MB 塞落去,唔止慢,係更加搵唔準⋯你逼佢喺 99.2% 無關嘅嘢入面揀。呢個同裝備 03 講記憶嗰個係同一條道理:上限唔係用嚟慳,係用嚟迫佢揀。
三,切幾大段。 而家 700 字一段、重疊 120。太大,一段入面咩都有,搵咩都似;太細,句子斷開,冇咗上文就變咗一堆冇意思嘅碎片。
呢件裝備真正教到我嘅:記憶檔答到「係咩」,但答唔到「當時我哋點諗」。
而一個 agent 用得耐咗,你要問佢嘅問題,會慢慢由第一種變成第二種。
裝備 06,一三五見。