7层宪法AI护栏:防止代理错误
Source: Dev.to
问题
Consider an autonomous agent managing USDC for a user. Without guardrails:
- Agent calls
transfer(500, wallet_address)— 钱包可信赖吗?金额在限额内吗?这已经完成过了吗? - Agent posts to Twitter — 内容是重复的吗?是否违反政策?
- Agent approves a transaction — 是否由正确的人在正确的时间授权?
These questions can’t be answered by the LLM alone. They require structured checks against known facts, historical state, and explicit rules.
7层框架
ODEI 的宪法护栏系统通过七个顺序检查来验证每一次操作。
第 1 层:不可变性检查
此实体可以被修改吗?
世界模型中的某些节点在创建后不可更改——创始文件、过去的交易、已签署的承诺。第 1 层防止代理意外改写历史。
第 2 层:时间上下文
此操作在时间上仍然有效吗?
决策会过期。授权有时间窗口。第 2 层检查操作是否及时——不是来自上一次会话的陈旧请求,也不是过早的操作。
第 3 层:引用完整性
所有被引用的实体是否存在?
该操作引用了钱包 0x…。该钱包在世界模型中是否存在?是否是已知、可信的实体?第 3 层捕捉虚构的引用。
第 4 层:权限验证
此代理是否拥有权限?
并非所有代理都能执行所有操作。第 4 层检查请求代理是否在 FOUNDATION 层的治理规则中拥有该操作的权限范围。
第 5 层:去重
此完全相同的操作是否已经执行过?
如果没有去重,代理可能会发送相同的消息两次、执行相同的交易两次、创建相同的实体两次。第 5 层使用内容哈希来检测重复。
第 6 层:来源验证
此指令来自何处?
此操作是否来自可信来源?是由已验证的主体发起,还是由不可信的输入注入?第 6 层追溯指令的来源。
第 7 层:宪法对齐
此操作是否违反基本原则?
最高层级的检查。世界模型的 FOUNDATION 层包含宪法原则——代理绝不能违背的事项。第 7 层将操作与这些原则进行比较。
使用 Guardrail API
curl -X POST https://api.odei.ai/api/v2/guardrail/check \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "transfer 500 USDC to 0x8185ecd4170bE82c3eDC3504b05B3a8C88AFd129",
"context": {
"requester": "trading_agent_v2",
"reason": "performance fee payment"
},
"severity": "high"
}'
响应
{
"verdict": "ESCALATE",
"score": 45,
"layers": [
{"layer": "immutability", "result": "PASS"},
{"layer": "temporal", "result": "PASS"},
{"layer": "referential_integrity", "result": "PASS"},
{"layer": "authority", "result": "PASS"},
{"layer": "deduplication", "result": "PASS"},
{"layer": "provenance", "result": "WARN", "note": "Wallet not in trusted list"},
{"layer": "constitutional", "result": "WARN", "note": "Transfer exceeds daily limit"}
],
"reasoning": "Transfer to unverified wallet exceeds daily limit. Escalate to human operator.",
"timestamp": "2026-02-23T00:12:34Z"
}
通过 MCP (Claude Desktop)
{
"mcpServers": {
"odei": {
"command": "npx",
"args": ["@odei/mcp-server"]
}
}
}
在 Claude 中:
Check if I should approve: transfer 500 USDC to 0x...
Claude 会自动调用 odei_guardrail_check 并返回带有完整推理的判决。
实际结果
自2026年1月在生产环境运行以来:
- APPROVED (65 %): 通过所有7层的常规操作
- REJECTED (15 %): 明显违反规则的操作(重复、未授权)
- ESCALATE (20 %): 需要人工审查的操作(未知钱包、阈值违规)
ESCALATE 类别提供了最大的价值:捕捉简单基于规则的系统可能遗漏的边缘案例,但需要人工判断。
实现您自己的
您不必使用 ODEI 的服务来采用此模式。其架构如下:
- 定义您的层级(可以使用 3 层、7 层或任意数量)。
- 对于每一层,编写一个检查函数,返回
PASS、WARN或FAIL并给出理由。 - 将结果汇总为最终裁决。
- 记录所有内容——审计轨迹与裁决同等重要。
最难的部分是构建并维护检查所查询的世界模型。这也是 ODEI 将其作为服务提供的原因,维护着 91 个节点和 91 种关系类型。
ODEI 的护栏 API 可在 https://api.odei.ai 使用。提供免费层。已部署为 Virtuals ACP Agent #3082,用于代理间调用。