iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0
AI Engineering

和 AI 一同打造個人專用知識庫:從零散資料到可運用的知識系列 第 12 篇

Day 12|創建知識庫之旅:同一個網址再存一次,內容是否同樣呢?

  • 分享至 

  • xImage
  •  

上一篇提到,一篇文章裡面如果有不同工具,我希望可以分開保存,同時保留來源與關聯。

接著想到另一個問題:如果我忘記自己存過,又把同一個網址貼進去,系統會怎麼處理?

我希望它可以提醒我已經有這筆資料。不過在提醒之前,也要先比較內容,因為網址沒有變,不代表裡面的資料沒有更新。

這次我請 AI 核對雲端正式版的程式,看看目前的做法,和我期待的方式差在哪裡。

目前遇到相同網址,會怎麼處理?

在一般沒有進入多主題拆分的保存流程裡,系統會查詢資料庫,確認是否已經有完全相同的來源網址。

如果找到,就直接回傳原本那筆資料。

下面是正式版程式的核心片段,省略了紀錄訊息:

if source_url and _allow_split:
    existing_id = db.find_item_by_url(source_url)
    if existing_id:
        return db.get_item(existing_id)

這段的意思是:

找到相同網址 → 取得既有資料 → 結束這次保存流程。

它可以避免在這條路徑裡新增一筆重複資料,但這裡沒有比較新舊正文,也沒有把新內容寫入。

原本程式的註解與紀錄訊息用了「合併」這個說法,不過實際執行的是回傳既有資料。所以不能只看到「合併」兩個字,就認為內容已經更新了。

以 MCP 的網址存入入口來說,前面會先嘗試擷取網頁,再交給保存流程。即使這次取得的文字有所不同,走到上面這個分支時,仍然會直接回傳舊資料。

目前這段回傳也沒有另外提供「新舊內容有差異」的結果,讓我做下一步選擇。

多主題拆分,又是另一種處理

上一篇談過,一篇文章可能會拆成多筆資料。這個情況也要分開看。

目前程式會先嘗試判斷是否需要拆分主題,再進行前面提到的網址重複檢查。因此,不能把所有存入情況都說成「相同網址就直接跳過」。

如果內容被拆成多個獨立主題,程式會用主題名稱尋找既有條目。找到時,會把這次的內容加在舊內容後面,附上「更新(日期)」的小標題,再重新分析。

不過,名稱比對使用的是文字包含關係,不能保證每次都判斷成同一個工具;這條附加路徑也沒有先完整比較新舊內容是否相同。

情況 目前的處理
未走多主題拆分,找到相同網址 直接回傳既有資料
拆成獨立主題後,名稱比對找到既有條目 把內容附加到原本資料後面

前者不代表已更新,後者也還不是完整的版本管理。

這次是查閱程式確認流程,沒有在正式資料庫重複送入資料做測試。

我希望先知道差異,再決定要怎麼存

對我來說,只判斷網址是不是一樣,還不太夠。

例如同一個工具的介紹頁,原本只有基本功能,後來新增使用限制或設定方式。如果系統只告訴我「已經有了」,我可能不知道內容其實改過。

所以我希望的流程是:

  1. 找到相同網址的既有資料。
  2. 比較這次取得的內容與之前保存的內容。
  3. 沒有差異,就提醒我已經收錄。
  4. 有差異,就提示我,再問我要覆蓋還是保留版本。

如果這次沒有成功取得正文,也應該說明無法比較,而不是直接判定內容沒有變。

https://ithelp.ithome.com.tw/upload/images/20260925/20183856dOuz3tgiwr.png

不覆蓋的話,我希望新版在前面,舊版還找得到

討論到這裡,我才進一步想清楚,「保留」對我來說不是繼續只看舊資料。

如果選擇保留版本,我希望主要閱讀的位置放新的內容,舊的版本則透過內文連結留下來。這樣平常先看到更新後的說明,有需要再回頭比較以前的內容。

用畫面來說,就是上方顯示目前的內容,下方有「查看舊版」的入口。點進去之後,可以看到上一次保存的內容,而不是把所有新舊文字一直堆在同一頁。

https://ithelp.ithome.com.tw/upload/images/20260925/20183856lLB1Dyxlmh.png

圖說:版本保留的介面構想,非現有系統畫面。主要頁面閱讀新版,需要時再查看舊版。

這裡有個細節:「查看舊版」不能只是連回原網站。

原網站如果已經更新,點回去看到的仍然是新內容。要真正保留舊版,知識庫必須保存當時的內容快照,再讓連結指向那一份。

比較的內容,也要先分清楚

這個知識庫還會用 AI 整理內容,也會透過 NotebookLM 加入補充。

因此,後續做差異比較時,不能直接拿「這次抓到的原文」,和「已經加過補充的整份內容」相比。兩者原本就包含不同材料,出現差異不一定代表網站更新了。

比較合理的方向,是先分清楚:

  • 上一次取得的原文。
  • 這次取得的原文。
  • 後來加入的 AI 整理或補充。

例如原網站完全沒變,但知識庫多了一段 NotebookLM 補充。如果直接比較整份文字,就可能把這段補充誤認成網站的新內容。

至於如何保存這些材料,以及哪些差異需要提醒,還需要在改善時進一步確認。

避免重複之外,我也想保留變化

原本只是想到,重複存入時應該要提醒我。討論之後才發現,還有內容是否更新,以及舊資料要怎麼保留的問題。

我目前希望的方式是:先比較,有差異就讓我知道,再由我選擇覆蓋或保留版本。保留的話,新內容放在前面,舊內容也能透過連結找回來。

這些是這次整理出的改善需求,還不能寫成已經完成的功能。後續會加入改善項目,再用測試確認實際行為。


上一篇
Day 11|創建知識庫之旅:資料分開存,也要知道關聯性
下一篇
Day 13|創建知識庫之旅:原文的重點,和 AI 的建議要分清楚
系列文
和 AI 一同打造個人專用知識庫:從零散資料到可運用的知識 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言