praveenpandey-ai-researcher/ira-incident-response-agent

GitHub: praveenpandey-ai-researcher/ira-incident-response-agent

这是一个基于多代理架构的生产事故自动调查系统,通过证据优先推理来分析日志和指标,从而避免幻觉并确定根本原因。

Stars: 0 | Forks: 0

# Incident Response Agent ![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg) ![License](https://img.shields.io/badge/license-MIT-green.svg) ## 📋 概述 **Incident Response Agent** 是一个旨在通过分析日志、指标、警报和聊天数据来自动调查生产事故的代理系统。该代理不会产生推测性结论,而是根据确凿的证据验证每一个主张,并在信心不足时安全地降级为不确定结果。 ### 🎯 核心理念 - **证据优先推理** – 每个主张都可追溯到确凿证据 - **防止幻觉** – 不接受毫无根据的假设 - **模块化设计** – 具有严格契约的职责明确的代理 - **安全故障模式** – 明确的“不确定”结果,绝无静默失败 ## 🔍 问题背景 现代事故响应要求工程师在时间压力下手动关联多个数据源: - 📊 应用和服务日志 - 📈 系统和业务指标 - 🚨 告警信号 - 💬 人员聊天或运行手册上下文 手动调查**缓慢**、**容易出错**,并且在证据微弱或相互矛盾时,往往会导致**幻觉般的根本原因**。 ## ✨ 解决方案 该系统采用**多代理架构**,其中每个代理都有严格定义的职责和严格的输入/输出契约,从而确保: - 明确的主体验证 - 确定性的工具行为 - 可解释的输出 - 健壮的调查工作流 ## 🏗️ 代理架构 ### 1. **Triage Agent** 确定事故是否存在,对严重程度和范围进行分类,并建立初步的调查边界。 ### 2. **Forensics Agent** 分析日志、指标、警报和聊天数据,以检测异常、时间相关性并提取具体的证据信号。 ### 3. **Hypothesis Agent** 生成潜在的根本原因假设,将每个假设与观察到的证据联系起来,并生成结构化的、可测试的主张。 ### 4. **Verifier Agent** 根据确凿证据验证每个假设,拒绝没有根据的主张,并将模棱两可的结果标记为**Inconclusive**(不确定)。 ## 🔄 调查工作流 ``` 1. Load structured and unstructured input data ↓ 2. Detect anomalies in logs and metrics ↓ 3. Extract entities and correlate signals across sources ↓ 4. Construct chronological incident timeline ↓ 5. Generate root-cause hypotheses ↓ 6. Verify claims using explicit evidence references ↓ 7. Produce final, explainable incident report ``` ## 📁 项目结构 ``` incident-response-agent/ ├── main.py # Entry point ├── app.py # Application logic ├── README.md # This file ├── requirements.txt # Dependencies │ ├── agents/ # Multi-agent investigation system │ ├── triage_agent.py # Incident classification │ ├── forensics_agent.py # Evidence extraction │ ├── hypothesis_agent.py # Root-cause generation │ └── verifier_agent.py # Claim validation │ ├── tools/ # Utility tools │ ├── file_loader.py # Load input data │ ├── log_search.py # Query logs │ ├── metrics_parser.py # Parse metrics │ ├── anomaly_detector.py # Detect anomalies │ ├── entity_extractor.py # Extract entities │ └── runbook_engine.py # Execute runbooks │ ├── state/ # State management │ └── graph.py # Investigation graph │ ├── logs/ # Sample incident logs │ ├── auth.log │ ├── payments.log │ └── orders.log │ ├── gold/ # Test fixtures │ └── expected.json # Expected outputs │ └── tests/ # Test scenarios └── test_scenarios.md ``` ## 🚀 快速开始 ### 环境要求 - Python 3.9+ - pip(Python 包管理器) ### 安装 ``` # 克隆仓库 git clone cd incident-response-agent # 安装依赖 pip install -r requirements.txt ``` ### 运行系统 ``` python main.py ``` ### 预期输出 系统将生成: - ✅ 带有时间戳的结构化事故时间线 - ✅ 严重程度和影响分类 - ✅ 带有证据引用的根本原因分析 - ✅ 当证据不足时显示“Inconclusive”结果 ## 📊 评估结果 该 Agentic Incident Response 系统根据预定义的黄金标准用例(`gold/expected.json`)和一组 12 个鲁棒性场景进行了评估。 ### 1. **Timeline Accuracy** ✓ 100% | 指标 | 数值 | |--------|-------| | **定义** | 在 ±2 分钟容差范围内正确识别的预期时间线锚点的百分比 | | **结果** | 6 / 6 个关键锚点匹配 (100%) | | **方法** | 将代理生成的时间线事件与黄金标准用例中的 `expected_timeline_anchors` 进行比较 | ### 2. **Evidence Coverage** ✓ 100% | 指标 | 数值 | |--------|-------| | **定义** | 由明确证据引用(日志、指标、警报、聊天)支持的主要主张的百分比 | | **结果** | 100% 的严重程度、开始时间、影响和根本原因主张都包含证据引用 | | **方法** | Verifier agent 会拒绝任何缺乏证据的主张 | ### 3. **Hallucination Rate** ✓ 0% | 指标 | 数值 | |--------|-------| | **定义** | 在没有支持证据的情况下提出的主张的百分比 | | **结果** | 0% — 未检测到幻觉 | | **方法** | 所有假设和结论均由 Verifier Agent 验证;缺乏根据的主张被拒绝或标记为不确定 | ### 4. **Tool-Call Correctness** ✓ 100% | 指标 | 数值 | |--------|-------| | **定义** | 产生有效、预期输出的工具调用的百分比 | | **结果** | 所有工具类别均为 100% | | **覆盖的工具** | 文件加载、日志搜索、指标解析、异常检测、实体提取、运行手册应用 | | **方法** | 具有明确输入/输出契约的确定性工具;故障安全传播,不会出现静默错误 | ### 5. **Robustness Across Scenarios** ✓ Passed | 指标 | 数值 | |--------|-------| | **摘要** | 代理在部分数据、噪声输入、冲突信号和缺失源的情况下表现正确 | | **结果** | 在模糊情况下,系统正确降级为“Inconclusive”,而不是幻觉出根本原因 | ## 🛡️ 设计原则 1. **证据优先推理** – 每个主张都由确凿证据支持 2. **确定性工具行为** – 可重现、可预测的工具调用 3. **模块化、可测试的代理** – 关注点清晰分离 4. **可解释的输出** – 每个结论都有据可依 5. **安全故障模式** – 无推测性结论或静默失败 ## 🎓 关键保证 ✅ **每个主张均可追溯**至确凿证据(日志、指标、警报或聊天) ✅ **拒绝不受支持的假设** – 不接受部分证据 ✅ **无静默失败** – 明确的错误处理和降级 ✅ **防止推测性结论** – 强制执行信心阈值 ## 许可证 本项目采用 MIT 许可证。详情请参见 LICENSE。 ## 🎯 关键要点 **Incident Response Agent** 展示了一种可靠且可解释的自动化事故调查方法。通过执行严格的证据验证和代理级别的问责制,该系统: - **避免幻觉**,即使在输入不完整和有噪声的情况下 - **保持鲁棒性**,能够应对各种数据源和场景 - **提供可解释的推理**,并附带完整的证据链 - **自然扩展**,得益于模块化、可测试的代理架构 *Built with 🔍 for evidence-driven incident response.*
标签:AIOps, C2, CIDR输入, incident-response, LLM, MIT License, PyRIT, Python, Unmanaged PE, 人工智能, 告警聚合, 多智能体系统, 故障排查, 无后门, 智能运维, 根因分析, 用户模式Hook绕过, 监控指标, 自动化调查, 证据链, 逆向工具