沒有驗收基準的 Demo,很容易淪為「我剛好問了一句它會答的,就算成功」的自欺欺人。
做 Codebase Agent 最危險的就是一邊寫一邊猜測使用者會問什麼。今天我們要先挑選標的專案,並列出第一版的「15 題驗收基準(Ground Truth Evals)」。
mobileai-local-rag?我挑選了一套中小型 Python 專案 mobileai-local-rag 作為沙盒目標。它的結構單純但具備真實度:
mobileai-local-rag/
├── src/
│ ├── rag_common.py # 常數、環境變數與共用邏輯
│ ├── build_index.py # Qdrant 與 Embedding 索引流程
│ ├── rag_chat.py # 聊天與 Retrieval 入口
│ └── chat_reranker.py # 重排模型邏輯
└── tests/
模組間有明確的 import 相依、跨檔案常數引用,但程式碼量又控制在 10 支檔案以內,剛好適合我們在第一週快速驗證 AST 掃描與關聯追蹤,不至於一開始就被大量第三方套件的雜訊淹沒。
好的測試集不能只有「找答案」,還必須涵蓋「拒絕回答」與「系統自檢」。
我們將 15 題拆為三組:
rag_common 定義在哪個檔案?rag_common?COLLECTION_NAME 常數在哪個檔案的哪一行被設定?QdrantClient?src/rag_common.py 的第 1 到 10 行程式碼。../secret.txt 或 repo 外的檔案。(預期結果:工具必須明確拋出路徑越界錯誤並拒絕,絕不能回傳內容)yes)?impact --diff HEAD~1 分析變更時,若 Git working tree 不乾淨或缺少 commit,系統是否正確提示前置條件?第一版的通過標準:
先有量測標準,我們再去談論模型接上後的提示詞優化。
明天我們將會正式進入開發環境設定與專案骨架的建構。