siddiquafathima/agentic-ops-observability
GitHub: siddiquafathima/agentic-ops-observability
一款面向多智能体LLM系统的可观测性与事件智能平台,集成幻觉检测、阈值告警和AI驱动的根因分析,帮助团队快速定位和修复生产环境中的AI故障。
Stars: 0 | Forks: 0
# Agentic Ops — 可观测性与事件智能平台
这是一款专为**多智能体 LLM 系统**设计的监控与事件响应平台。它能够监控模拟的
LangChain/LangGraph 风格智能体集群(Router → Specialist Agents → Tools),使用 LLM-as-judge 模式持续评估
响应质量,检测各种事件(幻觉激增、延迟恶化、工具错误、成本超支),并利用**AI 根因分析引擎**来解释
*什么*地方出错了、*为什么*出错、其*对预算的影响*以及*如何修复* —— 从而无需工程师手动
翻阅日志。
**在线演示流程:** 打开仪表盘 → 点击“Simulate 20 Agent Requests” → 实时观察指标/事件
数据的生成 → 在任意事件上点击“Run AI Root Cause Analysis”。
## 为什么做这个项目(JD 映射)
| JD 要求 | 实现位置 |
|---|---|
| 多智能体系统的可观测性 (LangChain/LangGraph/LangSmith) | `app/agents.py` — 带有结构化 trace 的 Router + Specialist 智能体模式 |
| Prompt trace、token 成本、延迟追踪 (Galileo/LangSmith 风格) | `app/db.py` 的 traces 表 + `app/metrics.py`(p50/p95 延迟、单次请求成本) |
| 持续评估 RAG 准确率、幻觉率、智能体安全性 | `app/evaluator.py` — LLM-as-judge 将每个响应分类为 SUPPORTED/UNSUPPORTED |
| Loki (日志)、Grafana (仪表盘)、Tempo (trace)、Prometheus/Mimir (指标) | `observability-stack/` — 完整的 docker-compose + 配置文件(dashboard-as-code JSON、抓取配置、日志 pipeline) |
| 生产环境支持与事件管理 | `app/incident_detector.py`(基于阈值的告警)+ `app/rca_engine.py`(AI 辅助诊断)+ 事件仪表盘 UI |
## 截图
**模拟流量后的仪表盘**

**检测到的事件及其严重级别**

**AI 驱动的根因分析 — 实时模型调用**

*诊断结果是通过 NVIDIA NIM 实时调用 Llama-3.1-8B 生成的(注意 `source: live_api`),而非使用模板。*
**API 文档 (FastAPI Swagger UI)**

## 架构
```
User query → Router Agent → Specialist Agent (Support/Billing/Research)
│
Tool Call (KB search)
│
LLM generates response
│
LLM-as-Judge evaluates (hallucination check)
│
Trace stored (SQLite here → Loki/Tempo in prod)
│
Metrics aggregated (→ Prometheus/Grafana in prod)
│
Incident rules fire on threshold breach
│
AI RCA Engine explains root cause + cost impact
│
Dashboard (this repo's HTML,
or Grafana in the docker-compose stack)
```
本仓库特意包含**两个层级**:
1. **`app/` + `dashboard/`** — 一个完全可用、零依赖的演示(SQLite + FastAPI + HTML/Chart.js),
任何人都可以在 2 分钟内运行,无需 Docker 或云账号。这是你进行实时演示的部分。
2. **`observability-stack/`** — 真正的生产环境目标:通过
docker-compose 部署的 Grafana + Loki + Tempo + Prometheus,包含 dashboard-as-code 以及抓取/日志传送配置。这是你在面试中用来
详细讲解的内容,用以证明你熟悉 JD 中要求的实际技术栈,尽管拉取这些
Docker 镜像需要使用你自己的机器(访问 Docker Hub),而不是在这个沙盒构建环境中。
## 本地运行(约 2 分钟)
```
pip install -r requirements.txt
# 可选:为 RCA engine 启用 real LLM calls
cp .env.example .env # then paste NVIDIA_API_KEY (free at build.nvidia.com) or OPENAI_API_KEY
cd app
uvicorn main:app --reload --port 8000
```
然后在浏览器中直接打开 `dashboard/index.html`(双击它,或者在
`dashboard/` 文件夹下使用 `python -m http.server` 这样的简单本地服务器)。
点击 **Simulate 20 Agent Requests** —— 你将看到 trace、指标,并且(通常)至少会出现一个
事件,因为模拟器有意注入了真实的故障模式(缓慢的工具
调用、偶尔出现的幻觉答案、工具错误),从而确保总有真实的信号可供分析。
运行测试:`pytest tests/ -v`
### 可选:运行真正的可观测性技术栈
```
cd observability-stack
docker-compose up -d
# Grafana 位于 http://localhost:3000
```
## 关于“真实 API 与模拟”设计的说明
如果设置了 `NVIDIA_API_KEY` 或 `OPENAI_API_KEY`,RCA 引擎和幻觉判断器就会调用真实的 LLM;如果未设置,则
**回退到真实的模拟响应**(参见 `app/llm_client.py`)。这是
一个深思熟虑的设计决定,而非权宜之计:如果一个可观测性工具在其依赖的 LLM
API 宕机时也随之崩溃,那它就是一个糟糕的可观测性工具。优雅降级本身就是
面试中的一个亮点。
## 在面试中该怎么说
- “我端到端地构建了可观测性逻辑 —— 包括 trace 收集、指标聚合、基于阈值的
告警,以及一个能够自动执行根因分析的 AI 智能体。”
- “我对其进行了特殊设计,使得应用程序在 LLM API 不可用时能够优雅降级 —— 这对于
不能自身成为单点故障的运维工具来说至关重要。”
- “我还编写了代码化的生产环境部署方案 —— 包括 Grafana 仪表盘、Prometheus 抓取配置,
以及 Loki/Promtail 日志 pipeline —— 这与实际公司技术栈中的运行方式完全一致。”
标签:AI可观测性, AV绕过, FastAPI, LLM监控, 可观测性栈, 多智能体, 根因分析, 自定义请求头, 请求拦截, 逆向工具