ASE 2026 Sustainable AIOps

OpsAgent: An Evolving Multi-agent System for Incident Management in Microservices

Yu Luo1, Jiamin Jiang1, Jingfei Feng1, Lei Tao1, Qingliang Zhang1, Xidao Wen2, Yongqian Sun1,*, Shenglin Zhang1, Tong Liu3, Wenjie Zhang3, Dan Pei4

1Nankai University   2Alibaba Cloud   3Lenovo   4Tsinghua University

ASE 2026

41st IEEE/ACM International Conference on Automated Software Engineering, Munich, Germany

* Corresponding author

Shown above is the ASE 2026 camera-ready author list; the arXiv preprint (v3) lists a shorter author set.

OpsAgent teaser figure
OpsAgent turns a lightweight LLM into a deployable and sustainable incident management system through a training-free data processor, multi-agent collaboration, and self-evolution.

01 THE PAPER

Abstract

Incident management (IM) is central to the reliability of large-scale microservice systems. Yet manual IM, where on-call engineers examine metrics, logs, and traces, is labor-intensive and error-prone in the face of massive and heterogeneous observability data. Existing automated IM approaches often struggle to generalize across systems, provide limited interpretability, and incur high deployment costs, which hinders adoption in practice. In this paper, we present OpsAgent, a lightweight, self-evolving multi-agent system for IM that employs a training-free data processor to convert heterogeneous observability data into structured textual descriptions, along with a multi-agent collaboration framework that makes diagnostic inference transparent and auditable. To support continual capability growth, OpsAgent also introduces a dual self-evolution mechanism that integrates internal model updates with external experience accumulation, thereby closing the deployment loop. Comprehensive experiments on the OPENRCA benchmark demonstrate state-of-the-art performance and show that OpsAgent is generalizable, interpretable, cost-efficient, and self-evolving, making it a practically deployable and sustainable solution for long-term operation in real-world microservice systems. Notably, its deployment in Lenovo's production environment further validates its effectiveness in real-world industrial settings.

Project Overview

Training-Free Data Processor

OpsAgent first converts metrics, logs, and traces into structured textual descriptions without system-specific training, preserving useful anomaly, log, and latency evidence while keeping deployment cost low.

Auditable Multi-Agent Diagnosis

An intent interpreter, orchestrator, and specialized agents cooperate through agent profiles and cross-review, turning root-cause diagnosis into a transparent workflow that OCEs can inspect and act on.

Dual Self-Evolution Loop

The system improves through internal PPO-based optimization and external reflection-based experience accumulation, closing the loop between online incident handling and offline capability growth.

02 PROJECT FILM

One Video, and You Know What We Built.

See how OpsAgent transforms heterogeneous observability data into transparent diagnosis and sustainable self-evolution.

03 THE FRAMEWORK

Method

04 FOLLOW THE EVIDENCE

Case Walkthrough

From Observability Signals to an Actionable Diagnosis

Follow an order-service failure through evidence preparation, specialist diagnosis, cross-review, and a report engineers can act on. Then see how the framework learns from completed incidents.

Turn the ticket into a time window and diagnostic tasks

Incident ticket
  • The order-processing application has repeated request failures between 09:10 and 09:20 on January 18, 2026.
  • The ticket asks for the root cause and the affected component.
Diagnostic task
  • The intent interpreter extracts the time window and requested tasks, including failure triage and root-cause localization.
  • The orchestrator coordinates task-specific agents using evidence from that window.
One request, coordinated diagnostic roles

OpsAgent separates understanding the request from executing the diagnosis. Agent profiles define each role's task and inputs, keeping the final answers tied to the incident the user asked about.

Step 1 of 6

Figure 6 supplies the incident example. Sections 3.2-3.4 explain the processing, review, and learning mechanisms; the learning step is not a measured training run for this individual case. View original figure

05 EVALUATION

Experimental Results

Results at a Glance

OPENRCA results with Qwen2.5-14B-Instruct-1M. Correct and Partial are the paper's diagnosis scores, averaged across the evaluated systems.

Diagnosis quality

16.54% / 41.35%

Average Correct / Partial

The full OpsAgent configuration combines data processing, cross-review, and self-evolution.

Table 1

Diagnosis time

71.18 s

Average time per incident

Measured for the same seed model and configuration. Runtime depends on the model and deployment setup.

Table 1

Self-evolution

8.27% to 16.54%

Average Correct

Correct doubles as the share of cases used for self-evolution increases from 0% to 60%.

Table 3

06 START FROM THE CODE

Run the Code

Set up one OPENRCA system first. The research script uses local model and data paths that must be configured for your machine.

Before running

  1. Use Python 3.10 or newer, install requirements.txt, and choose a PyTorch build that matches your hardware.
  2. Download the telemetry data from the README and configure the model, dataset, and query paths. Also set the intent interpreter's model path.
  3. Prepare the reflection files, replace the query path in main.py, create the output directories, and review the case-selection loop.
Run after setup
# From the configured repository directory
python main.py

Output

The script saves diagnostic answers and supporting reasoning to CSV files for the selected incident queries.

Repository entry point; local data and model setup are required.

07 FREQUENTLY ASKED

Frequently Asked Questions

What is OpsAgent?

OpsAgent is a lightweight, self-evolving multi-agent system for incident management in microservice systems, published in the ASE 2026 Industry Showcase track. It turns heterogeneous observability data into structured textual descriptions through a training-free data processor, and coordinates specialized agents that produce transparent, auditable root-cause reports for on-call engineers.

What problem does it solve, and how?

Manual incident management is labor-intensive and error-prone because metrics, logs, and traces are massive and heterogeneous. OpsAgent first prepares evidence with a training-free processor — no system-specific model training — then splits diagnosis among task-specific agents for anomaly detection, failure triage, and root-cause localization, whose answers are cross-reviewed before reporting. Separately from this fixed pipeline, dual self-evolution improves the system over time: internal PPO fine-tuning of the agents and external reflection that accumulates reusable incident knowledge.

What was evaluated, and what were the results?

On the OPENRCA benchmark with Qwen2.5-14B-Instruct-1M as the seed model, the full system averages 16.54% Correct and 41.35% Partial diagnoses (Table 1), with 71.18 seconds per incident measured for that configuration. Increasing the share of incidents used for self-evolution training from 0% to 60% raises average Correct from 8.27% to 16.54% (Table 3). Runtime depends on the model and deployment setup and is not a cross-hardware guarantee.

How can I use it, and what are its limitations?

The research code is at github.com/Johnn13/OpsAgent; the repository has no license file yet, so check with the maintainers before reuse. This OpsAgent is an academic incident-diagnosis system and is unrelated to Google Cloud's Ops Agent telemetry collector. In the paper's deployment case, OpsAgent produces the diagnosis and engineers decide on and perform the remediation.

08 CITE THIS WORK

BibTeX

@article{luo2025opsagent,
  title={OpsAgent: An Evolving Multi-agent System for Incident Management in Microservices},
  author={Luo, Yu and Jiang, Jiamin and Feng, Jingfei and Tao, Lei and Zhang, Qingliang and Wen, Xidao and Sun, Yongqian and Zhang, Shenglin and Pei, Dan},
  journal={arXiv preprint arXiv:2510.24145},
  year={2025}
}