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
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
13
How Slack Platform Slackを使って日常業務をスマートに
akatsukipr3932
1
100
AIとAWSでビジネスプロセス変革に挑む
akatsukipr3932
1
84
Formula、Lookup table、Environment Propertiesを活用したワークフロー構築
akatsukipr3932
1
37
ワークスペース間で チャンネルを移動する
akatsukipr3932
1
780
Other Decks in Technology
See All in Technology
Recoil脱却の現状と挑戦
kirik
3
460
claude codeでPrompt Engineering
iori0311
0
530
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
13
3.8k
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
280
激動の時代、新卒エンジニアはAIツールにどう向き合うか。 [LayerX Bet AI Day Countdown LT Day1 ツールの選択]
tak848
0
610
DatabricksのOLTPデータベース『Lakebase』に詳しくなろう!
inoutk
0
160
分散トレーシングによる コネクティッドカーのデータ処理見える化の試み
thatsdone
0
270
M365アカウント侵害時の初動対応
lhazy
7
5.1k
Step Functions First - サーバーレスアーキテクチャの新しいパラダイム
taikis
1
280
MCPと認可まわりの話 / mcp_and_authorization
convto
2
290
生成AIによる情報システムへのインパクト
taka_aki
1
200
With Devin -AIの自律とメンバーの自立
kotanin0
2
790
Featured
See All Featured
Visualization
eitanlees
146
16k
Side Projects
sachag
455
43k
How GitHub (no longer) Works
holman
314
140k
Code Reviewing Like a Champion
maltzj
524
40k
Navigating Team Friction
lara
187
15k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
GitHub's CSS Performance
jonrohan
1031
460k
A better future with KSS
kneath
238
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
760
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で処理を挟み込むことで実現可能 ▪ 自分で実装ならば今後のアップデートでも困難は発生しないはず やってみてわかったこと