Communitygithub.com

jcosxgb/graphe

证据图谱技能:规划、并行研究、质疑、合并、人工门控。用于Hermes框架。

graphe 是什么?

该技能将一个关键问题或提议的工作流程转化为一个结构化证据图谱,遵循严格的多阶段流程:规划(PLAN)→ 并行研究(PARALLEL RESEARCH)→ 质疑(SKEPTIC)→ 合并(MERGE)→ 人工门控(HUMAN GATE)。 它特别适用于市场验证、技术选型、运营设计以及任何可能因证据不足而导致工作浪费的决策场景。技能设计强调最小化图形以提升质量,并行研究彼此独立,质疑者独立批判证据,只有经过质疑的证据才能进入最终建议,最后由人工做出决策。 该技能明确通过 `/graphe <问题或工作流程>` 命令调用,支持 `fast`(2个研究轨道)、`standard`(3个轨道)和 `deep`(3个轨道,更广泛的来源覆盖)三种模式。非协商规则包括严格的阶段顺序、研究轨道的只读性、证据的声明级溯源、主要来源优先原则,以及禁止虚假并行——必须使用一次批量的 `delegate_task` 调用来执行独立轨道。 该技能最初为Hermes框架设计,但其工作流程和原则具有通用性,可指导任何需要深思熟虑的多智能体决策系统的设计和实现。

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Graphe — 一个问题,以图谱方式运行

将一个关键问题或提议的工作流程转化为分阶段证据图谱:

规划 → 并行轨道 → 质疑者 → 合并 → 人工门控

此技能通过以下方式显式调用:

/graphe <问题或工作流程>

何时使用

当用户明确希望将一个关键问题、决策、调查或提议的工作流程分解为独立的证据轨道,由独立的质疑者挑战,并返回给人工决策门控时,使用 /graphe。这对于市场验证、技术选型、运营设计以及那些弱证据可能导致浪费工作的决策尤其有用。不要为普通问题隐式激活它;斜杠命令是主动选择加入。

调用是刻意选择参与多智能体工作。不要仅仅因为问题看起来简单就降级为普通的单智能体答案。

设计原则

  • 在确定任务之前定义最终成果。
  • 将图谱视为由箭头连接的任务;箭头编码了真正的依赖关系,共享的笔记/结果是状态。
  • 构建能实质性地提升质量的最小图谱。更多的智能体可能产生重复的噪音。
  • 消除虚假等待:独立的任务并行运行;依赖的任务等待。
  • 将工作者与检查者分开。研究人员不评价自己的工作。
  • 当答案对于既定的决策标准足够好时,停止。
  • 当用户请求可重复使用的审计追踪或工作空间已有研究工件约定时,保留有用的状态——规划、证据、来源、质疑者判决和决策。
  • 编排工具是次要的,工作流程是主要的。对于新的重复性图谱,在添加更重的框架或外部自动化之前,先手动验证形状。

不可协商的规则

  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个独立轨道在一个并行批次中运行。
  • 每个实质性声明都有可追溯的证据。
  • 一个独立的质疑者攻击了证据。
  • 被拒绝的声明未包含在建议中。
  • 合并内容简洁且以决策为导向。
  • 在门控之前没有发生外部副作用。
  • 向人类提供了具体的选项,包括“通过”。

相关技能