## Memo
## Memo with LLM
### 論文情報
- **論文のタイトル**: PromAssistant: Leveraging Large Language Models for Text-to-PromQL
- **著者と所属**: Chenxi Zhang, Bicheng Zhang, Dingyu Yang, Xin Peng, Miao Chen, Senyu Xie, Gang Chen, Wei Bi, Wei Li
- **カンファレンス/ジャーナル名**: ArXiv(プレプリント)
- **発表年**: 2025年
### 論文概要
この論文は、エンジニアがPrometheus監視システムにおいて自然言語でメトリクスデータと対話できるようにすることで、メトリクス照会を簡素化することを目的としている。PromAssistantという大規模言語モデルベースのtext-to-PromQLフレームワークを提案し、知識グラフと大規模言語モデルの協調推論により、自然言語の質問をPromQLクエリに変換する。
### 詳細解説
#### 問題設定
現代のオンラインサービスシステムの複雑性が増す中、システムの状態と動作を理解することがシステムの信頼性と安定性を確保するために不可欠となっている。エンジニアは通常、様々な分析目的を達成するためにドメイン固有言語(DSL)クエリを手動で書くことでメトリクスデータと対話している。しかし、これらのクエリを書くことは、エンジニアが高いプログラミングスキルを持ち、システムのコンテキストを理解する必要があるため、困難で時間がかかる作業である。
#### 提案手法
PromAssistantは、知識グラフを使用してオンラインサービスシステムの複雑なコンテキストを記述し、大規模言語モデル(LLM)と知識グラフの協調推論により、エンジニアの自然言語質問をPromQLクエリに変換するフレームワークである。具体的には、以下の手順で動作する:
1. **入力自然言語質問の解析**: ユーザーの意図を理解し、質問内の重要な情報を取得
2. **知識検索**: 知識グラフ上で質問に関連するメトリクス知識とシステムコンポーネント知識を検索
3. **PromQLクエリ生成**: 検索された知識をコンテキストとしてLLMに供給し、正確なPromQLクエリを生成
#### 新規性
この研究の主な新規性は以下の点にある:
- text-to-PromQLタスクの初の研究である
- **既存のcode generationやtext-to-SQLとは異なり、メトリクスクエリは特定のシステムコンテキストと密接に結びついているという特徴を考慮**
- 知識グラフとLLMの協調推論によるDSL生成フレームワークの先駆的提案
- 歴史的データに依存しない手法で、新しい障害にも対応可能
#### 実験設定
評価のために、オープンソースのマイクロサービスベースのオンラインサービスシステムに基づいて、初のtext-to-PromQLベンチマークデータセットを手動で構築した。このデータセットには280個の手動で構築された質問-PromQLクエリペアが含まれている。最も複雑なPromQLクエリは47トークン(メトリクス名、メトリクスラベル、メトリクスラベル値、演算子、関数などを含む)を含んでいる。
実装にはPython 3.10、[[Neo4j]] 5.14.0、[[ElasticSearch]] 8.11.0を使用し、メトリクスデータ、トレースデータ、システム配置記録に基づいてシステムコンテキスト知識グラフを構築した。最終的な知識グラフには3,356個のエンティティと43,405個の関係が含まれている。
評価指標として以下の3つを採用:
- **MetricAcc**: 正しいメトリクスを使用したPromQLクエリの割合
- **SyntaxAcc**: 構文的に正しいPromQLクエリの割合
- **ExactAcc**: 完全に正確なPromQLクエリの割合
#### 実験結果
PromAssistantは2つのLLM(GPT-4-TurboとDeepSeek-Coder-V2-236B)を使用して評価され、ベースライン手法を大幅に上回る性能を示した。特に、text-to-PromQLタスクにおいて効果的であることが実験結果により示され、DSL生成フレームワークとしてのメトリクス照会・分析の先駆的役割を果たしている。実験では、知識グラフを活用した検索・推論機能が、自然言語からPromQLへの変換精度向上に大きく貢献することが確認された。
## Abstract
現代のオンラインサービスシステムの複雑性が増す中で、システムの状態と動作を理解することは、その信頼性と安定性を確保するために不可欠である。したがって、メトリクス監視システムが広く使用され、オンラインサービスシステムにおける重要なインフラストラクチャとなっている。エンジニアは通常、様々な分析目的を達成するためにドメイン固有言語(DSL)クエリを手動で記述することにより、メトリクスデータと対話している。しかし、これらのクエリを書くことは、エンジニアが高いプログラミングスキルを持ち、システムのコンテキストを理解する必要があるため、困難で時間がかかる場合がある。本論文では、広く使用されているメトリクス監視システム[[Prometheus]]が提供するメトリクスクエリDSLであるPromQLに焦点を当てる。我々は、エンジニアがPrometheusのメトリクスデータと自然言語で対話できるようにすることで、メトリクス照会を簡素化することを目指し、このタスクをtext-to-PromQLと呼ぶ。この洞察に基づき、本論文はPromAssistant、[[LLM|大規模言語モデル]]ベースのtext-to-PromQLフレームワークを提案する。PromAssistantは、まず知識グラフを使用してオンラインサービスシステムの複雑なコンテキストを記述する。その後、LLMと知識グラフの協調推論により、エンジニアの自然言語質問をPromQLクエリに変換する。PromAssistantを評価するために、280のメトリクス照会質問を含む初のtext-to-PromQLベンチマークデータセットを手動で構築した。実験結果は、PromAssistantがtext-to-PromQLにおいて効果的であり、ベースライン手法を上回ることを示している。我々の知る限り、本論文はtext-to-PromQLの初の研究であり、PromAssistantはメトリクス照会と分析のためのDSL生成フレームワークの先駆けとなった。