Graphe — 一個問題,以圖形方式執行
將一個重要的問題或提議的工作流程轉化為階段性的證據圖:
規劃 → 平行線索 → 質疑者 → 合併 → 人工閘門
此技能透過以下指令明確呼叫:
/graphe <問題或工作流程>
使用時機
當使用者明確想要將一個重要的問題、決策、調查或提議的工作流程分解為獨立的證據線索,由一個獨立的質疑者進行挑戰,並最終由人類決策閘門做決定時,請使用 /graphe。它特別適用於市場驗證、技術選擇、營運設計,以及那些證據薄弱可能導致徒勞無功的決策。請勿將其隱含地用於一般問題;斜線指令是選擇加入的機制。
一次呼叫即是刻意選擇加入多代理工作。請勿僅因問題看似簡單,就將其降級為普通的單一代理回答。
設計原則
- 在分配工作之前,先定義最終成果。
- 將圖視為「由箭頭連接的工作」;箭頭編碼了真實的相依性,共享的筆記/結果則是狀態。
- 構建能實質提升品質的最小圖。更多代理可能產生重複的雜訊。
- 移除虛假的等待:獨立的工作平行執行;有相依性的工作則等待。
- 將工作者與檢查者分開。研究者不對自己的工作進行評分。
- 當答案對於所述決策標準來說已經足夠好時,就停止。
- 在以下情況保留有用的狀態(計劃、證據、來源、質疑者的判決和決策):使用者要求一個可重複使用的審計軌跡,或者工作區已經有研究工件(research artifact)的慣例。
- 編排工具次於工作流程本身。對於一個新的、重複出現的圖,請在引入更重的框架或外部自動化之前,先手動驗證其形狀。
不可協商的規則
- 順序是嚴格的。 在質疑者完成之前不要合併。在人工閘門之前不要執行建議。
- 研究線索是唯讀的。 它們可以檢查來源、檔案、系統和公開資訊,但不得發布、發送、購買、刪除、部署、修改生產環境或聯絡人員。
- 證據是基於主張的。 每個重要的事實主張都需要一個來源 URL/路徑、來源類型和信心程度。「子代理這麼說」不算證據。
- 主要來源優先。 偏好官方文件、第一手資料、原始碼、合約、直接客戶證據或原始記錄。次要證據和推論需標註清楚。
- 質疑者是一個獨立的工作。 它獨立地攻擊主張、檢查原始來源、找出矛盾,並將每個主張標記為
保留、修正或拒絕。 - 僅倖存者進入合併。 被拒絕的主張不得作為事實出現在最終建議中。
- 人類選擇下一步行動。 使用
clarify工具進行閘門決策。請勿默默選擇或開始執行某個選項。 - 沒有虛假的平行處理。 對於獨立的線索,使用一次批次化的
delegate_task(tasks=[...])呼叫。請勿為平行的線索進行順序的單一子項呼叫。 - 尊重 Hermes 的非同步委派。 在批次被分派後,請勿輪詢或聲明完成。研究結果會在所有線索完成後重新進入對話;然後啟動質疑者。
- 保持輸出規模如同決策。 合併的結果是一頁的建議,而非每個線索報告的傾倒。
階段 0 — 解析呼叫
將 /graphe 後的文字視為問題。可以提供可選的模式詞:
fast:2 條線索,較窄的證據查驗。standard:3 條線索;預設值。deep:3 條線索,涵蓋更廣泛的來源並明確指出後續待補的缺口。
如果未提供問題,則提出一個開放式的澄清問題:「您想將哪個問題或工作流程以圖形方式執行?」在沒有目標之前不要開始研究。
階段 1 — 規劃
父代理負責規劃。在委派之前,產生一個簡潔的圖形計劃,包含:
- 決策/問題 — 一句話。
- 輸出標準 — 一個有用的答案必須決定或促成什麼。
- 限制條件 — 時間、市場、管轄權、預算、儲存庫/系統邊界以及禁止的副作用。
- 線索 — 2 或 3 個正交的研究工作,每個都有明確的問題和停止標準。
- 閘門 — 說明執行需等待人類的選擇。
根據領域選擇線索,而不是盲目地重複使用標籤。
預設線索模式
對於市場/產品/商業問題,建議使用:
- 客戶痛點/當前行為 — 目標使用者目前如何處理該問題;直接證據、應急方案、迫切性以及改變的意願。
- 競爭對手/替代方案/經濟效益 — 誰已經解決了這個問題、替代方案、定位、定價、轉換成本以及失敗模式。
- 分銷/執行/限制條件 — 實際如何接觸到目標受眾、營運可行性、法律/安全限制以及測試成本。
對於一般研究或技術決策,建議使用:
- 基本事實/當前狀態 — 基本事實、需求和系統行為。
- 替代方案/反證 — 競爭方法、否定性證據以及權衡取捨。
- 執行/風險/驗證 — 實作路徑、相依性、失敗模式以及如何安全測試。
對於實作工作流程,在閘門之前保持所有線索為唯讀。平行代理可以檢查不同區域,但不得編輯同一個檢出目錄或產生外部副作用。
避免冗餘的線索。如果兩個線索會搜尋相同的來源以尋找相同的主張,請重新設計它們。
階段 2 — 平行研究
使用一次 delegate_task 呼叫,批次處理 2–3 個葉子任務。給予每個子代理完整的問題、共享的限制條件、其線索任務、下面的證據合約以及要求的輸出語言。
使用寬容的每個任務 output_schema,僅要求父代理會讀取的欄位:
{
"type": "object",
"required": ["lane", "bottom_line", "claims", "gaps"],
"properties": {
"lane": {"type": "string"},
"bottom_line": {"type": "string"},
"claims": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "claim", "evidence", "source", "locator", "source_type", "confidence"],
"properties": {
"id": {"type": "string"},
"claim": {"type": "string"},
"evidence": {"type": "string"},
"source": {"type": "string"},
"locator": {"type": "string"},
"observed_or_published_at": {"type": "string"},
"source_type": {"type": "string"},
"confidence": {"type": "string"},
"assumptions": {"type": "array"},
"caveat": {"type": "string"}
}
}
},
"contradictions": {"type": "array"},
"gaps": {"type": "array"},
"candidate_next_moves": {"type": "array"}
}
}
線索證據合約
每個線索必須:
- 獨立調查;不要與同級線索協調。
- 在可獲取的情況下,使用當前、原始的來源。
- 為每個重要主張引用 URL、帶有行號/頁碼參考的檔案路徑或直接記錄標識符。
- 分配穩定的主張 ID,並在可用時包含引用、頁碼、行號、章節、時間戳或其他定位器。
- 區分觀察到的事實、報告的主張、計算結果和推論。
- 對有時效性的證據包含日期。
- 報告矛盾的證據和未知事項,不要隱藏它們。
- 如果缺少上下文,報告阻礙因素或清楚標記一個假設;子代理不能請求澄清,也不得猜測。
- 在其陳述的停止標準達到時,或當額外搜尋的報酬急劇減少時停止。
- 不對外部進行任何更改。
在分派工具確認批次正在運行後,簡短說明哪些線索處於活動狀態。不要捏造其結果,也不要進行輪詢。
階段 3 — 質疑者
當合併後的線索結果重新進入對話時,將其標準化為一個以穩定主張 ID 為鍵的主張/證據矩陣,然後啟動一個新的葉子 delegate_task 作為質疑者。提供原始問題、限制條件、標準化後的矩陣以及所有線索的輸出。
質疑者必須:
- 優先攻擊影響最大的決策關鍵主張。
- 在可存取時,打開/檢查所引用的原始來源;僅有引用字串是不夠的。
- 測試來源的品質、時效性、相關性、樣本偏差、因果推斷、隱藏假設、計算、來源依賴性以及循環佐證。
- 專門搜尋跨線索的否定性證據和矛盾。
- 將每個主張標記為
保留、修正或拒絕,給出理由,並在適用時將缺陷標記為致命、重大或輕微。 - 區分事實錯誤與偏好分歧。
- 確定哪些證據會改變決策,以及能夠解決每個重大異議的最小額外檢查。
- 建議不超過三個低成本的下步行動來解決最大的不確定性。
- 不產生任何副作用。
使用需要以下欄位的輸出結構:
{
"type": "object",
"required": ["claim_verdicts", "contradictions", "decision_risks", "best_next_tests"],
"properties": {
"claim_verdicts": {"type": "array"},
"contradictions": {"type": "array"},
"decision_risks": {"type": "array"},
"best_next_tests": {"type": "array"}
}
}
在分派質疑者後,說明證據攻擊正在進行中。不要提前合併,也不要輪詢。
階段 4 — 合併
當質疑者的結果返回時,父代理使用僅 保留 和經過清楚限定的 修正 主張建立一份一頁的建議。重新打開任何需要的來源以解決重大歧義;子代理的摘要不是外部副作用或即時系統狀態的證明。
使用這個精確的結構:
# 建議
**決策:** <一句話>
**信心程度:** <低 / 中 / 高,附帶一行理由>
## 原因
- <倖存的主張 + 引用>
- <倖存的主張 + 引用>
- <倖存的主張 + 引用>
## 未倖存的部分
- <被拒絕或實質上被削弱的主張 + 理由>
## 主要風險與未知
- <風險/未知>
## 最佳下一步行動
1. <能最大程度降低最大不確定性的最小測試>
2. <第二選項>
3. <第三選項,僅在有幫助時提供>
4. 放棄 — 現在不行動
將內容保持在大約一頁的篇幅。內嵌連結或引用來源。僅在使用者要求時,將詳細的線索資料放入附錄。
階段 5 — 人工閘門
緊接在一頁合併之後,以單選模式呼叫 clarify,提供不超過四個選項:
- 最多三個從證據中得出的具體下步行動。
- 總是包含
放棄 — 現在不行動。
將每個選項只放入 choices 陣列中;不要在問題敘述中重複選項。提問:「您想授權哪個下步行動?」
在使用者的選擇送達之前,不要執行任何選項。/graphe 的呼叫本身絕非對副作用的批准。選擇之後:
- 用一句話重申所選的下步行動和授權的分析範圍。
- 如果該行動會發送訊息、發布、購買、更改帳戶、部署、刪除檔案、變更 API 或導致其他外部副作用,請在執行前呈現確切的目標/帳戶/工作區、提議的酬載/命令/變更、預期成本和受眾、可逆性/回滾計劃、去重策略、驗證方法以及未解決的風險;並獲得一般安全規則所要求的任何額外批准。
- 僅執行已授權的行動。
- 對於發送、購買、部署、破壞性操作、秘密或生產環境變更,應用一般的安全/批准規則。
- 讀回或擷取結果物件,並僅報告獨立驗證的效果。
失敗與降級行為
- 線索失敗: 僅在失敗是暫時性的情況下重試一次。否則使用其餘線索繼續,並顯著降低信心程度。
- 來源無法存取: 報告存取失敗;絕不要用看似合理的散文來取代缺失的證據。
- 線索衝突: 在質疑者階段保留衝突。不要平均不相容的主張。
- 無法進行委派: 說明所請求的多代理圖無法按設計執行。提供一個清楚標記的單一代理降級方案;不要默默替換它。
- 問題在執行中途改變: 停止舊的圖,重申修訂後的決策,並重新規劃。不要將不相關的線索結果拼湊到新問題中。
- 不安全或不允許的請求: 一般安全規則優先於圖形。拒絕或縮小不安全的部分,同時保留安全的分析。
品質檢查清單
在開啟人工閘門之前,請確認:
- 父代理產生了一個明確的計劃。
- 2–3 條獨立的線索在一個平行批次中運行。
- 每個重要主張都有可追溯的證據。
- 一個獨立的質疑者攻擊了證據。
- 被拒絕的主張已從建議中排除。
- 合併結果簡潔且以決策為導向。
- 在閘門之前沒有發生外部副作用。
- 提供了具體的選項給人類,包括「放棄」。