核心工作流程04 / 16
撰寫重要的意圖
本頁內容
意圖文件記錄你希望軟體滿足的行為與限制。先寫下已決定的內容,再依實作與依據逐步完善。這樣能保持文件易讀,也讓 Agent 保有實作空間。
選擇值得保留的需求
意圖可以描述不同類型的需求:
| 類型 | 範例 |
|---|---|
| 產品規則 | 使用者連續簽到 7 天後,發放一份獎勵。 |
| 架構限制 | 每一筆付款請求都必須在伺服器端驗證。 |
| 演算法需求 | 相同輸入與種子必須產生相同排序。 |
| 互動需求 | 儲存失敗時,保留使用者輸入並允許重試。 |
描述觸發條件與可觀察的結果。「匯出必須可靠」很難檢查;「匯出失敗時,保留目前篩選條件並允許重試」則提供更明確的評估依據。
當某個實作選擇重要到未來變更也必須遵守時,就寫入意圖。尚未決定的細節可以繼續留作實作選擇。
區分長期需求與當前任務
意圖描述軟體必須持續做到的事,不是完成後就刪除的待辦清單。功能完成後保留需求,決定改變行為時才修改對應文字。
對話中也會有本輪工作的指示,可以這樣區分:
| 內容 | 適合的位置 |
|---|---|
| 連續簽到 7 天後,發放一份獎勵。 | 意圖:長期的獎勵條件。 |
| 獎勵發放失敗時允許重試,但不得重複發放。 | 意圖:長期的失敗處理行為。 |
| 這次修改獎勵邏輯前,先檢查既有程式碼。 | 目前對話:這次任務的指示。 |
| 先完成原型,下次再討論視覺設計。 | 目前對話:此階段的工作安排。 |
判斷句子實際限制的是什麼。「每次匯出前都驗證資料」定義軟體的執行順序,應放在意圖;「這次先調查匯出模組」則是在安排當前任務。
告訴 Agent 哪些指示是長期需求,哪些只適用於這次任務。重要的任務指示必要時應重述,不要假設新對話會繼承它們。
建立與編輯文件
點選側邊欄的新增意圖並輸入名稱。Noea 會在意圖資料夾根目錄建立帶有一級標題的 .noea.md 檔案。
文件使用 Markdown,在同一畫面閱讀與編輯。點選文字即可修改,並可用標題、清單、表格與程式碼區塊組織內容。
例如:
# 每日簽到
使用者每天可以簽到一次。
## 獎勵
連續簽到 7 天後,發放一份獎勵。同一段連續簽到期間只發放一次。
用標題劃分章節,以段落表達不同需求。調查會將整個清單視為一份內容;若想分別調查與討論,請將主題拆成不同段落或章節。
透過討論完善意圖
規則尚未明確時,先討論,再請 Agent 提出變更:
我想避免重複發放簽到獎勵。請協助定義這裡的「重複」,等我確認後再提出意圖變更。
做出決定後,請 Agent 將它整理成提議。審閱文字、視需要編輯新內容,然後接受。對話中的一句話,只有寫入意圖文件後才成為文件的一部分。
最後的文字應使用你理解的概念與語言。對陌生術語或新增需求,先問清楚再決定是否保留。好的表達讓你能自行解釋需求,也能在想改變行為時找到該改的句子。
關於提議與建議卡片,請參閱討論與審閱意圖變更。
用圖表表達關係
語言標記為 mermaid 的程式碼區塊可顯示為圖表,用來呈現狀態轉移、工作流程或模組關係。
右上角控制項可切換圖表與原始碼。切至原始碼即可編輯。若語法無效或圖表類型不支援,Noea 會顯示原始碼與原因,其餘文件仍可閱讀。
儲存及使用外部編輯器
macOS 使用 ⌘S、Windows / Linux 使用 Ctrl+S,或選擇檔案 → 儲存手動儲存。標題旁的圓點表示未儲存變更。切換分頁會保留變更;關閉文件、專案或離開應用程式時,會提示儲存。
儲存時會統一 Markdown 格式。你也可在外部編輯器維護檔案。若在 Noea 編輯期間磁碟檔案被修改,應用程式會提供重新載入或另存選項,而不會直接覆寫。
理解文字變更的含義
新增、替換與刪除文字,對需求有不同影響:
| 編輯 | 含義 |
|---|---|
| 將「7 天」改為「14 天」。 | 改變獎勵的觸發條件。 |
| 新增「同一段連續簽到期間只發放一次」。 | 新增避免重複獎勵的限制。 |
| 移除「獎勵必須是徽章」。 | 取消對獎勵形式的限制。 |
移除「獎勵必須是徽章」不一定讓現有徽章實作不再有效;它可能仍滿足其餘意圖。若要完全取消獎勵,應明確寫出不得再發放獎勵,而不只是刪除獎勵形式的要求。
編輯前,可詢問 Agent 哪些行為會改變、哪些需求應保留。把回答作為討論依據,再檢查實際實作與證據。
儲存後,舊說明會標示先前的文字。新需求若需修改程式碼,先實作再調查;若只想檢查既有行為,可直接調查。
接著閱讀與 Agent 協作實作或保持說明更新。