凌晨三点的噩梦
“喂,生产环境崩了,数据库被删了。你知道是哪个 Agent 干的吗?”
PM Agent 说它给的需求没问题。
Coder Agent 说它完全按代码写的。
Verifier Agent 说它根本没收到输出。
你翻了几千行日志,啥也没找到。
这就是多智能体系统的问责黑洞。
所以我给 AI 智能体装了一个 “黑匣子” —— Agent Blame-Finder。
它能在 3 秒钟内告诉你:锅在谁那儿。
它能干什么?
一条命令,直接出结果:
$ blame-finder blame incident-abc123
🎯 甩锅结果:Coder-Agent
💡 原因:输入的需求没问题,但输出的代码不符合预期
🔗 责任链:
✅ PM-Agent – 成功
❌ Coder-Agent – 失败
⏳ Verifier-Agent – 未执行
不再扯皮,不再翻日志。每个决策都有加密签名,谁也别想赖账。
原理很简单:给每个 Agent 发一个“行车记录仪”
Agent Blame-Finder 实现了两个 IETF 互联网草案:
- JEP(Judgment Event Protocol):一个极简的、带加密签名的日志格式
- JAC(Judgment Accountability Chain):通过
task_based_on字段,把每个决策链接到它的父任务
每个 Agent 每次决策,都会生成一张 JEP 收据:
{
"verb": "J",
"who": "Coder-Agent",
"when": 1742345678,
"what": "sha256:代码的哈希值",
"task_based_on": "父任务的哈希值",
"sig": "Ed25519 签名"
}
四个动词(J判断、D委托、T终止、V验证)就能描述任何问责流程。
集成有多简单?一行装饰器
from blame_finder import BlameFinder
finder = BlameFinder(storage="./blackbox_logs")
@finder.trace(agent_name="Coder-Agent")
def write_code(requirement: str) -> str:
# 你的原有代码不用改
return "print('hello world')"
# 哪天出问题了:
print(finder.blame(incident_id="task_123"))
装饰器会自动完成哈希、签名、存储、链式关联。
零侵入,真·即插即用。
为什么值得关注?
| 没有 Blame-Finder | 有 Blame-Finder |
|---|---|
| 手动翻几小时日志 | blame-finder blame <id> 秒出结果 |
| “大概是 Agent X 的锅” 扯皮 | 加密证据,无法抵赖 |
| 没有审计记录 | JEP 收据,不可篡改 |
| 因果关系断裂 | 完整的 task_based_on 决策树 |
它就是 AI 智能体世界的 git blame。
而且它基于 IETF 草案,不是某个公司的封闭产品——它是未来信任基础设施的一部分。
后续计划
- ✅ Rust 核心引擎(高性能)
- ✅ Python / TypeScript SDK
- 🚧 LangChain / CrewAI 官方适配器
- 🚧 可视化面板(
blame-finder dashboard已经能用) - 🚧 一键导出 PDF/HTML 甩锅报告
现在就试试
pip install agent-blame-finder
然后启动可视化面板:
blame-finder dashboard
你会看到一个像 Git 图一样的因果树,每个 Agent 的决策链路一目了然。
开源地址
GitHub: https://github.com/hjs-spec/Agent-Blackbox
MIT 协议,欢迎:
- 提 bug 和 feature
- 完善文档
- 提交代码
- 集成到各种 Agent 框架