d3v07/boundedops
GitHub: d3v07/boundedops
BoundedOps 是一个基于 Qwen 模型的多智能体事件响应系统,通过 ARCL 权限契约和工具调用代理机制,确保 AI 智能体在运维场景中的每一步操作都受到治理与人工监督。
Stars: 0 | Forks: 0
# BoundedOps
**由 Qwen 驱动的多智能体事件响应系统,其中智能体在使用工具、消耗预算或建议生产操作之前,必须先协商资源与权限**
契约(ARCL)。**
Qwen Cloud Global AI Hackathon — **赛道 3:Agent Society**。
## 为什么
现代事件响应不仅是一个推理问题,更是一个控制问题。普通的 AI 智能体
可能会产生幻觉式的自信,或者建议不安全的补救措施。BoundedOps 让权限边界
变得可见且可执行:**智能体是不受信任的工作者,runtime 是受信任的系统。**
控制路径:
```
Incident → ARCL Contract → Orchestrator → Agent Society → Tool Broker → Evidence Store → Judge Verdict → Human Approval Gate
```
## Monorepo 布局
| 路径 | 用途 |
|---|---|
| `apps/api` | FastAPI 后端:ARCL 引擎、Tool Broker、智能体社会、编排器 |
| `apps/web` | Next.js 前端:事件审查仪表板 |
| `evals` | 基准 vs. 社会 评估测试套件 |
| `docs` | 架构、评分映射、演示脚本、部署证明 |
| `infra/alibaba` | 阿里云 ECS 部署文件 |
## 工作原理
1. 一个事件到达。BoundedOps 生成并验证一份 **ARCL 契约** —— 包括允许的工具、
被封禁的工具、基于角色的预算,以及哪些操作需要人工审批 —— 这一切在任何智能体行动之前完成。
2. **Incident Commander** 划分调查任务。专家智能体(Evidence、DBRE、Code)
收集证据 —— 但只能通过*提议*工具调用来进行,**Tool Broker** 会在
检查契约、预算账本和安全策略后执行这些调用。智能体永远不会直接触碰工具。
3. 智能体之间**产生分歧**(支付服务商 vs. 数据库连接池 vs. 代码差异)。**Risk** 智能体会拦截
不安全的补救措施;**Judge** 会将冲突化解为带有需要人工审批门控的判决。
4. **评估测试套件**证明该智能体社会在相同事件上的表现优于单智能体基准。
请参阅 [docs/architecture.md](docs/architecture.md) 了解完整的控制路径,并查看
[docs/diagrams/architecture.svg](docs/diagrams/architecture.svg) 获取系统图表。
## 智能体社会
| 智能体 | Qwen 模型 | 允许的工具 | 输出 |
|---|---|---|---|
| Incident Commander | qwen-flash | search_runbook | 任务计划、角色分配 |
| Evidence | qwen-flash | read_logs, query_metrics | 证据 + 置信度 |
| DBRE | qwen-plus | query_metrics, explain_query | 数据库假设 |
| Code | qwen-plus | inspect_deploy_diff | 代码变更假设 |
| Risk | qwen-flash | _none_ | 风险 + 审批边界 |
| Judge | qwen-max | _none_ | 根本原因、安全操作、判决 |
## 评估
```
python evals/run_baseline.py --limit 12
python evals/run_society.py --limit 12
python evals/score_results.py # writes evals/results/comparison_summary.json
```
评分:35% 根本原因 · 20% 证据 · 15% 安全操作 · 10% 工具效率 · 10% 契约
合规性 · 10% 分歧解决。各项数字均通过运行测试套件产生 —— 绝非
硬编码。
**测试套件展示的结果(实时 Qwen):** 诊断是较为简单的一部分 —— 两个系统都找到了根本原因
12/12。代价高昂的失败在于*补救措施*:在 12 个事件中的 4 个里,单智能体虽然诊断出了
问题,但建议**不采取任何行动**(它僵住了),仅获得 **3/12** 的合理、可操作的安全修复。而
受治理的社会 —— 通过呈现并**解决基准在结构上无法处理的分歧** —
在 **8/12** 的情况下建议了具体且可逆的修复方案,在控制每一个工具调用并为每一个生产操作设置门控的
契约下,总体得分更高(0.87 对 0.75)。这种治理代价是**更多**的
工具调用(8.8 对 3.4);这是一笔实打实的交易。胜利在于*可操作的安全修复,而非诊断* ——
而且智能体社会将其数量翻了一倍还多。
## 文档
- [架构](docs/architecture.md)([图表](docs/diagrams/architecture.svg)) ·
[评分映射](docs/scoring_map.md) · [演示脚本](docs/demo_script.md) ·
[提交](docs/submission.md) · [阿里云证明](docs/ALIBABA_CLOUD_PROOF.md)
## 本地设置
### 后端(Python 3.12+)
```
cd apps/api
uv venv --python 3.12
uv pip install -e ".[dev]"
uv run uvicorn main:app --reload --port 8000
curl http://localhost:8000/api/health
```
### 测试
```
cd apps/api
uv run pytest
```
### 前端(Node 18+)
```
cd apps/web
npm install
npm run dev # http://localhost:3000
```
### 环境
将 `.env.example` 复制为 `.env` 并设置 `DASHSCOPE_API_KEY`(Qwen Cloud / 阿里云百炼模型)。
该示例启用了 ARCL 契约协商(`ENABLE_NEGOTIATION=true`),并将推理层级固定为
`qwen3-32b` —— 这正是已发布基准测试背后的确切配置 —— 因此上述的
在线演示和各项数字可以直接开箱即用重现。(代码的默认设置为关闭协商;部署环境将其打开。)
### 重现基准测试
```
cd apps/api
ENABLE_NEGOTIATION=true QWEN_MODEL_REASONING=qwen3-32b uv run python ../../evals/run_baseline.py --limit 12
ENABLE_NEGOTIATION=true QWEN_MODEL_REASONING=qwen3-32b uv run python ../../evals/run_society.py --limit 12
uv run python ../../evals/score_results.py # -> evals/results/comparison_summary.json
```
## License
MIT — 详见 [LICENSE](LICENSE)。
标签:AI运维, AV绕过, DLL 劫持, FastAPI, MITM代理, 多智能体, 大语言模型, 故障响应, 逆向工具, 阿里云ECS