iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
AI Engineering

30 天打造 Codebase Intelligence Agent:從程式碼檢索、結構化索引到變更影響分析實戰 系列

本系列將從零打造一個以單一程式碼庫為範圍的唯讀 Codebase Intelligence Agent。先建立檔案與 symbol 索引,再結合 AST 結構化切分、關鍵字與語意檢索,以及 LLM 工具調用,讓使用者能以自然語言查詢架構、定位函式,並取得附檔案與行號的回答。後續加入 import 關係與 Git diff 分析,產出候選影響範圍、變更摘要與測試建議。最後完成可展示的 CLI 或簡易 Web 介面,並以實際程式碼庫案例驗收成果。

參賽天數 17 天 | 共 17 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文 |團隊nutc imac
DAY 1

Day1:Codebase Intelligence Agent 30 天學習地圖

這不是一個「叫 AI 幫我寫幾段程式碼」的系列,是一次從零開始,把大型語言模型、程式碼搜尋、結構化索引、評估與安全限制組合成工程工具的實作旅程。 在開始之前 接...

2026-09-15 ‧ 由 __zoe 分享
DAY 2

Day 2:為什麼需要 Codebase Intelligence Agent?

剛接手一個陌生 repository,最花時間的通常不是寫 code,而是搞懂 code 到底在幹嘛。 「索引從哪裡開始?」「改了這個 function 會壞哪...

2026-09-16 ‧ 由 __zoe 分享
DAY 3

Day 3:先把 Agent 關進籠子:邊界與系統架構

Agent 最容易失控的時候,往往是功能開始「順便」變多:會找 code 以後想讓它順便跑測試,能跑測試後想讓它順手修 bug,最後還想叫它自動 commit。...

2026-09-17 ‧ 由 __zoe 分享
DAY 4

Day 4:先選範例 repo,再決定怎樣算成功:設計 15 題驗收清單

沒有驗收基準的 Demo,很容易淪為「我剛好問了一句它會答的,就算成功」的自欺欺人。 做 Codebase Agent 最危險的就是一邊寫一邊猜測使用者會問什麼...

2026-09-18 ‧ 由 __zoe 分享
DAY 5

Day 5:先把工作桌整理好:CLI 專案骨架與零依賴原則

昨天我們確立了 15 題驗收題目。今天我們要動手建立 codebase-agent 的實體專案骨架。 很多人寫 Agent 的第一個動作是 pip instal...

2026-09-19 ‧ 由 __zoe 分享
DAY 6

Day 6:掃 repository 前先學會閉眼:排除規則與過濾實作

昨天我們在 CodebaseAnalyzer 中建立了路徑邊界防禦與專案骨架。今天我們要進入下一步:讓分析引擎真正遍歷專案檔案。 最直覺的寫法通常長這樣: fo...

2026-09-20 ‧ 由 __zoe 分享
DAY 7

Day 7:先別急著向量搜尋:基礎文字與路徑搜尋實作

很多做 Codebase RAG 的專案,第一步就急著切 chunk、生 embedding、灌進向量資料庫。但如果連「我查 build_index,它到底在專...

2026-09-21 ‧ 由 __zoe 分享
DAY 8

Day 8:第一次讓 Ollama 真正查 Codebase:統一 Evidence 契約與工具調用實測

前幾天我們建立好專案過濾、完成了確定性搜尋,並將查詢結果嚴格鎖定在受測專案中。 今天,我們終於要邁出關鍵的一步:接上本機 Ollama,讓模型真正根據問題自主調...

2026-09-22 ‧ 由 __zoe 分享
DAY 9

Day 9:用 AST 解析 Python:拒絕 Regex 瞎猜,搞定別名與層級

在昨天的實測中,Ollama 成功自主呼叫了 find_importers,並找出 4 個直接 import rag_common 的檔案與行號。 但如果你仔細...

2026-09-23 ‧ 由 __zoe 分享
DAY 10

Day 10:把 Symbol 變成可查的索引:SQLite 持久化與同名衝突處理

昨天(Day 9)我們利用 AST 的 CodebaseASTVisitor,成功把原始碼轉成了包含類別階層(Qualified Name)與 Import 別...

2026-09-24 ‧ 由 __zoe 分享