Ai 應用

捨棄/grill-me:用/grill-with-docs打造高效AI編程協作

從對話到共識:我為何放棄 /grill-me 並轉向 /grill-with-docs

在過去一段時間的 AI 輔助編程實踐中,我一直嘗試尋求最理想的人機協作模式。起初,我對 /grill-me 這種透過「拷問」式對話來提取需求的方法感到驚艷。它能透過不斷提問來強迫我理清思路,確保 AI 在撰寫代碼前理解我的意圖。然而,隨著項目複雜度提升,我發現單純的對話互動存在明顯的瓶頸。最近,我將工作流轉向了 /grill-with-docs,這不僅是指令的改變,更是開發思維的根本轉變。

為什麼 /grill-me 開始顯得力不從心?

我發現使用 /grill-me 時,最大的問題在於「知識的瞬時性」。每一次對話都是從零開始,或者至少是在一個有限的上下文窗口中進行。當我試圖構建一個大型系統時,AI 雖然在對話當下理解了我的指令,但它缺乏對整個項目領域邏輯(Domain Logic)的深度錨定。很多時候,我們在對話中達成的共識,無法有效地轉化為可持續引用的知識庫。這導致在開發後期,AI 容易出現幻覺,或者給出與項目既定風格不符的建議。

另一個痛點是效率。雖然被 AI 提問有助於思考,但當項目進入快速迭代階段,反覆的對話會變成一種負擔。我發現自己不斷在重複解釋同樣的業務邏輯或架構原則。這讓我意識到,我們需要的不是更多的對話,而是更深層次的「語言同步」。

核心轉折:引入領域驅動設計中的「統一語言」

在探索改進方案的過程中,我重新審視了領域驅動設計(Domain-Driven Design, DDD)中的一個核心概念:統一語言(Ubiquitous Language)。我發現,之所以我與 AI 的協作會出現偏差,是因為我們之間缺乏一套共享的、標準化的專業術語和邏輯定義。

這便是我開始使用 /ubiquitous-language 指令的契機。我不再只是告訴 AI「我要寫一個購物車功能」,而是先與 AI 共同定義一套文檔。這份文檔詳細記錄了項目中的核心概念、實體關係以及業務規則。例如,什麼是「有效訂單」?「庫存扣減」的觸發時機是什麼?當這些定義被寫入文檔後,它們就成了 AI 的「真理來源」。

進化版工作流:/grill-with-docs 的實際運作

我現在採用的 /grill-with-docs 模式,將「對話」與「文檔」完美結合。這個指令的精髓在於:AI 不再僅僅依賴我的即時輸入,而是會主動查閱項目中現有的技術文檔、需求說明書或架構決策記錄(ADRs)。

第一步:構建基礎知識庫

我會先建立一個名為 docs/context 的目錄,裡面存放著關於項目架構、命名規範和核心邏輯的 Markdown 文件。我發現這比寫冗長的 System Prompt 有效得多。文檔是結構化的,易於更新,且能被多個不同的 AI 代理(Agents)同時引用。

第二步:觸發 /grill-with-docs

當我啟動新任務時,我會執行 /grill-with-docs。AI 此時會表現得像一個「讀過我所有文檔的資深顧問」。它會針對我的新需求,對照現有的文檔進行分析。如果我的需求與既定架構有衝突,它會立刻指出:「根據你的 arch-decision-001.md,我們應該採用異步處理,但你現在的要求似乎是同步的,是否需要調整?」這種基於既有事實的質詢,比盲目的提問更有價值。

ADRs:不可忽視的架構靈魂

在實踐中,我發現架構決策記錄(Architecture Decision Records, ADRs)是提升 AI 協作效率的神器。我習慣將每一個重大的技術選擇,例如為什麼選擇 TypeScript 而不是 Rust,或者為什麼使用特定數據庫,都記錄成簡單的 ADR。當我使用 /grill-with-docs 時,AI 會吸收這些決策背後的動機(Context)。這意味著它產出的代碼不僅在語法上正確,在設計哲學上也與我的初衷保持高度一致。

實測體驗:從 Demo 中看到的改變

在最近的一次功能開發中,我嘗試用這個新方法構建一個複雜的狀態管理模組。我發現 AI 生成的代碼質量有了質的飛躍。以往我可能需要進行三到四輪的修正(Refactoring),但現在,因為 AI 事先理解了我的領域模型,第一遍產出的代碼結構就已經非常接近生產環境的要求。

我觀察到一個有趣的現象:當 AI 有了文檔作為參考,它的回覆變得更加簡潔有力。它不再需要說廢話來確認需求,而是直接跳到核心邏輯的實現上。這大大節省了我的閱讀和審查時間。

總結:/grill-me 真的過時了嗎?

我並不認為 /grill-me 已經毫無用處。對於那些完全模糊、處於草創階段的想法,對話式的拷問依然有助於破冰。但只要項目一旦落地,哪怕只是寫了第一行代碼,我就會建議轉向 /grill-with-docs。代碼開發的本質是將混亂的思維轉化為有序的邏輯,而文檔正是這種秩序的載體。

透過這套新方法,我感受到了一種前所未有的「對齊感」(Alignment)。我不再是單獨在戰鬥,也不再是每次都要從頭教導我的 AI 助手。我們擁有一套共同的語言,一套共享的決策準則。這才是 AI 輔助編程的終極形態:讓 AI 成為一個真正懂你項目靈魂的合夥人,而不僅僅是一個聽命行事的打字機。

如果你也感到與 AI 的溝通成本越來越高,或許該停下無休止的對話,開始嘗試為你的項目編寫「統一語言」文檔,並交給 AI 去研讀。你會發現,這幾分鐘的文檔撰寫,將為你省下數小時的無效溝通與代碼重構時間。

Related posts