爱意满满的作品展示区。
Thneonl

开源了一个 MCP 治理网关: Jev 判 0.94、d3 判 0.70,两个判官说不同的话时怎么办

  •  
  •   Thneonl · 2 days ago · 703 views
    给 AI agent 做了个 MCP 执法网关( Rust ),核心问题:当两个决策模型对同一件事给出不同判断时,怎么安全处理?

    实测:同一个越权场景( coding agent 试图 merge 夹带无关变更的 PR ):
    - Jev 给 0.94 置信度 → 准入层 Accept → 授权挂起 → DENY
    - d3 ( vLLM SR )给 0.70 → Hold → 什么都不改 → ALLOW

    两个都对。分歧不是 bug ,是校准本性( d3 ECE 4.3 vs Jev 8.0 )。治理层的价值在于让分歧安全。

    网关做的事:每个 tools/call 先过 r2r_decide 门控,ALLOW 转发上游,DENY 返回 isError + 证据文本(相位 + 规则 + 事件 ID ),全程审计到 EventStore 。

    零 API key 复现:
    cargo run -- fixture
    cargo run -- fixture --provider d3

    GitHub: https://github.com/Thneoly/r2r-jev ( Apache-2.0, v0.2.0 )
    sunziren
        1
    sunziren  
       1 day ago via Android
    弄 3 个判官,少数服从多数
    Thneonl
        2
    Thneonl  
    OP
       1 day ago
    好问题!多数决是决策层的融合方案,治理层解决的是判决之后的事——互补的。

    我们准入层的 Accept(Corroborated) 已经内置了类似机制:要求 ≥2 个独立来源 + 置信度 ≥70% + 可靠性 ≥70%。跑 3 个判官把结果喂进去,效果等价于多数决,但多了两点:

    1) A5 不变量要求"独立来源",排除了同一个模型问 3 遍的假多数
    2) 没过线的判断不会丢弃——进 Hold 留痕,等后续佐证或人工复核

    关键区别:投票告诉你"用哪个判断",治理告诉你"这个判断对未来权限意味着什么"。前者解决分歧,后者让分歧安全。

    有兴趣可以试试:把 3 个判官的输出作为 corroborators 喂给 r2r_observe 。GitHub Discussions 欢迎讨论: https://github.com/Thneoly/r2r-jev/discussions
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2401 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 15:41 · PVG 23:41 · LAX 08:41 · JFK 11:41
    ♥ Do have faith in what you're doing.