iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0

Lint 是什麼

Lint 是皮棉、優質喇叭、同時也是明星籃球員

https://ithelp.ithome.com.tw/upload/images/20260920/20160279RkDWcPooyw.jpg

懂嗎? Clint Capela ? (大力甩頭燦笑)

Lint 字根是1978 年 Bell Labs 的 Stephen C. Johnson 在寫 C 語言的可攜性檢查工具時,用「lint」命名,比喻是烘衣機的棉絮濾網(lint trap),可以理解為:檢查——抓出不嚴重、但有問題的小東西。

在我們這次的主題中,Lint 指的是概念提出者 Karpathy 在原文件中提出的概念,這邊簡單介紹但不深入探討,因為 Lint 在我這裡已經迭代為不太一樣的東西。

原文(節錄自 Karpathy LLM Wiki gist)

Lint. Periodically, ask the LLM to health-check the wiki. Look for: contradictions between pages, stale claims that newer sources have superseded, orphan pages with no inbound links, important concepts mentioned but lacking their own page, missing cross-references, data gaps that could be filled with a web search. The LLM is good at suggesting new questions to investigate and new sources to look for. This keeps the wiki healthy as it grows.

來源:Karpathy LLM Wiki gist

中文翻譯

Lint。定期請 LLM 對 wiki 做一次健康檢查

尋找:
頁面之間的矛盾
被新來源取代的過時說法
沒有任何連入連結的孤立頁面
被提到但還沒有自己頁面的重要概念
遺漏的交叉引用
可以用網路搜尋補上的資料缺口。

LLM 很擅長建議值得繼續深究的新問題,以及該找哪些新來源。這能讓 wiki 在持續成長的同時維持健康。

為什麼需要 Lint

Lint 主要的檢查項目是:內容有沒有錯

但是 Ingest 不就已經在輸入的時候,充分確保內容正確了嗎?

沒錯,所以我們仍然需要 Lint 的原因就是:Ingest 會有錯。

讓我先補充。

首先,「有錯」指的不是我們之前分享的規則與設計有錯(就是第十、第十一篇的 Ingest 內容)。

而是 LLM Wiki 的本質,意謂著所謂的「規則」並不保證被遵守。

記得嗎?不論是 CLAUDE.md 還是 Skills,本質上都只是 Load 進上下文的文字,沒有人說它 100% 會被遵守(有興趣的話可以回頭看第七篇),這是其一。

其二是 Ingest 之後,仍有可能對檔案做各種改動,不論改動是使用者改的、AI 改的,還是來源本身自己變了(例如外部連結失效)

這些改動在大方向上不會有嚴重的錯誤,但小地方的瑕疵仍會對知識庫的檢索帶來影響。

所以理論上來說,要有一個檢查機制,來防止「造成知識庫充斥小錯誤」這件事的發生。

這個檢查機制就是 Lint。

(說是小錯誤,因為大方向的檢查應在 Ingest 那一刻就做好)

跟原文件的差異

剛剛說:「 Lint 在我這裡已經迭代為不太一樣的東西」,這裡我展開說說。

更換觸發時機

首先原文件中:

定期請 LLM 對 wiki 做一次健康檢查

我改成「檔案有改動」時觸發。

因為「定期」可以理解為是一種自願行為,自願行為太模糊,幾乎等於「可以不做」,而不做?

我不想承擔不做的後果,所以「定期」改成「明確觸發」。

責任轉移:頁面之間的矛盾

判斷「這兩段話算不算矛盾」需要把文件翻出來進行語意理解

就是說如果要請 AI 做的話,需要它特地把兩段話都撈出來看,那整個知識庫檢查的話,不就全部撈出來看?

https://ithelp.ithome.com.tw/upload/images/20260920/201602791RMrBAd82Q.jpg

Token 的浪費、時間的浪費、還有腦細胞的浪費會發生,如果全部撈的話

所以不要全部撈,但檢查還是要檢查的,只是責任要移轉到 Ingest、Query 上

這樣做,一來是這兩項工作本來就要把資料撈出來,二來是這兩個動作「本來就跟語意理解有關」。

所以 Lint 不檢查矛盾,轉交給 Ingest、Query。

責任轉移:被新來源取代的過時說法

同上,所謂「過時」需要判斷,而判斷則需要語意理解。

刪掉:可以用網路搜尋補上的資料缺口

這條我直接刪掉了,老實說我不知道在什麼情況下我會「需要用網路搜尋補上資料缺口」。

這樣說好了,今天我寫文件會有幾種情況:

有資料缺口、需要補上資料缺口=> 那我就直接搜尋補上就好

有資料缺口、不需要補上資料缺口=>那我沒有補上的需求

懂我意思嗎? 我就是說我看不出在什麼情況下,在Lint這個用來檢查的動作,會需要「補上資料缺口」。

當然你也可以說「也許你不知道你需要」

那我就想問了,我自己都不知道的話我還奢望 AI 知道嗎? AI 知道我鄰居啊罵穿的內褲什麼顏色嗎?AI 要幫我查嗎?

講得很繞,希望我有充分表達。

總之這條我直接刪掉,你想留的話可以留著。

欸!可以寫到下一篇耶

寫到一半發現字數夠了,問了一下 AI 把剩下的分到下一篇寫,在策略上是不是好策略,AI 說這樣主題明確,一篇文章講一個主題,很好,那……

下一篇再講實做囉,Yes!

最後為我這篇的內容澄清一下,我不是在否定原作者的做法,只是他提出來的本來就是一個可發展的概念,我這邊分享的是「實務上」會是怎樣,所以有任何改動也是很合理的事情。


上一篇
第十九篇 - 不用再複製貼上了,一鍵把網頁搬進 Obsidian
下一篇
第二十一篇 - 跟著 Git commit 走——論 Lint 觸發時機與檢查邏輯
系列文
個人知識庫、第二大腦,都用不好?我讓 AI 當維護者,自己只負責讀、想、問23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言