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 | ## 截图 **模拟流量后的仪表盘** ![仪表盘概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/06/06a32da849a262f7f231d7b309a4bd756b5c986d23369e49559942c104ddd4c0.png) **检测到的事件及其严重级别** ![检测到的事件](https://raw.githubusercontent.com/siddiquafathima/agentic-ops-observability/main/screenshots/incidents.png) **AI 驱动的根因分析 — 实时模型调用** ![AI 根因分析](https://static.pigsec.cn/wp-content/uploads/repos/cas/cc/ccaa48c8580b6d75ec0e5c85a317ad5ea3162c999a52731087bb83ccb31eb989.png) *诊断结果是通过 NVIDIA NIM 实时调用 Llama-3.1-8B 生成的(注意 `source: live_api`),而非使用模板。* **API 文档 (FastAPI Swagger UI)** ![API 文档](https://static.pigsec.cn/wp-content/uploads/repos/cas/c3/c3d68109d98179623c148f3c621f53a1aeeeed62eca564df1ef793db0fd90695.png) ## 架构 ``` 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监控, 可观测性栈, 多智能体, 根因分析, 自定义请求头, 请求拦截, 逆向工具