RAFT:面向故障排查智能体的有状态检索增强框架

RAFT:面向故障排查智能体的有状态检索增强框架

arXiv编号:arXiv:2609.20754v1 cs.AI

摘要

企业客服场景下故障排查智能体,需要从相似历史工单案例中检索可执行处理指导。但现有检索增强生成(RAG)系统将历史工单视作静态文档,忽略故障排查过程多阶段、带状态演进的本质特征。本文提出RAFT(Retrieval‑Augmented Framework for Troubleshooting Agents)有状态检索增强框架:将每一条已结案历史工单抽象为有向时间线条目链,在时间线条目粒度执行检索;定位与当前活跃工单中间状态相匹配的历史片段,返回锚定在匹配位置的完整父案例轨迹;配套可选的案例级图结构,通过可配置相似度表征关联不同工单案例。

本文对检索层做独立评测,无需部署完整生产级智能体系统。公开多阶段故障排查数据集十分稀缺,因此构建两套评测资源:一套基于Microsoft Learn Windows Server文档构建合成基准;另一套采用带有人工重复标签的真实Apache Jira工单。在工单处理的全部阶段,RAFT的Case‑(\mathcal{(\mathcal H)})it指标均优于普通RAG与GraphRAG基线,相比最优基线具备统计显著提升;Apache Jira真实数据集实验结果证明该优势可以迁移至真实业务工单。本文开源整套基准数据集、实现代码与Apache Jira评测集合。

关键词

故障排查智能体;有状态RAG;时间线检索;案例图;企业客服;工单检索

目录

  1. 引言
  2. 相关工作
  3. 问题定义
  4. RAFT框架
    • [4.1 索引构建模块](#4.1 索引构建模块)
      • [4.1.1 工单评估与过滤](#4.1.1 工单评估与过滤)
      • [4.1.2 时间线条目](#4.1.2 时间线条目)
      • [4.1.3 案例级图](#4.1.3 案例级图)
    • [4.2 检索模块](#4.2 检索模块)
  5. 实验
    • [5.1 合成开发基准](#5.1 合成开发基准)
    • [5.2 对比基线](#5.2 对比基线)
    • [5.3 评测指标](#5.3 评测指标)
    • [5.4 合成基准实验结果](#5.4 合成基准实验结果)
    • [5.5 Apache Jira人工标注真实数据评测](#5.5 Apache Jira人工标注真实数据评测)
  6. 结论
  7. 参考文献
  8. [附录A Microsoft Learn合成数据集](#附录A Microsoft Learn合成数据集)
    • [A.1 知识库构建](#A.1 知识库构建)
    • [A.2 工单案例生成](#A.2 工单案例生成)
    • [A.3 Wiki文档的作用](#A.3 Wiki文档的作用)
    • [A.4 小结](#A.4 小结)
  9. [附录B 工单提取:输出模型与工作流](#附录B 工单提取:输出模型与工作流)
    • [B.1 输出数据模型](#B.1 输出数据模型)
    • [B.2 基于智能体的工单提取工作流](#B.2 基于智能体的工单提取工作流)
      • [B.2.1 上下文预算与模型选型](#B.2.1 上下文预算与模型选型)
      • [B.2.2 有界增量处理](#B.2.2 有界增量处理)
      • [B.2.3 可编辑状态与选择性证据访问](#B.2.3 可编辑状态与选择性证据访问)
      • [B.2.4 最终审核与可追溯性](#B.2.4 最终审核与可追溯性)
      • [B.2.5 评估与下游策略](#B.2.5 评估与下游策略)
    • [B.3 索引构建流程](#B.3 索引构建流程)
  10. [附录C 补充实验](#附录C 补充实验)
    • [C.1 指标详情](#C.1 指标详情)
    • [C.2 基线配置](#C.2 基线配置)
    • [C.3 不确定性分析](#C.3 不确定性分析)
    • [C.4 查询鲁棒性实验](#C.4 查询鲁棒性实验)
    • [C.5 图模块贡献与敏感性分析](#C.5 图模块贡献与敏感性分析)
    • [C.6 附加实验](#C.6 附加实验)
    • [C.7 部署考量](#C.7 部署考量)
  11. [附录D Apache Jira评测数据集](#附录D Apache Jira评测数据集)

1 引言

大语言模型智能体已经广泛应用于软件工程、企业客服等领域。在企业客服故障排查场景,智能体需要基于大量历史已结案工单,协助处理新到来的问题工单。

  • 微调方案:可以注入领域知识,但计算开销高、仅支持开放权重模型,存在灾难性遗忘;新工单不断产生,需要周期性重训练。
  • RAG检索增强生成:推理阶段接入私有知识库,不需要修改模型权重,工程落地更实用。

传统通用RAG、GraphRAG存在适配痛点:故障排查工单是多阶段演进的复杂记录,包含异构、噪声的人工操作痕迹。检索需要做到:定位相似的调查中间状态;保留完整连贯案例轨迹;区分有效指导信息与无效记录;同时做好敏感信息管控。

通用GraphRAG离线抽取实体‑关系构建图,聚焦实体关联,没有显式建模调查工单随时间推进的过程;图构建成本高,检索逻辑和实体表示强耦合,模型迭代时适配成本高。

RAFT核心设计思路

将每一条历史结案工单建模为有向时间线条目链 ;不在完整工单粒度检索,而在单条时间线条目粒度做嵌入与检索。当活跃工单走到某个排查阶段,可以匹配历史工单处于同一中间状态的条目;返回以匹配点为锚点的完整历史案例轨迹,提供当前阶段战术指导,同时给出同类案例后续演进的战略上下文。配套可选案例级图,基于可配置工单属性做案例关联,拓展条目匹配之外的相关案例召回。

评测设计思路:独立评测检索层,而非端到端完整智能体。端到端评测依赖生产环境,复现对比困难;检索层可以脱离上层智能体脚手架,跨模型、跨工作流做可复现测试。评测目标:给定活跃工单当前全部信息,RAFT是否可以召回能够支撑诊断、解决问题的相似历史案例。

公开可用的多阶段故障排查带标签数据集稀缺,本文使用两套互补数据集:

  1. 合成数据集:基于Microsoft Learn Windows Server故障排查文档构建,用于受控开发;
  2. Apache Jira真实工单:使用人工标注重复工单标签,验证方法在真实数据上的迁移效果。

主要贡献

  1. 提出有状态RAG架构RAFT,将历史工单表达为有向时间线条目链;在中间排查状态粒度检索,返回锚定在匹配位置的完整父案例轨迹。
  2. 实现可选案例级图,使用可配置案例属性关联工单,实现条目匹配之外的案例拓展召回。
  3. 开源合成评测基准:826条客服工单,可复现的评测协议,可以模拟活跃工单排查过程中不同阶段的检索效果。
  4. 在合成数据集与Apache Jira真实工单开展评测;在工单全部排查阶段,RAFT的Case‑(\mathcal{(\mathcal H)})it指标优于普通RAG、GraphRAG基线,具备统计显著性;开源实现、基准、Jira评测集合。

2 相关工作

RAG、Agentic‑RAG、GraphRAG已有多篇综述。

  • 普通RAG将文档整体向量化检索;处理长时序演进的故障排查工单时,容易混入大量无关上下文,检索质量下降。
  • GraphRAG离线抽取实体与关系构建知识图;面向通用文档,不原生支持时序演进的工单调查流程 ,图构建开销大。
    故障排查、IT运维领域的RAG大多聚焦单轮静态问题查询;很少建模工单从上报、调查、定位根因、执行修复到结案的多阶段状态演进。RAFT区别:检索单元是工单内部时间线状态条目,而非完整工单或者实体节点,保留时序链路信息;案例图作为可选拓展模块。

3 问题定义

故障排查工单 C C C:随时间推进的多阶段调查记录,包含问题现象、诊断操作、观测、假设、根因定位、修复操作、结案结论。

  • 活跃工单 C a c t i v e C_{active} Cactive:正在处理,仅执行到部分排查阶段;缺少后续根因、修复步骤。
  • 历史结案工单集合KaTeX parse error: Can't use function '\(' in math mode at position 10: \mathcal{\̲(̲\mathcal{\(\mat...:全部流程完整结束的历史案例。
  • 时间线条目 e e e:工单内一个关键调查阶段的结构化记录,记录该时刻技术状态、操作、观测、中间假设。一条工单对应有序有向链 e 1 , e 2 , ... , e T e_1,e_2,...,e_T e1,e2,...,eT

检索任务 :给定活跃工单当前已有的时间线 { e 1 , ... , e t } \{e_1,...,e_t\} {e1,...,et},从历史库KaTeX parse error: Can't use function '\(' in math mode at position 10: \mathcal \̲(̲\mathcal{\(\mat...检索:

  1. 找到历史工单中,与 e t e_t et(活跃工单当前状态)最相似的时间线条目 e ′ e' e′;
  2. 返回该历史工单以 e ′ e' e′为锚点的后续完整轨迹 e ′ , e t + 1 ′ , ... e',e'_{t+1},... e′,et+1′,...,用于给当前排查提供战术与战略参考;
  3. (可选)借助案例级图拓展召回其他相关历史工单。

评测目标:检索返回集合是否包含能够帮助定位根因、给出可行修复步骤的历史案例。

4 RAFT框架

整体分为两大模块:索引构建模块检索模块

4.1 索引构建模块

输入原始历史工单原始文本记录;输出:时间线条目链索引;可选案例级关联图。

子流程:工单评估过滤 → 生成时间线条目 →(可选)构建案例级图。

4.1.1 工单评估与过滤

不是所有结案工单都具备参考价值。本步骤对原始工单做评估:

  1. 过滤无效工单:无明确根因、无可复现操作、噪声过大、无有效修复方案的案例;
  2. 保留具备可复用排查经验的工单;
  3. 输出工单级元信息:工单类型、产品版本、组件、环境标签、问题大类,用于后续案例图构建。
4.1.2 时间线条目

将有效工单拆解成有序的时间线条目链 e 1 , e 2 , ... , e T e_1,e_2,...,e_T e1,e2,...,eT。

单条时间线条目字段:

json 复制代码
{
  "entry_id": "唯一ID",
  "stage": "排查阶段标签(现象采集/假设验证/根因定位/修复)",
  "state_summary": "本阶段技术状态摘要",
  "actions": ["执行的诊断操作列表"],
  "observations": ["操作返回观测结果"],
  "hypothesis": ["当前阶段待验证假设"],
  "next_expected": "本阶段之后预期推进方向",
  "parent_entry_id": "上一条条目ID,构建有向链",
  "case_meta": "所属工单元数据"
}

每一条时间线条目独立生成Embedding向量;索引粒度为单条entry,不是完整工单 。同时保留条目之间的有向父子关联,检索命中某一条 e ′ e' e′之后,可以直接读取该条目往后整条后续轨迹。

关键:检索命中的是中间某一步状态,返回的是该点之后完整历史排查链路,而不是返回整个工单全部内容。

4.1.3 案例级图(可选模块)

基于工单元数据构建无向图 G c a s e G_{case} Gcase。

  • 节点:每一条过滤后的完整工单案例;
  • 边:基于可配置相似度规则(产品组件、问题类型、版本标签等)建立案例之间关联;

使用场景:当条目粒度检索召回不足时,从命中案例的图邻居拓展更多潜在相关工单;作为条目检索的补充,不替代条目级检索。

4.2 检索模块

输入:活跃工单截至当前 t t t步的时间线条目链,取最新条目 e a c t i v e , t e_{active,t} eactive,t。

  1. 将 e a c t i v e , t e_{active,t} eactive,t做Embedding,在时间线条目向量库做Top‑K向量相似度检索,得到候选时间线条目集合;
  2. 根据entry‑id回溯,取出每一个命中条目往后的整条历史轨迹,作为主检索结果;
  3. 【可选,开启案例图】取主命中对应的工单节点,读取图上邻居节点,拓展一批候选完整工单案例;
  4. 做结果重排、去重,输出最终检索集合,给到上层故障排查智能体。

设计优势:活跃工单只走到中间步骤,不需要完整复现最终问题现象,只需要匹配当前调查状态,就可以拿到历史后续完整排查路径。

5 实验

5.1 合成开发基准

数据集来源:Microsoft Learn Windows Server公开故障排查文档;自动生成826条模拟客服工单案例。

  • 每条工单具备完整多阶段时间线;
  • 评测协议:模拟工单推进过程,分别在排查的早期、中期、晚期不同阶段触发检索;
  • 标注金标准:每个阶段应当召回的参考历史案例集合。

附录A完整描述数据集生成流水线。

5.2 对比基线

  1. Vanilla‑RAG:传统RAG,把完整结案工单作为文档单元,做全文档粒度向量检索;
  2. GraphRAG:官方标准GraphRAG流水线,实体‑关系图,完整工单为文档单元;
  3. RAFT(w/o graph):RAFT仅条目检索,关闭案例级图;
  4. RAFT(full):完整RAFT,条目检索 + 案例级图拓展。

5.3 评测指标

附录C.1完整定义

  1. Case (\mathcal{(\mathcal H)})it:检索返回集合中,是否至少包含1条金标准相关历史案例;布尔0/1,整条查询粒度。核心主指标。
  2. Root Cause Coverage(根因覆盖率):检索集合内案例能够覆盖真实根因的比例。
  3. Resolution Steps Coverage(解决步骤覆盖率):检索集合案例中可复用修复步骤的召回覆盖程度。

评测设置:模拟工单在不同排查阶段(早期、中期、后期)分别执行检索,统计各阶段指标。

5.4 合成基准实验结果

  1. 在工单排查早期、中期、晚期全部阶段:RAFT‑full与RAFT(w/o graph)的Case‑(\mathcal{(\mathcal H)})it均高于Vanilla‑RAG、GraphRAG基线,具备统计显著提升。
  2. 工单早期(信息不充分):案例图拓展模块带来小幅增益;中后阶段条目检索本身已经效果很好,图模块增益有限。
  3. Root Cause Coverage、Resolution Steps Coverage同步优于基线。

现象解释:传统RAG以完整工单为检索单元;活跃工单还没有出现最终根因现象,完整工单文档向量相似度低,很难召回。RAFT匹配中间排查状态条目,在尚未出现最终现象的早中期阶段依然可以命中相似历史。

补充消融:

  • 查询鲁棒性:对摘要改写、表述变体具备鲁棒性;
  • 图敏感性:图模块主要增益集中在工单排查早期;关闭图模块性能下降幅度有限;说明条目粒度检索是核心能力,图为补充增强。

5.5 Apache Jira人工标注真实数据评测

数据集:Apache开源项目Jira真实issue,带有人工标记的重复issue标签(duplicate);真实业务噪声高,工单流程不规范。

  • 任务:给定一条活跃issue,检索历史重复/高度相似的历史issue。
  • 结果:RAFT依然取得优于基线的指标,验证该框架能力可以迁移到真实世界非合成工单。

真实数据缺少细粒度阶段金标准标签,结果给出方向性证据,不做严格统计显著性断言。

6 结论

本文提出RAFT,面向故障排查智能体的有状态检索增强RAG框架。

  1. 将历史结案工单拆解为有序时间线条目链,在中间排查状态条目粒度检索;命中后返回锚定在匹配点之后的完整历史排查轨迹。
  2. 配套可选案例级图,用于条目检索召回不足时拓展相关案例。
  3. 在826条合成多阶段故障排查基准、Apache Jira真实issue数据集验证:相比Vanilla‑RAG、GraphRAG,Case‑(\mathcal{(\mathcal H)})it、根因覆盖率、解决步骤覆盖率指标提升;尤其在工单排查早中期优势明显。
    开源:数据集、代码、Apache Jira评测集合:https://github.com/microsoft/RAFT

未来方向:

  1. 将检索层和完整故障排查智能体做端到端联合评测;
  2. 优化时间线条目自动抽取质量;
  3. 增加敏感信息过滤、权限管控模块,适配企业生产部署。

7 参考文献

完整参考文献查阅原始arXiv网页:https://arxiv.org/html/2609.20754v1

附录A Microsoft Learn合成数据集

A.1 知识库构建

从Microsoft Learn Windows Server官方故障排查文档抽取知识片段,构建知识库。

A.2 工单案例生成

基于知识库,模拟完整故障排查流程,自动生成826条多阶段模拟工单;每条工单包含完整时间线、根因、修复步骤;生成脚本开源。

A.3 Wiki文档的作用

Wiki作为背景参考知识,不直接作为检索文档;用于工单生成时保证技术事实正确性。

A.4 小结

合成数据集优势:具备分阶段金标签,适合做受控消融;局限是为模拟生成,和真实企业工单存在分布差异。

附录B 工单提取:输出模型与工作流

B.1 输出数据模型

定义JSON Schema:工单元信息、时间线条目完整字段、父子关联ID,用于把原始工单文本转成RAFT索引需要结构化时间线链。

B.2 基于智能体的工单提取工作流

原始工单(聊天记录、Jira issue文本)输入智能体,输出结构化时间线条目链。

B.2.1 上下文预算与模型选型

设置上下文窗口预算;大模型选型建议;超长工单做分片处理。

B.2.2 有界增量处理

超长工单不一次性全部送入,增量滚动处理,逐步生成时间线条目链,控制token开销。

B.2.3 可编辑状态与选择性证据访问

中间状态可编辑;智能体可以选择性读取原始证据片段,不需要加载全部原始工单。

B.2.4 最终审核与可追溯性

输出结构化时间线,保留每一条条目对应的原始文本片段引用ID,方便人工审核溯源。

B.2.5 评估与下游策略

对提取出的时间线条目做质量打分;低质量工单执行过滤(4.1.1过滤流程)。

B.3 索引构建流程

提取得到结构化时间线之后:条目Embedding生成、入库;元数据收集;可选构建案例级图;完整索引流水线伪代码、参数见附录。

附录C 补充实验

C.1 指标详情

Case‑(\mathcal{(\mathcal H)})it、Root Cause Coverage、Resolution Steps Coverage完整数学定义。

C.2 基线配置

Vanilla‑RAG、GraphRAG完整参数、Embedding模型、Top‑K设置。

C.3 不确定性分析

Bootstrap重采样,报告各指标置信区间、统计显著性检验设置。

C.4 查询鲁棒性

对时间线摘要做改写、复述、换种表述,测试检索指标下降幅度。

C.5 图模块贡献与敏感性分析

开启/关闭案例图;不同图边构建阈值下指标变化;验证图模块是补充增强,条目检索是核心。

C.6 附加实验

不同Top‑K取值消融;Embedding模型选型消融;时间线条目截断策略消融。

C.7 部署考量

生产部署建议:工单提取开销、索引更新频率、缓存策略、敏感信息脱敏、权限隔离。

附录D Apache Jira评测数据集

Apache Jira评测集合说明;issue筛选规则;人工duplicate标签使用说明;数据集开源位置。


相关推荐
YOLO_DATA1 小时前
无人机高速公路道路缺陷数据集 道路损伤数据集 公路裂缝识别 AI大疆数据集 10798期
人工智能·深度学习·yolo·机器学习·cnn
一木 之林1 小时前
深度学习-图像分类到目标检测与SSD-129-134集精讲
人工智能·深度学习
蓝速科技1 小时前
会议室门牌签到功能选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
人工智能AI技术1 小时前
Agent Harness工程组件漫谈:拆解带文件读取能力的子Agent项目分析助手
人工智能
这张生成的图像能检测吗1 小时前
(论文速读)IPFP:把图像特征反投影到 3D,用单分支完成多模态训练
人工智能·计算机视觉·点云·多模态融合·3d技术·三维感知·2d相机
jekc8681 小时前
TabbyAPI+ExLlama
人工智能
YOLO数据集集合1 小时前
无人机航拍地面目标检测数据集 | 无人机航拍 地面目标检测 坦克识别 人员检测 俯视视角 目标检测9092期
人工智能·目标检测·计算机视觉·目标跟踪·无人机航拍·军事图像·坦克识别
AI多Agent协作实战派1 小时前
【AI探索历程18】把“半年配置“装进一个zip
人工智能