本系列將從零打造一個以單一程式碼庫為範圍的唯讀 Codebase Intelligence Agent。先建立檔案與 symbol 索引,再結合 AST 結構化切分、關鍵字與語意檢索,以及 LLM 工具調用,讓使用者能以自然語言查詢架構、定位函式,並取得附檔案與行號的回答。後續加入 import 關係與 Git diff 分析,產出候選影響範圍、變更摘要與測試建議。最後完成可展示的 CLI 或簡易 Web 介面,並以實際程式碼庫案例驗收成果。
這不是一個「叫 AI 幫我寫幾段程式碼」的系列,是一次從零開始,把大型語言模型、程式碼搜尋、結構化索引、評估與安全限制組合成工程工具的實作旅程。 在開始之前 接...
剛接手一個陌生 repository,最花時間的通常不是寫 code,而是搞懂 code 到底在幹嘛。 「索引從哪裡開始?」「改了這個 function 會壞哪...
Agent 最容易失控的時候,往往是功能開始「順便」變多:會找 code 以後想讓它順便跑測試,能跑測試後想讓它順手修 bug,最後還想叫它自動 commit。...
沒有驗收基準的 Demo,很容易淪為「我剛好問了一句它會答的,就算成功」的自欺欺人。 做 Codebase Agent 最危險的就是一邊寫一邊猜測使用者會問什麼...
昨天我們確立了 15 題驗收題目。今天我們要動手建立 codebase-agent 的實體專案骨架。 很多人寫 Agent 的第一個動作是 pip instal...
昨天我們在 CodebaseAnalyzer 中建立了路徑邊界防禦與專案骨架。今天我們要進入下一步:讓分析引擎真正遍歷專案檔案。 最直覺的寫法通常長這樣: fo...
很多做 Codebase RAG 的專案,第一步就急著切 chunk、生 embedding、灌進向量資料庫。但如果連「我查 build_index,它到底在專...
前幾天我們建立好專案過濾、完成了確定性搜尋,並將查詢結果嚴格鎖定在受測專案中。 今天,我們終於要邁出關鍵的一步:接上本機 Ollama,讓模型真正根據問題自主調...
在昨天的實測中,Ollama 成功自主呼叫了 find_importers,並找出 4 個直接 import rag_common 的檔案與行號。 但如果你仔細...
昨天(Day 9)我們利用 AST 的 CodebaseASTVisitor,成功把原始碼轉成了包含類別階層(Qualified Name)與 Import 別...