Day 08 - 在專案裡搜尋:為 AI Agent 整合 ripgrep 工具

高見龍分享在專案中包裝 ripgrep 讓搜尋結果帶回完整上下文供模型使用的實作經驗。

• 為了讓 AI 助理 KeSi 具備在專案中搜尋檔案內容的能力,本篇放棄自行以 Python 撰寫比對邏輯,改為整合成熟且高效的 ripgrep (rg) 工具。 • 透過 子行程 (subprocess) 呼叫 rg,不僅能利用其預設自動略過 .gitignore 隱藏檔與二進位檔案的特性,還能大幅減少不必要的搜尋雜訊。 • 程式實作上採用 list 形式傳遞參數並維持 shell=False,有效防範 指令隱碼攻擊,並加上 -- 確保模型輸入的特殊字元不會被誤認為控制選項。 • 輸出結果刻意整理成 「檔名:行號:內容」 的三段式格式,並設定 最大 100 行限制 與 10 秒逾時機制,避免日誌過載與不必要的 Token 浪費。 • > 「搜尋是最標準已有成熟輪子的範例。」相較於複雜的 RAG(檢索增強生成),對於持續變動的小型專案,直接運用關鍵字搜尋已經相當足夠。


來源:高見龍

閱讀原文 ↗
← 回首頁