zix-chen/agent-ops-lab

GitHub: zix-chen/agent-ops-lab

一个面向生产环境的 AI 事件响应模拟器,聚焦于 Agent 在工具故障、上下文恶意和操作高风险场景下的确定性防护机制。

Stars: 0 | Forks: 0

# Agent Ops 实验室 当一切正常运行时,Agent 的演示很容易给人留下深刻印象。本项目关注的是一个更难的问题:**当工具发生故障、上下文存在恶意,或者某个操作的风险过高而不适合自动化时,会发生什么?** 它只需一条 Go 命令即可在本地运行,且无需 API key。 ## 为什么与众不同 - **幂等执行** — 重复的警报会返回原始的工作流运行结果。 - **有限重试** — 瞬态故障会进行重试,但不会演变成重试风暴。 - **熔断机制** — 严重的宕机会停止级联调用。 - **人工审批** — 高风险的流量变更绝不会在无人值守的情况下执行。 - **Prompt 注入防御** — 检索到的内容无法覆盖原有策略。 - **可审计性** — 每一个决策都会记录操作者、结果和证据。 - **回归评估** — 四个安全测试用例支持一键运行。 - **可选的真实 LLM** — 任何兼容 OpenAI 的 chat-completions API 都可以用来丰富诊断结果;确定性的控制逻辑依然具有决定权。 ## 运行说明 环境要求:Go 1.24+ ``` go run ./cmd/server ``` 打开 [http://localhost:8080](http://localhost:8080)。 或者使用 Docker: ``` docker build -t agent-ops-lab . docker run --rm -p 8080:8080 agent-ops-lab ``` ## 五分钟演示 1. 运行 **Transient payment timeout**(短暂支付超时)并检查重试和审批关卡。 2. 点击 **Replay same alert**(重放相同警报),观察去重指标的增加。 3. 运行两次 **Provider hard outage**(提供商严重宕机);第二次运行会被短路。 4. 运行 **Runbook prompt injection**(Runbook 提示词注入),验证在拦截后没有工具被触发。 5. 点击 **Run evaluation suite**(运行评估套件)以执行四个安全回归测试用例。 ## 可选的 LLM 增强 该实验室无需模型即可运行。如果希望通过兼容 OpenAI 的 endpoint 来丰富最终诊断结果: ``` export LLM_API_KEY="..." export LLM_BASE_URL="https://api.openai.com/v1" export LLM_MODEL="gpt-4.1-mini" go run ./cmd/server ``` Key 仅从进程环境变量中读取。切勿将其提交到代码库。 ## 架构 ``` flowchart LR Alert --> Normalize Normalize --> Runbook Runbook --> Telemetry Telemetry --> Policy{Policy gate} Policy -->|safe| Automate Policy -->|risky| Approval Policy -->|unsafe| Block Telemetry -->|repeated failure| Breaker[Circuit breaker] Automate --> Audit Approval --> Audit Block --> Audit Breaker --> Audit ``` 请参阅 [docs/architecture.md](docs/architecture.md) 了解信任边界和 API 的详细信息。 ## 工程检查 ``` make check ``` 这将运行格式化、静态分析、开启了竞态检测的测试以及确定性的评估套件。GitHub Actions 会在每个 pull request 中运行相同的检查关卡。 ## 面试探讨要点 - 为什么应该由模型提出诊断建议,而由代码掌握授权。 - 幂等性如何将重复交付从一场事故转化为一个可观测的指标。 - 为什么必须将重试预算和熔断器放在一起协同设计。 - 如何将 Agent 的异常场景转化为回归测试套件。 - 审计事件如何使人工审批和事后审查成为可能。 ## 路线图 - 将运行记录和审批持久化存储到 PostgreSQL 中。 - 添加 OpenTelemetry traces 和 Prometheus metrics。 - 对工具调用请求进行签名,并支持作用域受限的凭证。 - 添加异步审批回调。 - 根据带有版本的故障数据集评估模型输出。 ## 许可证 [MIT](LICENSE)
标签:AI智能体, EVTX分析, Go语言, Petitpotam, 安全防护测试, 容错机制, 日志审计, 程序破解, 请求拦截, 运维自动化