专栏名称: 字节跳动技术团队
字节跳动的技术实践分享
目录
相关文章推荐
51好读  ›  专栏  ›  字节跳动技术团队

ByteBrain团队FSE25 | 基于LLM的自动化Oncall升级

字节跳动技术团队  · 公众号  · 架构  · 2025-05-12 11:01

正文

请到「今天看啥」查看全文


TickIt 的方法设计

TickIt 使用了字节的豆包(doubao)模型,旨在借助大语言模型(LLM)强大的自然语言处理能力,实现高效、准确的Oncall升级任务。该框架主要包含基于多分类的Oncall升级(Multi-class escalation)、重复Oncall分析(Escalation deduplication)和基于类别引导的微调(Category-guided fine-tuning)这三个核心功能模块。

基于多分类的Oncall升级

在Oncall升级功能中,TickIt 将Oncall升级问题视作多分类任务。依据产研&SRE&客户关系的不同职责和关注重点,预先定义了系统故障、客户投诉、资产损失等多种主题类别。而对于普通Oncall,统一归为 “其他” 类别(无需升级处理)。为使大语言模型更好地完成Oncall多分类任务,TickIt 也在System Prompt中采用了一些技术来提升其分类表现,例如赋予其任务角色、思维链(COT)等。例如,在判断一个Oncall是否属于系统故障时,模型会分析对话内容中提到的故障现象、影响范围等因素,并逐步解释做出该分类决策的原因。这种方式增强了分类结果的逻辑性和可解释性,让人们更易理解和信任模型的判断。此外,TickIt 通过Few-shot learning,辅助模型理解不同的Oncall类别。这些示例特别对易混淆的场景进行了举例示范,从而帮助模型更准确地区分各类Oncall的特征。

TickIt采用在升级任务中所采用的System Prompt格式如下图所示

重复Oncall分析

重复Oncall分析是 TickIt 的另一个功能。当一个Oncall被判定需要升级时,TickIt 会对所有处于“Pending”状态的Oncall进行检查,以确定是否有类似问题已被升级。为此,TickIt 将Oncall在其生命周期中的状态抽象为有限状态机。当客户提交Oncall工单并被接受后,该Oncall对象进入 “Active” 状态。每当Oncall中有新的对话内容时,最新的对话记录会触发 TickIt 启动新一轮分析,此时将其设置为进入 “Analyzing” 状态。TickIt 会运用上述的基于多分类的升级方法,判断当前Oncall是否需要升级。如果被分类为 “其他”,则其状态返回 “Active”,等待下一轮对话交互;若被分类为预设好的严重问题类型中,则进入 “Pending” 状态,此时TickIt会检查是否有相似的Oncall已经被升级。

在判断Oncall是否重复时,TickIt 首先利用大语言模型提取Oncall中的问题描述,并借助doubao-embedding model将这些问题描述转化为向量表示。通过consine similarity来计算向量之间的相似度,并通过一个阈值参数 𝜃 来判断当前Oncall与已升级的Oncall是否相似(𝜃通过参数选择实验确认,在本方法中𝜃=0.88)。对于TicketIt判定当前需要升级的Oncall,如果历史已有升级且相似的Oncall,则会将当前Oncall与对应的历史Oncall进行关联,并不再重复告警(仅在关联工单中体现)。同时,TickIt 会将当前Oncall与已重复会利用大语言模型重写问题描述,从语义上更全面地归纳该类问题的共性特征,避免因个别Oncall工单描述的局限性而导致对问题的理解偏差。







请到「今天看啥」查看全文