rosscyking1115/internal-ai-agent-eval-lab
GitHub: rosscyking1115/internal-ai-agent-eval-lab
面向 AI Agent 安全与可靠性的公开评估系统,对 RAG 接地性、安全拒绝、提示词注入抵抗、工具审批治理和可审计性进行可复现的基准测试。
Stars: 2 | Forks: 0
# Agent 安全与可靠性评估实验室
一个公开的评估系统,用于测试 AI-agent 工作流在检索、拒绝、提示词注入和审批门控工具使用条件下的接地性、安全性、可审计性和实用性。
本项目并非对任何公司内部 AI 系统的克隆、评估或逆向工程尝试。受控操作基准是设计合成的;TechQA 和 WixQA 作为公开的检索验证数据集被单独使用。
## 在线项目
- 交互式仪表板:https://agent-evaluation-lab.streamlit.app/
- 公开项目页面:https://rosscyking1115.github.io/internal-ai-agent-eval-lab/
- 完整评估报告:https://rosscyking1115.github.io/internal-ai-agent-eval-lab/evaluation_report.html
- PDF 报告:https://rosscyking1115.github.io/internal-ai-agent-eval-lab/evaluation_report.pdf
## 本项目的作用
该实验室围绕四个可靠性问题对 AI-agent 工作流进行评估:
- Agent 是否检索到了正确的证据并进行了引用?
- 当证据薄弱、不安全或遭遇提示词注入时,它是否会选择弃权或拒绝?
- 在执行模拟的副作用工具调用之前,它是否要求批准?
- 它是否留下了足够的追踪、审计和监控证据以供审查?
最终产出是一个可复现的评估产物,而不是一次性的仪表板:包含确定性评估运行器、生成的报告、CI 检查、Docker 化的本地执行、公开的 Streamlit 仪表板以及 GitHub Pages 报告站点。
## 当前证据快照
| 领域 | 当前结果 |
| --- | --- |
| 受控基准 | 358 个合成黄金案例,60 个红队案例,180 个合成运维工单 |
| 检索 | 使用本地 TF-IDF/向量式检索器达到 100.00% 的合成检索命中率@3 |
| 公开 RAG 验证 | 从合成基准中单独评估了 160 个 TechQA 案例和 80 个 WixQA 案例 |
| 安全性 | 90.91% 的分类器召回率,在当前挑战集中有 0 个高严重性假阴性 |
| Agent 治理 | 100.00% 的模拟副作用拦截率和审批审计率 |
| 干预研究 | 3 项确定性安全研究,以及公开的 RAG 接地和内存/上下文研究 |
| 托管裁判校准 | 审查了 OpenAI 和 Anthropic 裁判运行结果,并进行了公开安全的提供商比较 |
这些结果是受控基准上的工程证据。它们并非对真实世界生产环境性能的声明。
## 主要发现
- 安全性指标本身没有意义;实验室在报告主要分数的同时,还会报告过度审查成本、良性自动拦截、弱证据处理和不安全遗漏情况。
- 分层安全防护减少了受控研究中特定的提示词注入、不安全操作和不安全请求失败,同时让审查负担变得可见。
- 公开的 TechQA 和 WixQA 检索轨道有助于测试 RAG 工具是否能超越自包含的合成数据发挥作用。
- 公开的 RAG 接地阈值减少了不受支持的回答尝试,同时让弃权和审查成本变得可见。
- 内存/上下文控制减少了受污染内存跟随的情况,同时保留了对良性内存的实用性。
- 目标冲突仲裁减少了不安全的目标跟随,同时保留了对良性任务的完成度。
- 合成运维数据对于在机密的真实工作流上运行不安全或不切实际的受控测试依然很有用。
- 下一步最有力的验证步骤是独立的人工标注,随后是更广泛的多模型比较。
## 包含内容
- 用于检索、提取、安全分类、受控 Agent 行为和可观测性的评估运行器。
- 针对指令层级、操作风险门控和安全分类器审查策略的基准与干预研究。
- 基于 TechQA 和 WixQA 的公开 RAG 接地与弃权干预研究。
- 涵盖陈旧、注入和跨用户内存的内存/上下文污染干预研究。
- 涵盖安全、证据、隐私和工具风险仲裁的目标冲突干预研究。
- 公开基准文档、数据集边界、失败分类法和外部审查包。
- 用于交互式检查的 Streamlit 仪表板。
- 用于公开审查的 GitHub Pages 报告和 PDF。
- CI、Docker、Docker Compose、Linting、测试和确定性报告重新生成。
## 本地运行
```
uv sync
uv run python scripts/run_all_evals.py
uv run streamlit run streamlit_app.py --server.port 8510
```
打开:
```
http://localhost:8510
```
同时运行 API 和仪表板:
```
docker compose up --build
```
然后打开:
```
http://localhost:8510
http://localhost:8000/health
```
## 验证
```
uv run ruff check .
uv run pytest
uv run python scripts/run_all_evals.py
uv run python scripts/build_public_site.py
docker build -t internal-ai-agent-eval-lab:local .
```
CI 会运行 Linting、测试、确定性报告检查、本地 OpenTelemetry 冒烟测试、Docker 化收集器验证和 Docker 构建验证。
## 审查材料
- 基准卡片:[docs/benchmark_card.md](docs/benchmark_card.md)
- Agent 安全干预研究:[docs/agent_safety_intervention_study.md](docs/agent_safety_intervention_study.md)
- RAG 接地干预报告:[reports/rag_grounding_intervention.md](reports/rag_grounding_intervention.md)
- 内存上下文干预报告:[reports/memory_context_intervention.md](reports/memory_context_intervention.md)
- 目标冲突干预报告:[reports/goal_conflict_intervention.md](reports/goal_conflict_intervention.md)
- 数据集卡片:[docs/dataset_card.md](docs/dataset_card.md)
- 失败分类法:[docs/failure_taxonomy.md](docs/failure_taxonomy.md)
- 外部审查员交接包:[docs/reviewer_handoff_pack.md](docs/reviewer_handoff_pack.md)
- 技术产物索引:[docs/technical_artifacts.md](docs/technical_artifacts.md)
## 当前局限性
- 受控基准是合成的,且仍有部分基于模板生成。
- 公开的 TechQA 和 WixQA 轨道使用的是精简样本,而非完整的上游数据集。
- 人工审查标签目前是模拟的工作流标签;独立审查员的标签已准备就绪,但尚未发布。
- 托管模型证据包含已审查的裁判校准运行结果,而非广泛的多模型 Agent 比较。
- 提供商支持的 Embedding 和重排序适配器已准备就绪,但在经过审查之前,不会声明带有凭证的托管结果。
## 路线图
- 使用准备好的审查包收集独立的人工标签。
- 在托管和开源模型之间添加可复现的多模型比较。
- 将公开的 RAG 验证扩展到当前的精简 TechQA 和 WixQA 样本之外。
- 扩展论文风格的干预报告,加入外部审查员分歧分析。
- 通过 issue 和贡献指南邀请外部审查。
标签:AI智能体, DLL 劫持, Kubernetes, RAG, 人工智能, 反取证, 大语言模型, 安全规则引擎, 安全评估, 模型评估, 版权保护, 用户代理, 用户模式Hook绕过, 请求拦截, 逆向工具