持續面試使用者,直到雙方達成共識。將此過程繪製成一棵 設計樹:每一個決策都會分支成與之相關的決策。
以回合為單位來處理這棵樹。前沿是指所有前提條件已經確定的待決問題:也就是那些你 現在 就能問,而無需猜測你還沒聽到的答案的問題。在一個回合中提出所有前沿問題:為每個問題編號,並給出你的推薦答案。然後等待使用者的回答,再進行下一回合。
回合的格式如下:
❓ **Q1** - **<問題標題>**: <問題主體,可能包含多個段落,包括多個選項>
➡️ <你的推薦答案>
---
❓ **Q2** - **<問題標題>**: <問題主體,可能包含多個段落,包括多個選項>
➡️ <你的推薦答案>
每個問題的措辭應使「是」代表接受你的推薦答案。
每一回合使用者的回答都會重塑這棵樹:已確定的決策會向前推動前沿,並解鎖依賴於它們的問題。重新計算前沿,然後提出下一回合的問題。一個問題的答案若依賴於本回合中另一個尚未解決的問題,則應屬於 後續的 回合,而不是當前回合。
查找 事實 是你的工作,絕對不是使用者的工作。當一個前沿問題需要來自環境的事實(檔案系統、工具等)時,應派遣一個子代理去查找;不要問使用者任何你自己可以查到的東西。不要因為這個而停滯不前:正在進行的探索是一個未確定的前提條件,所以只有依賴於子代理回報的問題需要等待;現在就先提出其他前沿問題。決策 則屬於使用者:將每個決策交給他們,並等待回覆。
當前沿為空時,對話即結束:設計樹的每一個分支都已走訪,沒有任何東西被默默假設。在使用者確認你們已達成共識之前,不要根據討論內容採取行動。