Communitygithub.com

jcosxgb/graphe

將一個問題轉化為圖形化證據鏈:規劃、平行研究、質疑、合併、人工決策閘門。

graphe 是什麼?

Graphe 是一個專門為 Hermes 平台設計的 AI 代理技能,用於將單一重要問題或提議的工作流程,轉化為一個結構化的證據圖。它遵循「規劃 → 平行研究 → 質疑 → 合併 → 人工決策閘門」的嚴格流程。此技能透過 `/graphe <問題或工作流程>` 指令明確觸發,適用於市場驗證、技術選擇、營運設計等需要避免弱證據導致浪費工作的決策場景。其核心設計原則是透過多個獨立的研究線索平行調查,再由一個獨立的「質疑者」角色挑戰所有證據,最後僅將倖存的、經得起考驗的事實合併成一份簡潔的建議,並將最終的執行選擇權交給人類。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add jcosxgb/graphe

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Graphe — 一個問題,以圖形方式執行

將一個重要的問題或提議的工作流程轉化為階段性的證據圖:

規劃 → 平行線索 → 質疑者 → 合併 → 人工閘門

此技能透過以下指令明確呼叫:

/graphe <問題或工作流程>

使用時機

當使用者明確想要將一個重要的問題、決策、調查或提議的工作流程分解為獨立的證據線索,由一個獨立的質疑者進行挑戰,並最終由人類決策閘門做決定時,請使用 /graphe。它特別適用於市場驗證、技術選擇、營運設計,以及那些證據薄弱可能導致徒勞無功的決策。請勿將其隱含地用於一般問題;斜線指令是選擇加入的機制。

一次呼叫即是刻意選擇加入多代理工作。請勿僅因問題看似簡單,就將其降級為普通的單一代理回答。

設計原則

  • 在分配工作之前,先定義最終成果。
  • 將圖視為「由箭頭連接的工作」;箭頭編碼了真實的相依性,共享的筆記/結果則是狀態。
  • 構建能實質提升品質的最小圖。更多代理可能產生重複的雜訊。
  • 移除虛假的等待:獨立的工作平行執行;有相依性的工作則等待。
  • 將工作者與檢查者分開。研究者不對自己的工作進行評分。
  • 當答案對於所述決策標準來說已經足夠好時,就停止。
  • 在以下情況保留有用的狀態(計劃、證據、來源、質疑者的判決和決策):使用者要求一個可重複使用的審計軌跡,或者工作區已經有研究工件(research artifact)的慣例。
  • 編排工具次於工作流程本身。對於一個新的、重複出現的圖,請在引入更重的框架或外部自動化之前,先手動驗證其形狀。

不可協商的規則

  1. 順序是嚴格的。 在質疑者完成之前不要合併。在人工閘門之前不要執行建議。
  2. 研究線索是唯讀的。 它們可以檢查來源、檔案、系統和公開資訊,但不得發布、發送、購買、刪除、部署、修改生產環境或聯絡人員。
  3. 證據是基於主張的。 每個重要的事實主張都需要一個來源 URL/路徑、來源類型和信心程度。「子代理這麼說」不算證據。
  4. 主要來源優先。 偏好官方文件、第一手資料、原始碼、合約、直接客戶證據或原始記錄。次要證據和推論需標註清楚。
  5. 質疑者是一個獨立的工作。 它獨立地攻擊主張、檢查原始來源、找出矛盾,並將每個主張標記為 保留、修正 或 拒絕。
  6. 僅倖存者進入合併。 被拒絕的主張不得作為事實出現在最終建議中。
  7. 人類選擇下一步行動。 使用 clarify 工具進行閘門決策。請勿默默選擇或開始執行某個選項。
  8. 沒有虛假的平行處理。 對於獨立的線索,使用一次批次化的 delegate_task(tasks=[...]) 呼叫。請勿為平行的線索進行順序的單一子項呼叫。
  9. 尊重 Hermes 的非同步委派。 在批次被分派後,請勿輪詢或聲明完成。研究結果會在所有線索完成後重新進入對話;然後啟動質疑者。
  10. 保持輸出規模如同決策。 合併的結果是一頁的建議,而非每個線索報告的傾倒。

階段 0 — 解析呼叫

將 /graphe 後的文字視為問題。可以提供可選的模式詞:

  • fast:2 條線索,較窄的證據查驗。
  • standard:3 條線索;預設值。
  • deep:3 條線索,涵蓋更廣泛的來源並明確指出後續待補的缺口。

如果未提供問題,則提出一個開放式的澄清問題:「您想將哪個問題或工作流程以圖形方式執行?」在沒有目標之前不要開始研究。

階段 1 — 規劃

父代理負責規劃。在委派之前,產生一個簡潔的圖形計劃,包含:

  • 決策/問題 — 一句話。
  • 輸出標準 — 一個有用的答案必須決定或促成什麼。
  • 限制條件 — 時間、市場、管轄權、預算、儲存庫/系統邊界以及禁止的副作用。
  • 線索 — 2 或 3 個正交的研究工作,每個都有明確的問題和停止標準。
  • 閘門 — 說明執行需等待人類的選擇。

根據領域選擇線索,而不是盲目地重複使用標籤。

預設線索模式

對於市場/產品/商業問題,建議使用:

  1. 客戶痛點/當前行為 — 目標使用者目前如何處理該問題;直接證據、應急方案、迫切性以及改變的意願。
  2. 競爭對手/替代方案/經濟效益 — 誰已經解決了這個問題、替代方案、定位、定價、轉換成本以及失敗模式。
  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 作為質疑者。提供原始問題、限制條件、標準化後的矩陣以及所有線索的輸出。

質疑者必須:

  1. 優先攻擊影響最大的決策關鍵主張。
  2. 在可存取時,打開/檢查所引用的原始來源;僅有引用字串是不夠的。
  3. 測試來源的品質、時效性、相關性、樣本偏差、因果推斷、隱藏假設、計算、來源依賴性以及循環佐證。
  4. 專門搜尋跨線索的否定性證據和矛盾。
  5. 將每個主張標記為 保留、修正 或 拒絕,給出理由,並在適用時將缺陷標記為 致命、重大 或 輕微。
  6. 區分事實錯誤與偏好分歧。
  7. 確定哪些證據會改變決策,以及能夠解決每個重大異議的最小額外檢查。
  8. 建議不超過三個低成本的下步行動來解決最大的不確定性。
  9. 不產生任何副作用。

使用需要以下欄位的輸出結構:

{
  "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 條獨立的線索在一個平行批次中運行。
  • 每個重要主張都有可追溯的證據。
  • 一個獨立的質疑者攻擊了證據。
  • 被拒絕的主張已從建議中排除。
  • 合併結果簡潔且以決策為導向。
  • 在閘門之前沒有發生外部副作用。
  • 提供了具體的選項給人類,包括「放棄」。

相關技能