Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IT Service Management (ITSM) の Now Assistを 自分で実...
Search
Akatsuki Inc. PR
September 24, 2024
Technology
1
830
IT Service Management (ITSM) の Now Assistを 自分で実装してみた
SNUG (ServiceNow User Group)ミートアップ登壇資料(2024/9/24)
Akatsuki Inc. PR
September 24, 2024
Tweet
Share
More Decks by Akatsuki Inc. PR
See All by Akatsuki Inc. PR
How Slack Platform Slackを使って日常業務をスマートに
akatsukipr3932
1
85
AIとAWSでビジネスプロセス変革に挑む
akatsukipr3932
1
30
Formula、Lookup table、Environment Propertiesを活用したワークフロー構築
akatsukipr3932
1
15
ワークスペース間で チャンネルを移動する
akatsukipr3932
1
600
Other Decks in Technology
See All in Technology
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1k
君も受託系GISエンジニアにならないか
sudataka
2
370
Larkご案内資料
customercloud
PRO
0
600
事業継続を支える自動テストの考え方
tsuemura
0
300
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
370
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
500
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
200
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
480
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.5k
Bounded Context: Problem or Solution?
ewolff
1
210
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
12
3k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
2
880
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
How STYLIGHT went responsive
nonsquared
98
5.3k
How to train your dragon (web standard)
notwaldorf
90
5.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
950
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Being A Developer After 40
akosma
89
590k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Designing for humans not robots
tammielis
250
25k
Transcript
IT Service Management (ITSM) の Now Assistを 自分で実装してみた 株式会社アカツキ IT Service部 宮越 信吾
Who? • 名前 ◦ 宮越信吾 • 所属 ◦ IT Service部
• どんなことをやっている人? ◦ Workatoの導入/開発/運用 ◦ ServiceNowの導入/開発/運用 ◦ いろいろ ▪ BigQuery, Looker, AWS, Raspberry Piなど • 趣味 ◦ 音楽鑑賞 ▪ レコードなどアナログオーディオ沼にハマっています • 枚数が。。。オタクはかさばる。
会社紹介
©Akatsuki Inc. 2024年8月会社紹介資料より抜粋
©Akatsuki Inc. 2024年8月会社紹介資料より抜粋
恥ずかしながら ServiceNowの画面を そこまで使っていないんです (incidentのオペレーションでは)
基本的にSlackをインターフェースにしています
• だいたい以下のとき ◦ アサインするとき ◦ Resolveするとき ◦ VTBを使うとき ◦ リマインダーを仕掛ける
ServiceNowの画面で操作するのは Taskテーブルを拡張 (だいたい)設定した時間に Slackへ届くリマインドメッセージ
ServiceNowの画面で操作することが 前提のNow Assistだと操作性が厳しい Slackでアシストしてもらいたい!
やっと本題 IT Service Management (ITSM) の Now Assistを自分で実装してみた
まずはOOTBの機能を確認
Now Assistアプリケーションの機能 https://docs.servicenow.com/ja-JP/bundle/xanadu-it-service-management/page/product/now-assist-itsm/concept/supporting-information-now-assist-itsm.html
トライした機能 1. Now AssistのOOTBにある機能 a. インシデントの要約 b. 解決メモ生成 2. Now
AssistのOOTBにない機能 a. 生成AIにフリーで質問 b. 過去にクローズした類似Incidentの通知
今回登場するAWSのAI系サービス • Amazon Bedrock ◦ 近しいもので有名どころはChatGPT ◦ 文章を要約したり回答を生成したいところで使っています • Amazon
Kendra ◦ 検索機能を持つデータベース ▪ データベースに保存するときに「ベクトル化」してから保存している • 「意味」で検索ができる ◦ 過去対応したITへの問い合わせチケットを入れています ▪ 新たな問い合わせが来たときに「類似」を検索しています
今回ご紹介する内容で実現できたこと • Bedrockを使用することで実現 ◦ チケット作成時に「内容を要約」してチケットのタイトルにする ◦ チケット解決時に「根本原因」と「解決メモ」を自動で生成する • Kendraを使用することで実現 ◦
チケット発行時に「類似した問い合わせ」を通知する 要約、自動生成 類似の検索
チケット作成時に要約 • Slackのメッセージから起票している ◦ Slackのコミュニケーション的には正しいメッセージ ◦ しかしShort Descriptionとしては不適切 ◦ AIで要約することで両者が両立する運用が可能に!
解決メモを自動生成 • トリガーは独自に追加したUI Action • UI ActionからSub Flowを実行 • Sub
FlowでIncidentのデータを構造化 • 構造化したデータをWorkatoへPOST • WorkatoがBedrockを実行 • Bedrockが解決メモを生成 • 生成された解決メモを使って Workatoがincidentを更新
Bedrockへ送信しているデータの構造 <inc_ticket> <description> </description> <comments> <comment> </comment> ︙ </comments> </inc_ticket>
Instruction あなたは企業のIT部門に所属するアナリストです。チケットに 記載されている社員からの問い合わせと対応を読んで、「根本 原因」と「解決方法」をまとめてください。 チケットのフォーマットについて説明します。 <inc_ticket>タグ内がチケットのデータです。 <description>タグ内は、社員が最初に問い合わせたときの メッセージはの中に記載しています。 <comments>タグの中に複数の<comment>タグが存在しま す。<comments>タグは古いほうから順に時系列に並んでい ます。 <comment>タグ内は、IT部門と社員とがコミュニケーションし たときのメッセージです。 JSONサンプルです。このフォーマットに合わせて解答してくだ さい。 { "route_cause": "根本原因", "resolve_note": "解決方法" } 根本原因はroute_causeへ記載してください。 解決方法はresolve_noteへ記載してください。 記載はすべて日本語で書いてください。 解決メモを自動生成 ~ 詳細
生成AIにフリーで質問 • 1のデータ取得は解決メモと同じ内容 ◦ 処理は流用している • 回答内容を見て、案内して良さそうだったらユーザに案内する ◦ 回答が使えないものの可能性を考慮している ◦
世間的には正しくても、チームの運用に合わない場合も担当者でフィルタできる
過去にクローズした類似Incidentの通知 • Kendraを使用 ◦ 毎日データを取り込み • チケット作成時にクエリ ◦ 類似したincidentがあれば精度まで 出してくれるのでHigh以上を使用す
るなども可 ▪ 例 • Very High • High • Low
過去にクローズした類似Incidentの通知 ~ サンプル • テスト環境なのでデータが足りてない ◦ LOWしかでない ◦ 本番ではVery Highなども出てます
OOTBのカスタマイズではなく 新規で実装している理由 〜車輪の再発明なのでは?〜
OOTBをカスタマイズするということ OOTB OOTBをカスタマイズ アップデートでConflict working working does not working
OOTBをカスタマイズするということ 対応が大変なことになる
• やれなくはない ◦ ServiceNowだけで完結させようとすると厳しい ◦ iPaaSやPublic Cloudを組み合わせることで実現できた ▪ 「iPaaSとpublic cloudはいいぞ」に見えていたらごめんなさい
• ServiceNowと組み合わせると相乗効果が発生しやすい • OOTBをカスタマイズするのは避けたほうが良い ◦ OOTBにはOOTBの世界があるので中途半端にカスタマイズするのは危険 ▪ 今後のアップデートで困難が発生する可能性 ◦ カスタマイズするくらいなら新規で実装するほうが楽 ▪ UI ActionやBusiness Ruleで処理を挟み込むことで実現可能 ▪ 自分で実装ならば今後のアップデートでも困難は発生しないはず やってみてわかったこと