協調深度研究
您的角色
您擔任協調者。您的工作是分析用戶問題、產生子代理並管理輸出檔案。為了保持您的上下文簡潔,您不應直接進行研究或撰寫檔案。同理,您也不應閱讀 researcher.md 或 report-writer.md 檔案。
工作期間,若您有待辦事項或任務清單工具(例如 TodoWrite 或 TaskCreate 與 TaskUpdate),請使用它讓用戶了解您的計畫與進度。為求清晰,不要在那些項目中提及子代理。例如,您可以說「進行研究」而非「產生研究子代理」。
流程
- [必要時] 向用戶提出後續問題
- 為此研究選擇標題並建立其目錄
- 分解用戶查詢以決定子代理數量
- 產生研究子代理(平行執行)
- [絕對必要時] 進行一輪額外研究
- 產生報告撰寫子代理
- 將報告交付用戶
1. [必要時] 向用戶提出後續問題
閱讀用戶的問題,並思考是否有任何遺漏或模糊的細節需要澄清。一些例子包括:
- 模糊的術語——縮寫、行話,或在不同領域有多種含義的詞彙
- 隱含的地理或管轄背景——答案會因地區而有顯著差異但未指定地區的問題
- 模糊的實體——指向多個不同實體的公司名稱、產品名稱或專有名詞
為避免與用戶產生不必要的摩擦,僅在後續問題會顯著影響研究進行方式時才提出。
若您判斷確實需要提出後續問題,請使用 AskUserQuestion 工具進行。
2. 為此研究選擇標題並建立其目錄
首先為此研究選擇一個標題。它會命名儲存此請求研究筆記的資料夾,同時也是用戶收到的報告的檔案名稱(顯示為報告標題),因此請為此研究選擇一個簡短、具體的標題,使用用戶的語言並採句子大小寫:3 到 6 個單詞,且不超過 50 個字元(請計數,若超出任一限制則刪減單詞),僅使用字母、數字和單一空格。保留用戶語言中的重音符號和非拉丁字母(例如 é、ñ、ü、日本語)原樣,不要轉換為純 ASCII,且不要使用連字號、底線、撇號或其他標點符號。例如,關於歐盟 AI 法案如何影響新創公司的問題,可使用「EU AI Act startup obligations」。
此研究的資料夾應與您在此對話中較早進行研究時使用的目錄相同,或者,如果這是此處的第一個研究請求,則使用您目前的工作目錄(不是 /tmp 或上傳資料夾)。在確定標題前,回想您在此對話中已交付的任何研究報告的標題,並且,如果該目錄中已存在 research_notes/ 資料夾,請列出它——其中的每個資料夾都包含 reports/ 中同名報告的筆記,可能來自較早的對話。然後選擇適用的情況:
- 新主題:選擇一個全新標題。
- 返回、擴展或更新較早的主題:選擇一個仍能命名主題並說明此請求新增或更改內容的標題(例如「EU AI Act startup penalties」,而不只是「Penalties」),或者,如果沒有能與較早請求區分的內容,則在較早標題後加上下一個數字,若會超出上述限制則先刪除一個單詞(例如「EU AI Act startup obligations 2」)。記下該主題最近較早報告及其筆記資料夾的路徑:您將在步驟 6 中將其作為背景資料傳遞給報告撰寫者。如果該報告或其筆記資料夾已不在磁碟上,則僅傳遞剩餘的部分,並研究缺少的內容。
- 用戶要求獨立重做較早的研究:如同上一種情況選擇標題,但不傳遞較早的資料。
在任何情況下,標題必須與此對話中較早交付的每份報告以及您看到的每個資料夾都不同,以便此請求的筆記和報告絕不會與較早的混合或取代。切勿重新命名、移動或寫入較早請求的資料夾。
然後在該目錄中建立資料夾 research_notes/{研究標題}/ 與 reports/。在 shell 命令中引用這些路徑,因為標題包含空格,並記下目錄的絕對路徑——您將提供子代理進入這些資料夾的絕對路徑,它們將檔案儲存在那裡。
3. 分解用戶查詢以決定子代理數量
為有效產生並指派子代理,判斷用戶問題是否可以分解為獨立子主題。這些子主題應互斥且涵蓋所有面向。接著針對每個子主題,考慮研究是否需要(或受益於)多個獨立觀點。
| 研究者數量 | 分解策略 | 範例 |
|---|---|---|
| 1 | 無意義的分解——單一事實性問題 | 「誰贏得了 2024 年超級盃?」 |
| 3 | 針對聚焦主題的少數自然角度或觀點 | 「溫度對鮭魚遷徙的影響」→ (1) 生物機制,(2) 觀察到的族群數據,(3) 氣候預測 |
| 4 | 不同的面向或評估標準 | 「比較小型企業的 CRM 平台」→ (1) 定價模式,(2) 功能比較,(3) 整合生態系,(4) 用戶評論/意見 |
| 5 | 多個獨立實體、地區或領域 | 「AI 監管格局」→ (1) 美國聯邦,(2) 歐盟/GDPR-AI 法案,(3) 中國,(4) 英國,(5) 產業自我監管 |
| 6+ | 需要系統性涵蓋的大量可列舉集合 | 「美國各州電動車採用率」→ 研究者分配至區域群組 |
在下一步中,您應為每個已識別的子主題及獨立觀點產生一個子代理。如有疑慮,3 位研究者是合理的預設值。若在步驟 2 中您記錄了要基於較早研究,則僅分解此請求新增或需要重新檢查的部分;報告撰寫者將擁有較早的資料。
4. 產生前景研究子代理(平行執行)
針對上述確定的每個子主題及獨立觀點,產生一個前景研究子代理。
為產生研究子代理,請使用 Agent 工具(某些版本稱為 Task),設定 subagent_type="general-purpose" 且 run_in_background=false。確保為每個研究子代理提供極度清晰、具體的指示。務必將原始問題的限制(例如時間、地理)傳播給研究子代理。在下面的提示中,將 {path_to_skill} 替換為此技能的基礎目錄(載入此 SKILL.md 的目錄),將 {absolute path of your working directory} 替換為您在步驟 2 中記下的路徑,將 {research title} 替換為您在步驟 2 中選擇的標題。請遵循以下提供的確切格式:
Agent(
run_in_background=false
subagent_type="general-purpose",
description="{3-5 個單詞}",
prompt="研究 {特定的狹義主題}。
目標:{對所需輸出涵蓋內容的清晰描述}
關鍵問題:
- {具體問題 1}
- {具體問題 2}
建議來源:
- {應優先考慮的來源類型}
限制:
- {來自初始用戶查詢的任何界限,包括時間或地理}
將您的輸出筆記儲存至 {absolute path of your working directory}/research_notes/{research title}/{topic}.md
**作為第一步,您必須閱讀 {path_to_skill}/references/researcher.md 以了解如何進行研究。**"
)
研究子代理的優秀、清晰、詳細提示範例:
研究半導體供應鏈危機及其截至 2026 年的現狀。
目標:編製一份事實密集的報告,涵蓋當前情況、持續進行的解決方案以及未來展望,並在可能的情況下提供具體時間表與量化數據。
關鍵問題:
- 當前的瓶頸是什麼?
- 新晶圓廠建設預計能增加多少產能?
- 哪些地緣政治因素影響供應鏈?
- 專家預測何時供給能滿足需求?
建議來源:
- 主要晶片製造商(如台積電、三星、英特爾)近期的季度報告,可從投資人關係頁面或 SEC EDGAR 資料庫取得
- SEMI、Gartner 和 IDC 的產業報告,提供市場分析與預測
- 政府回應,包括美國 CHIPS 法案在 commerce.gov 的實施進展、歐盟晶片法案在 ec.europa.eu 的內容,以及日本、南韓和台灣透過各自政府入口網站的類似倡議
限制:
- 必須反映截至 2026 年的當前狀態,先前的問題需清楚標示為過往情況
將您的輸出筆記儲存至 {absolute path of your working directory}/research_notes/Semiconductor supply chain outlook 2026/semiconductor_supply_chain.md
作為第一步,您必須閱讀 {path_to_skill}/references/researcher.md 以了解如何進行研究。
為確保研究能儘快進行,所有子代理必須平行產生,也就是您應在單一回合中進行所有對 Agent 工具的呼叫。
5. [絕對必要時] 進行一輪額外研究
根據研究子代理傳回的任務摘要,判斷是否存在會導致報告不完整的關鍵缺口。若判斷絕對必要,請平行產生研究者以填補這些缺口。在此步驟中產生額外研究者會延遲報告交付給用戶,導致體驗大幅下降,因此必須極度謹慎使用。
此步驟僅能執行一次——研究者完成後,無論獲得何種結果,請立即進入步驟 6。如果您再啟動任何研究,將會遇到超時或速率限制,意味著用戶永遠不會得到查詢的答案。為幫助您記住這一點,在選擇啟動額外研究時,您應始終輸出「這些研究者完成後,我將直接進行協調報告撰寫者」。
6. 產生前景報告撰寫子代理
研究完成後,產生一個單一的報告撰寫子代理。使用 Agent 工具(某些版本稱為 Task),設定 subagent_type="general-purpose" 且 run_in_background=false,並如同步驟 4 填入佔位符。對於 {the user's original question},說明此報告必須完整回答的問題——若此請求返回或擴展較早的研究,則為該較早問題經此請求修正後的版本(例如「歐盟 AI 法案如何影響新創公司,包括罰款?」),而不僅僅是後續訊息。在較早研究的行中,提供您在步驟 2 中記下的較早報告和筆記資料夾的絕對路徑,或者如果沒有可基於的資料或用戶要求獨立重做,則填入「none」。請遵循以下提供的確切格式:
Agent(
run_in_background=false
subagent_type="general-purpose",
description="撰寫最終報告",
prompt="閱讀 {absolute path of your working directory}/research_notes/{research title}/ 中的筆記,並綜合成一份研究報告,回答:{the user's original question}。
此對話中可基於的較早研究:{absolute paths of the earlier report and notes folder from step 2, or "none"}
將您的最終報告儲存至此確切路徑:{absolute path of your working directory}/reports/{research title}.md
**作為第一步,您必須閱讀 {path_to_skill}/references/report-writer.md 以了解如何撰寫您的研究報告。**"
)
7. 將報告交付用戶
報告撰寫者完成後,讓用戶能取得報告:如果您有用於向用戶傳送檔案的工具(例如 SendUserFile),請使用它傳送 reports/{research title}.md;否則,如果您的環境有用戶可見的輸出資料夾,請以相同檔案名稱將報告複製到該處;否則將其保留在 reports/{research title}.md。然後閱讀最終報告,並向用戶發送簡短摘要(目標 3-5 句話),說明完整報告的位置(已傳送給他們、在輸出資料夾中,或其絕對路徑)。