Ian Chou's Blog

需求訪談 Workflow:從 Cloud Code 到 Antigravity 的 AskUserQuestionTool 移植

在 AI Agent 協作開發的過程中,最困難的往往不是寫程式,而是「把需求講清楚」。Google 的 Cloud Code 內部曾經有一個非常實用的工具叫 AskUserQuestionTool,專門用來進行結構化的需求訪談。當我開始使用 Antigravity 後,發現它沒有內建類似功能,於是我將這個概念提取出來,改造成 Antigravity 的 workflow:requirements-interview

什麼是 AskUserQuestionTool?

在 Cloud Code 的 Agent 架構中,AskUserQuestionTool 是一個特殊的工具,讓 Agent 能夠主動向使用者提問並等待回應。它的核心價值在於:

  1. 多輪對話能力:不是一次性問完所有問題,而是根據使用者的回答動態調整後續問題
  2. 結構化訪談:按照預定義的框架逐步收集資訊
  3. 自動整理:將訪談結果整理成完整的需求文件

這個工具在 Cloud Code 內部被用於:

為什麼要移植到 Antigravity?

Antigravity 是一個強大的 AI coding agent,但它的互動模式主要是「任務導向」——你給一個目標,它就開始執行。這在寫程式時很有效率,但在需求不明確時會產生問題:

因此,我將 Cloud Code 的 AskUserQuestionTool 的理念,改造成 Antigravity 的 workflow 格式,讓 Agent 能夠系統化地進行需求訪談。

Requirements Interview Workflow 的設計

核心理念

這個 workflow 的設計遵循三個核心原則:

  1. 分區塊訪談:將需求拆成 6 個區塊,每個區塊專注於特定面向
  2. 小批次提問:一次只問 1-2 題,避免資訊過載
  3. 確認式推進:每個區塊結束都要總結並確認理解

6 個訪談區塊

區塊 A:背景與商業目標 (5-6 題)

這個階段要搞清楚:

範例問題

區塊 B:目標使用者與使用情境 (6-7 題)

深入理解使用者:

範例問題

區塊 C:主要流程與關鍵情境 (7-8 題)

釐清具體的使用流程:

範例問題

區塊 D:邊界情境與錯誤處理 (5-6 題)

處理異常情況:

範例問題

區塊 E:非功能需求 (6-7 題)

技術與營運維度:

範例問題

區塊 F:驗收標準與成功指標 (4-5 題)

定義「完成」的標準:

範例問題

輸出格式

訪談完成後,workflow 會自動產出一份結構化的需求文件,包含:

  1. 產品背景與目標
  2. 使用者輪廓
  3. 功能需求(含 User Stories)
  4. 邊界情境與錯誤處理
  5. 非功能需求表格
  6. 驗收標準
  7. 開放問題清單

使用方式

在 Antigravity 對話中,只要輸入:

/requirements-interview

Agent 就會自動啟動需求訪談流程。過程中你還可以使用快捷指令:

實際應用場景

這個 workflow 特別適合以下場景:

1. 模糊需求的結構化

當你有一個點子,但還沒想清楚細節:

USER: /requirements-interview
AGENT: 你想做什麼產品/功能?請用一句話描述。
USER: 我想做一個幫電商自動生成商品描述的 AI 工具
AGENT: 收到!接下來會進行 6 個區塊的訪談,每個區塊 5-8 題左右...

2. 跨團隊溝通

當 PM 跟工程師對需求理解不一致:

透過結構化訪談,可以確保雙方對「商業目標」、「使用者情境」、「技術限制」有共同理解。

3. 需求文件產出

取代傳統手寫 PRD 的繁瑣過程:

Agent 會根據訪談內容自動產出格式化的需求文件,包含 User Stories、驗收標準、非功能需求表格等。

與 Cloud Code 的差異

雖然核心理念來自 Cloud Code 的 AskUserQuestionTool,但 Antigravity 版本有幾個重要差異:

1. 實作方式

2. 互動模式

3. 靈活性

重要原則

根據實際使用經驗,這個 workflow 要發揮最大效果需要注意:

1. 一次只問 1-2 題

避免資訊過載,讓使用者能專注回答。

2. 追問細節

如果回答模糊,Agent 應該主動追問,不要自行腦補。

3. 不要假設

沒問過的就不要寫進需求文件,保持「開放問題」區供後續補充。

4. 小結確認

每個區塊結束都要用 3 行總結並要求確認,確保理解一致。

5. 標記不確定

把還需要確認的問題明確標註在「開放問題」區,避免遺漏。

技術細節:Workflow 的運作方式

Antigravity 的 workflow 是一個智慧的約定:

  1. Markdown 格式定義:在 .agent/workflows/ 目錄下放置 .md 文件
  2. YAML Front Matter:定義 workflow 的描述,用於觸發條件判斷
  3. 結構化指示:在 Markdown 內容中用清晰的標題和條列式指示引導 Agent
  4. Turbo 標記// turbo-all 可以讓某些步驟自動執行(本 workflow 中用於加速訪談流程)

範例結構:

---
description: 需求訪談助手 - 模擬 AskUserQuestionTool 的多輪訪談流程
---

# 需求訪談 Workflow

## 使用方式
在對話中輸入 `/requirements-interview` 即可啟動

## 訪談流程
### 階段 0:啟動確認
1. Agent 先詢問...
2. 收到回答後...

未來展望

這個 workflow 目前還在持續改進中,未來可能加入:

  1. 範本庫:針對不同產品類型(SaaS / 電商 / 內部工具)提供專屬問題集
  2. 自動優先級排序:根據回答內容自動判斷哪些功能應該優先實作
  3. 整合 User Story Mapping:自動產生 Story Map 視覺化
  4. 需求變更追蹤:當需求有變動時,能追蹤影響範圍

結語

從 Cloud Code 的 AskUserQuestionTool 到 Antigravity 的 requirements-interview workflow,這個移植過程讓我理解到:好的需求訪談不是問更多問題,而是問對的問題

透過結構化的 6 區塊訪談,我們能夠:

如果你也在使用 Antigravity 或類似的 AI coding agent,不妨試試這個 workflow,讓 AI 不只會寫程式,更能幫你「問對問題」。


相關資源

標籤建議#AI #Workflow #RequirementsEngineering #Antigravity #ProductManagement