[AI] 讓你的 Gemini CLI 擁有「記憶」!用 GEMINI.md
打造專案專屬 AI 助手
你是否曾覺得,在使用 Gemini 或其他 AI 工具時,每次都要重複說明專案背景、目標和風格?
gemini 指令列工具的設計是**無狀態(stateless)**的。這表示每次您啟動 gemini 指令,它都會開啟一個全新的、獨立的對話。當您關閉終端機或結束 gemini 程式後,所有對話紀錄都會消失,就像是從頭開始一樣。
「請以專業且友善的語氣,為我的環保網站寫一篇關於回收的文章,記得要用正體中文,且不要超過 500 字…」
這樣重複性的工作既耗時又麻煩。Google 的 Gemini CLI 為我們提供了一個完美的解決方案:上下文檔案(Context File),也就是 GEMINI.md。這個小小的檔案,就像是為你的 AI 助手打造了一份專屬的「專案指南」,讓它不再健忘,隨時都能與你的思維保持一致。
什麼是 GEMINI.md?
簡單來說,GEMINI.md 是一個放在 家目錄下(~/.gemini/GEMINI.md) 或 專案目錄下 的 Markdown 格式檔案 (放家目錄下稱為"預設上下文",放專案目錄下"專案上下文")。它存在的唯一目的,就是為 Gemini 提供專案的背景上下文。有了它,你下prompt就不用每次都要先告知背景資訊,只需要專注在當前的任務。
「Markdown 格式檔案(副檔名通常是 .md 或 .markdown)是一種 輕量級標記語言,用來用純文字撰寫內容,再透過簡單的標記符號達到排版效果。」
當你在專案目錄中啟動 Gemini CLI 時,它會自動讀取 預設上下文 及 專案上下文 檔案,並將其中的所有資訊都視為你的「預設指令」。這意味著,你可以把所有重複性的要求,如專案目標、語氣風格、內容限制等,都寫進這個檔案裡。
以 預設上下文 來說,你可以寫偏好語言以及資料庫資訊等等。
以 專案上下文 來說,除了在專案根目錄可以放置外,在子項目的目錄也能放,去控制該子項目。
實際應用範例:打造你的 AI 專案指南
假設你正在開發一個 PHP 購物網站專案,希望 Gemini 能協助你編寫程式碼或解決技術問題。你可以建立一個名為 GEMINI.md 的檔案,並填入以下內容:
# 專案:PHP 購物網站後端
這是一個基於 Laravel 框架的購物網站後端專案。
## 技術指南
- 程式碼風格:請遵循 PSR-12 編碼標準,並確保程式碼註解清晰。
- 安全規範:所有使用者輸入都必須進行驗證與過濾。
- 資料庫:使用 Eloquent ORM 進行操作。
## 請求類型
- 範例程式碼:生成 API 相關程式碼時,請提供完整的範例與註解。
- 疑難排解:解釋錯誤訊息時,請一併提供可能的解決方案。
## 語氣
- 專業、精確,並提供具體的程式碼範例。
如何使用 GEMINI.md?
當你設定好 GEMINI.md 後,只需要在終端機中透過兩個簡單的指令,就能讓 Gemini 讀取它。
1. 初始化記憶:使用 /init
當你在專案目錄中啟動 gemini CLI 時,輸入 /init
指令,Gemini 就會立即讀取 GEMINI.md
檔案,將其載入為當前的上下文。
2. 檢查記憶:使用 /memory show
如果你想確認 Gemini 是否正確讀取了你的 GEMINI.md
檔案,或者想快速回顧當前的上下文,可以使用 /memory show
指令。
將一切都文檔化:
將中間工作的計畫、分析都紀錄成文檔(例如:plan.md),並餵給AI,使其與你的思維保持一致。舉例(plan.md):
# 網頁專案建置計畫
1. 在當前目錄下建立一個名為 `index.html` 的空檔案。
2. 在 `index.html` 檔案中,寫入一個基本的 HTML5 骨架。
3. 在 HTML 骨架的body標籤內,加入一個標題 `歡迎來到我的專案!`。
4. 將所有變更儲存並關閉檔案。
5. 在終端機中回報每個步驟的完成狀態。
然後在專案上下文檔中加入:
# 核心任務
你是一個專業的專案執行助理。你的任務是嚴格按照 `plan.md` 檔案中定義的計畫,逐一完成每個步驟。
在完成每個步驟後,請向我回報進度。
只要.md寫的夠清楚、任務拆分的夠細,基本上GEMINI寫出來的程式碼基本上不會有太大的問題,再簡單review一下就可以了。
總結:讓你的 AI 助手更聰明
透過使用 GEMINI.md
上下文檔案,你不再需要每次都從零開始。這不僅能節省你的時間,還能確保 Gemini 輸出的內容一致且符合專案的規範。
無論你是個人開發者還是團隊合作,GEMINI.md
都是一個簡單卻強大的工具,能讓你的 AI 助手更了解你的需求,成為真正高效的專案夥伴。現在就打開你的專案目錄,開始打造專屬於你的 AI 指南吧!