< 返回版块

Thneoly 发表于 2026-10-24 10:03

Tags:MCP,agent,governance,AI

分享一个最近在折腾的开源小项目:r2r-jev —— 给 Jev(TypeSafe AI 上个月发布的决策模型)的判断结果加一层持久治理的 Rust 实现。

它管的是"判断之后"的事。

用 Jev 做 guardrail 的常见姿势是:模型给出越权概率 → 阈值 → block 这次调用 → 结束。下次调用来了,系统从零开始,像什么都没发生过。r2r-jev 把这条线拉长:

Judgment → Evidence → Admission → R2R → Enforcement
 判断        证据        准入       关系状态   执行

判断先变成带类型的证据候选,过准入层(Accept / Hold / Reject),只有被接纳的证据才能改变 Trust / Delegation / Authorization 这些长期关系状态。一个 0.94 的越权判断不该直接变成 Authorization = Suspended —— 概率是证据,不是权限。

Rust 同好可能最在意的一条:确定性纪律。

  • 概率在 adapter 边界转成整数 ppm(0.94 → 940000),治理路径全程无浮点
  • 无时钟、无随机:ID 是顺序计数器(ev-0001、evidence-0001…),事件序列本身就是时间
  • 同输入同输出逐字节一致 —— cargo run -- fixture 跑两遍 diff 验证,这也是 CI 里的断言
  • 事件库带重启恢复和重放对账:存储事件重放一遍,状态版本对不上会报出第一个发散点

准入层 v0.1 刻意小而可证伪:七步有序判定 + 七条不变量,几个内置反例——

99.9% 置信 + 低可靠来源    → Reject(置信度造不出来源权威)
99.0% 置信 + 已过期        → Reject
76.0% 置信 + 无佐证        → Hold(第三态:既不忽略也不改状态)
76.0% 置信 + 2 个独立佐证  → Accept(Corroborated)

对照实验里自己输的场景也原样放在仓里:强信任来源的高置信误报,准入层和直接阈值一样中招(false-deny 两臂打平);不确定带(87 万 ppm 单源无佐证)准入层能把误报爆炸半径打到零,而佐证充分的真实违规反而比固定阈值拦得更早。四条 CSV trace + 双臂 harness,数字全部被测试锁死。

仓里还有一个能跑的 MCP 治理控制面(stdio + HTTP 双 transport):提交观测、查询关系状态、执行前取确定性决策、记录执行结果、溯源与重放检查 —— 决策无副作用,写失败 fail-closed。

跑起来不需要 API key:

git clone https://github.com/Thneoly/r2r-jev.git
cd r2r-jev
cargo run -- fixture          # 三幕 demo:判断→证据→三连降级→DENY
cargo run --bin admission     # 准入参考案例 A–G
cargo run --bin admission-compare -- \
  experiments/evidence-admission-v0.1/traces/uncertain-single-source.csv

仓库:https://github.com/Thneoly/r2r-jev(Apache-2.0)

八个还没解决的问题开在 Discussions 板,欢迎来拍砖 —— 特别是"独立佐证的身份怎么定义"和"已接纳的证据该不该随时间失效"这两个。

声明:作者即维护者;与 TypeSafe AI 无隶属,Jev 仅指其公开 API。


Ext Link: https://github.com/Thneoly/r2r-jev

评论区

写评论
yaobo-lab 2026-10-24 18:17

使用场景是什么?

1 共 1 条评论, 1 页