背景
大規模言語モデル(LLM)と生成AIの話題が沸騰し、先見性のあるソフトウェアチームは、このテクノロジーをどのように自分たちに役立てられるかについて考え始めました。
当然のことながら、このテクノロジーはIT技術者にとって魅力的です。70%の開発者はすでに仕事でAIを使用しています(Stack Overflowの調査による)。
それでも、生成AIをどのように活用できるのか、という疑問は残ります。
現代のソフトウェアチームにとって、生成AIを活用するための鍵は、コミュニケーションであると、PromptOpsのCEO兼創設者であるDev Nag氏は述べています。PromptOpsは、DevOpsとSecOpsチーム向けのSlackベースの生成AIアシスタントです。
「私の信念では、エンタープライズでの仕事はすべてコミュニケーションであり、特にDevOpsエンジニアにとってそうだ」とNag氏はThe New Stackに語りました。「人と人とのコミュニケーションだけでなく、人と機械とのコミュニケーションもだ」
Nag氏は、Slack、Jira、Mondayなどのツールを例に挙げていますが、ログ、メトリクス、その他のデータのアプリケーションを照会し、その応答に基づいてアクションを実行することも、一種のコミュニケーションであると考えています。
そして、Nag氏は、このコミュニケーションの多くは必要不可欠なものの、反復的で時間のかかるものであるため、生成AIが大きな影響を与えることができると述べています。
「LLMと生成AIは、コミュニケーションを加速させるための超高速化ツールだ」とNag氏は言います。「過去のデータからパターンを抽出し、あなたが考えを終える前に何をしたいかを理解することができる」
PromptOpsは最近、SlackまたはWebクライアントでChatGPTのようなクエリやプロンプトを実行するだけで、さまざまなDevOpsワークフローを人と機械間で自動化およびストリーミングできる生成AIツールをリリースしました。
Nag氏は、DevOpsやSRE、その他の現代のソフトウェアチームによる生成AIアプリケーションの使用には、無限の可能性があると考えています。The New Stackとのインタビューで、Nag氏は今日、DevOpsワークフローに生成AIを適用する6つの例を共有しました。
生成AIツールの6つの使用例
1. さまざまなツールにクエリを実行する
DevOpsやSREのプロは、さまざまなツールを扱うことが多いです。一部の組織では、技術スタックは技術の高層ビルのようなものです。
さまざまなツールからログや監視データなどの出力を手動でクエリするには、時間と知識を要し、必ずしも効率的ではありません。そのメトリックはどこにありますか?どのダッシュボードにありますか?マシン名は何ですか?他の人はどのように一般的にそれを参照していますか?どのような時間ウィンドウを人々は通常ここで見ますか?などなど。
「そのコンテキストは他の人によってすでに行われている」とNag氏は言います。そして、生成AIは、エンジニアが自然言語プロンプトを使用して必要なものを正確に見つけることができるようにし、多くの場合、後続のアクションやワークフローの次のステップを自動的に開始することもできます。また、Slack(またはプロンプトを入力した他のクライアント)を離れることなく実行することもできます。
「これは大きな時間の節約になります。40個のツールをマスターする必要がなくなったからです。英語でプロンプトを出すだけで、すべてのツールで処理されます」とNag氏は言います。
2. 追加のコンテキストの自動リンク
そこから、別の有益な使用例は、必要に応じて追加のコンテキストに自動的かつ即座にリンクすることです。つまり、さまざまなツールから必要な応答またはデータをSlack(またはプロンプトを入力した場所)で取得できるだけでなく、生成AIはナビゲーションレイヤーを追加して、適切な場合にその応答の完全なソースまたはコンテキストに直接移動できます。
これは、ダウンタイムインシデントなどの一般的なシナリオで特に重要です。インシデントを解決するために必要な情報を追いかけるのに費やされる1分は、単純なビジネス英語で言えば、費用がかかります。
「どんなタスクでも、十分な時間をかければできます」とNag氏は言います。「しかし、問題は、時間も人手も不足していることです。特にダウンタイムシナリオでは、時間がありません。顧客を幸せにし、できるだけ早く稼働に戻りたいのです。」
3. 必要なシステムアクションの自動化と高速化
Kubernetesのようなオーケストレーションツールが、システム操作を宣言的スタイルで自動化できるため爆発的に普及したように、生成AIはワークフローの必要なアクションを合理化および高速化するもう1つの層を追加できます。
Nag氏によると、クラウドネイティブツールとプラットフォームは独自の複雑さをもたらしています。さまざまな一般的な運用タスク(サービスのプロビジョニング、構成の管理、フェイルオーバーの設定など)を実行するには、通常、他の多くのツールと対話する必要があります。
「これらのツールは、多くのAPIに触れている可能性があります。AWS APIに触れている可能性もあります。AWS APIには200を超えるサービスがあります」と彼は言います。
それらはすべて異なる構文、コンソール、コマンドライン、サブコマンドなどを備えており、おそらく誰もそれらをすべて知っているわけではありません。Kubernetesだけがこの点で気が遠くなるような学習曲線を持っています。
クラウドネイティブエコシステムは広大であり(そして継続的に成長しています)、その複雑さに追いつくことはほとんど不可能です。Nag氏によると、生成AIを使用すると、誰も数十の異なるシステムやツールの詳細を知る必要はありません。
ユーザーは「このポッドを2つのレプリカにスケールアップするか、このLambda関数をこのように構成してください」と簡単に言うことができます。そして、私はそれをターゲットシステムの言語で実行する実際のコードスニペットに変えることができます」とNag氏は言います。「LLMは、非構造化データと構造化データの間のワームホールのようなものです。」
要約:
生成AIは、DevOpsワークフローを合理化および高速化するのに役立つ可能性があります。具体的には、次の2つの方法で役立ちます。
- 追加のコンテキストへの自動リンク:生成AIは、さまざまなツールから取得したデータをSlack(またはプロンプトを入力した場所)で表示するだけでなく、必要に応じて追加のコンテキストに自動的にリンクできます。これにより、DevOpsエンジニアは、インシデントなどの緊急時に必要な情報をすばやく見つけることができます。
- 必要なシステムアクションの自動化:生成AIは、さまざまなAPIと対話して、DevOpsエンジニアが手動で行う必要のあるタスクを自動化できます。これにより、DevOpsエンジニアはより重要なタスクに集中することができます。
生成AIは、DevOpsワークフローをさらに改善するための有望な技術です。
4. インシデントレポートの作成
生成AIのコンテンツ作成能力はよく知られており、ITプロフェッショナルにも適用されます。特に、システムがダウンしたときにオンコールで待機し、ポストモーテムレポートを書かなければならない運用エンジニアにとって有用です。
Nag氏によると、このようなレポートは、Slackメッセージ、メトリクス、チャート、ログ行、その他のデータの何百または何千もを調べる必要があることが多いとのことです。
「LLMは、Slackの会話(500,000行でも問題ありません)を実際に見て、要約して重要な発見を引き出すことができます」と彼は言います。それは重要なデータに焦点を当て、ノイズをフィルタリングします。これは、何が悪かったかを要約する責任者にとって、大きな時間の節約になります。
これは、「ワームホール」効果のもう一つの例です。潜在的に大量の非構造化情報を、人々が行動できる構造化データに変換します。
5. チケット作成
コンテンツ作成カテゴリでも、Nag氏はインシデント管理と重複するユースケースであるチケット作成に注目しました。LLMは、JiraやMondayなどのシステムでチケットを自動的に作成し、インシデントやその他のITイベントによって引き起こされたワークフローの次のアクションを開始するようにトレーニングできます。
場合によっては、これらのアクションは、ユースケース4のインシデントレポートの直接の結果です。生成AIによって強化されたインシデントレポートは、イベントが再発した場合のより良い対応方法を特定できます。
「次回、このアラートを作成して、ここに追加のインフラストラクチャが必要になるかもしれません」とNag氏は言います。「私たちは実際に会話をスキャンしてチケットに変換することができます。」
6. 非技術文書の検索
最後に、Nag氏は、多くの時間を無駄にすることなく、非技術文書を発見して取り出すプロセスを合理化する必要性が高まっていると述べました。これには、runbookや企業ポリシーなどの非ITポリシーだけでなく、HRの福利厚生などの一般的なビジネスポリシーも含まれます。
「これらのものを探す場所を常に把握しているわけではない」と彼は言います。そして、組織が大きくなると、探すプロセスは時間の無駄になる可能性があります。ChatGPTスタイルのプロンプトは、必要なものを検索するためにさまざまなWikiやツールを検索する代わりに、数秒で必要なものを生成できます。
要約:
生成AIは、DevOpsワークフローを改善するために使用できる有望な技術です。具体的には、次の3つのユースケースで使用できます。
- インシデントレポートの作成:生成AIは、Slackメッセージ、メトリクス、チャート、ログ行などの大量の非構造化データを分析して、インシデントの要約を作成できます。これにより、運用エンジニアは、インシデントレポートの作成にかかる時間を大幅に短縮できます。
- チケットの作成:生成AIは、インシデントやその他のITイベントに基づいて、JiraやMondayなどのシステムでチケットを自動的に作成できます。これにより、運用エンジニアは、インシデントに迅速に対応できます。
- 非技術文書の検索:生成AIは、Wikiやツールなどのさまざまなデータソースから非技術文書を検索し、必要な文書をすばやく見つけることができます。これにより、DevOpsエンジニアは、より重要なタスクに集中できます。
まとめ
生成AIの活用は非常に重要です。NALでは、業務効率化、新規事業開発のスピードアップ、競争力の向上を目指して、生成AIおよびChatGPTを活用したPoC開発支援サービスを提供しています。お気に召しましたら、お気軽にNALへお問い合わせ ください!