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
1k
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
Falconを活かした インシデントレスポンスとの向き合い方
akatsukipr3932
0
12
How Slack Platform Slackを使って日常業務をスマートに
akatsukipr3932
1
100
AIとAWSでビジネスプロセス変革に挑む
akatsukipr3932
1
84
Formula、Lookup table、Environment Propertiesを活用したワークフロー構築
akatsukipr3932
1
35
ワークスペース間で チャンネルを移動する
akatsukipr3932
1
760
Other Decks in Technology
See All in Technology
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.2k
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
360
Tech-Verse 2025 Global CTO Session
lycorptech_jp
PRO
0
1k
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
200
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
1
120
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
320
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
210
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
210
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.2k
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
240
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
3
230
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
It's Worth the Effort
3n
185
28k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
The Pragmatic Product Professional
lauravandoore
35
6.7k
A designer walks into a library…
pauljervisheath
207
24k
GitHub's CSS Performance
jonrohan
1031
460k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Code Reviewing Like a Champion
maltzj
524
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Navigating Team Friction
lara
187
15k
Why Our Code Smells
bkeepers
PRO
337
57k
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で処理を挟み込むことで実現可能 ▪ 自分で実装ならば今後のアップデートでも困難は発生しないはず やってみてわかったこと