0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Elastic Stack v9.3新登場のWorkflowsでワークフローとAIエージェントによるデータ分析を実装する例(第3回)

0
Last updated at Posted at 2026-03-05

はじめに

このブログのシリーズでは、ElasticサンプルデータのKibana Flight Dataの飛行機の離発着履歴データを使い、Elastic WorkflowsとElastic Agent Builderを使ったフライト遅延の調査と原因分析の運用の自動化までの道のりをお伝えします。
前回はフライト遅延に関しての情報をCase(Elasticのチケット機能)に自動的に記録し、その原因分析をElastic Agent Builderで作ったエージェントにて行いました。

本ブログでは、この自動化をもう一歩完成形に近づけます。

  • 第1回で作成したRCA分析レポート機能をワークフローの直接実行だったもの、チャット実行できるようにします。
  • チャットから日付と空港名にて対象のケースを探すようにもします

本ブログはElastic Cloudでv9.3のElasticデプロイメントを使用しています。本ブログの内容を行うにはEnterpriseサブスクリプションである必要があります。フリートライアルでも試すことが可能です。

シリーズの他の記事はこちらから参照ください
第1回
第2回
第3回
第4回
第5回
第6回

このブログで作成するもの

  • AIエージェント rca_flight_case_agent_v2
    前回までに作成したrca_flight_case_agentの更新版です。
    オープンなCaseを検索して表示。指定したCaseの内容を表示させ、原因調査をAIエージェントに指示。AIエージェントは原因調査を行い、チャットにレポートを表示するとともに、Caseにそれを追記。

  • ワークフロー write_comment_to_case
    Caseへコメント追加するワークフローを実行します。

また、製品標準のAgent Tool platform.core.casesも今回から利用するようにします。

呼び出しフロー

  • (前回から更新なし)ユーザーがチャットで特定の日付と空港の調査を依頼 --> Agent check_flight_delay_agent --> Agent Tool write_flight_delay_to_case --> Workflow write_flight_delay_to_case

  • (今回更新あり)ユーザーがチャットで特定の日付と空港のCaseに対する原因分析を依頼 --> Agent rca_flight_case_agent_v2 -> Agent Tool write_comment_to_case -> Workflow write_comment_to_case

実装: AIエージェント(rca_flight_case_agent_v2)

第1回のブログで作ったrca_flight_case_agentをCloneでv2とし、プロンプトを大幅に変更していきます。プロンプトをそのまま下に載せます。
CleanShot 2026-02-07 at 17.05.57@2x.png

あなたは入力された情報を元に以下のことを実施するアシスタントです。
* Caseの検索
* Case内の情報を元に原因分析し、指定された報告書フォーマットでレポートを表示
* レポートをCaseに追記

### 期待する動き
* Case Idが与えられたら、そのままそのCaseの分析に進んでください。
* Case Idが与えられなかったら、与えられた情報からOpenステータスのCaseのtitleに対してキーワード検索してください。Caseのtitleは次のような形式になっています。	"Paris 2026/01/31 のフライト遅延とキャンセル"。都市の名前は頭文字大文字の英語がルールです。日付のフォーマットもこれに沿ってください。
* Caseの検索結果としてCaseのIDとタイトルとそのリンクだけを表示してください。
* ユーザーにどのCaseを分析したいかを選らんでもらってください。
* Caseが扱っている対象の空港(一つ)を識別してください。
* その日のフライトの遅延・キャンセルが、当該空港で発生している問題に起因しているかを検討し、該当する場合は原因をレポートにまとめてください。
* 原因のカテゴリは次のものから一つだけ選んでください:天候、システムトラブル、機材トラブル、その他
* ユーザーから指示があった場合のみ、原因レポートをCaseに追加書き込みしてください。書き込みが成功したら、シンプルに「Case ID: xxx , タイトル: yyyy へレポートを追記しました。リンク zzz」のようなフォーマットでシンプルな返事で返してください。

### 役割
- 文章から事実情報を抽出し、決められたフィールドに整理してください。
- 推測や創作は行わず、コメントに含まれる情報のみを使用してください。
- 情報が不足している項目は「不明」と記載してください。
- 表現は簡潔で公的な報告書調にしてください。

### レポート出力形式

必ず以下にあるヘッダ名を出力してください。
必ず以下の「フィールド名: 値」の形式で出力してください。

- - -
# RCAレポート
対象空港: 
対象日: 
概要: 
影響を受けた便名: 
原因のカテゴリ: 
- - -

このエージェントに有効化したToolsは以下のようになっています。矢印がで追加したものです。
CleanShot 2026-02-07 at 17.34.45@2x.png

platform.core.casesはケースを検索する製品標準のツールです。どのような仕様となっているかは、ToolsをViewすると確認できます。
CleanShot 2026-02-07 at 17.36.23@2x.png

write_comment_to_caseは新しく作ったツールです。Caseへコメント追加するワークフローを実行するシンプルなツールです。
CleanShot 2026-02-07 at 17.37.49@2x.png

Elastic Workflow
version: "1"
name: write_comment_to_case
description: A generic workflow to write to case comments. To be used by Agents or other Workflows.
enabled: true
tags:
  - draft
settings:
  timeout: 1m
triggers:
  - type: manual
inputs:
  - name: case_id
    type: string
    required: true
  - name: comment
    type: string
    required: true
steps:
  - name: write_comment_to_case
    type: kibana.request
    with:
      method: POST
      path: /api/cases/{{ inputs.case_id }}/comments
      body:
        type: user
        owner: observability
        comment: "{{ inputs.comment }}"

動作確認: AIエージェント(rca_flight_case_agent_v2)

日付と都市を指定して検索ー>成功
期待通りTools platform.core.casesでCase検索をしています。
CleanShot 2026-02-07 at 17.15.11@2x.png

都市だけ指定して検索ー>成功
CleanShot 2026-02-07 at 17.14.06@2x.png

全部のケースを検索ー>成功
CleanShot 2026-02-07 at 17.14.38@2x.png

原因調査を指示ー>成功:プロンプトで指示した通りのレポートフォーマットで返してくれました
CleanShot 2026-02-07 at 17.21.27@2x.png

ちょっと質問してみると、ぶっきらぼうに「影響を受けた便名: 不明(ケース内に具体的な便名は記載されていません)」として返してきました。この辺は改善の余地ありです。
CleanShot 2026-02-07 at 17.22.27@2x.png

最後、Caseへのレポート登録を指示ー>成功:指示した通り、必要最小限のレスポンスで返してくれました。
CleanShot 2026-02-07 at 17.23.47@2x.png

Caseへ追記してくれた様子はこちら
CleanShot 2026-02-07 at 17.25.01@2x.png

おわり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?