ENISHI

開発から運用まで、IT部門のお役に立つ情報をお届けするサイトです

自動化・自律化

ラボの検証環境の稼働状況を確認するAIエージェント(ワークフロー型)を作ってみた

New

公開日:
自動化・自律化
#AI
#システム運用

前回の記事「AIエージェントはシステム運用を自動化できるのか?徹底検証するラボを開設!」では、システム運用AIエージェントラボの立ち上げをお知らせしました。

本記事では、ラボの運用管理業務を効率化するためのAIエージェント作成の様子をご紹介します。当初は自律的に動くエージェント型の作成を目指しましたが、最終的になぜワークフロー型となったのか。試行錯誤を通して学んだ、AIエージェントを設計するときのポイントをお伝えします。

なぜAIエージェント(ワークフロー型)を作ったのか

こんにちは。アシストの中村利一です。前回の記事「AIエージェントはシステム運用を自動化できるのか?徹底検証するラボを開設!」でお知らせしたように、「システム運用AIエージェントラボ」ではシステム運用の完全な自律化を目指しています。

そのための基盤として、インフラストラクチャにはAmazon Web Services、エージェントのワークフローや順序制御を行う基盤にはDify、そしてAIエージェントの頭脳として、Anthropic社の高性能な大規模言語モデルであるClaudeを利用しています。

毎朝のAIエージェント検証環境の確認がしんどい!

ラボでの試行錯誤を開始して直面したのは、検証環境自体の運用管理に意外と手がかかる、という現実でした。

私は以下の項目を毎日チェックすることで、検証環境が正常稼働しているか、コストが想定外に膨らんでいないかを確認していました。

  • コンテナのCPU/メモリ使用率

  • AIエージェントの挙動と内部のトレース

  • トークン消費量

  • コスト

一見すると単純な作業のように思えますが、毎朝のルーチンとして積み重なると、次第に大きな負担となってきたのです。

ひとつずつ画面にログインし、負荷状況やコストを確認して必要な数字を集計する。数字を眺めて要注意箇所を判断してレポートを作成し、社内ナレッジベースに投稿、さらにChatには要約を投稿する。これを毎朝30分、月間で10時間もの時間を費やしていました。おまけに仕事を休めばレポートは途絶え、コピペの行ずれなどの凡ミスにも気づけない。

この地味にしんどい検証環境の定例チェックとリソース報告を誰かに丸ごと肩代わりさせたい!そうだ、こういう業務こそAIエージェントにやらせてみよう、と思ったのがAIエージェント作成のきっかけです。

毎朝の運用を楽にするAIエージェントを作成

まず私がしたことは、手動でチェックしている項目を自動監視するツールを探すことでした。

監視対象項目

ツール

ツールの用途

コンテナのCPU/メモリ使用率

New Relic

検証環境のリソース状況を可視化し、健全な状態であるかを確認する

AIエージェントの挙動と内部のトレース

LangSmith

LLM(※)の動作を追跡し、実行状況の確認や問題発生時の入力プロンプトや出力結果を確認する

トークン消費量

Amazon CloudWatch

トークン消費量を監視し、予期せぬ課金を未然に防ぐ

コスト

Vantage

検証環境で利用しているコストを統合管理し、コスト最適化の判断を迅速に行う

※LLM(大規模言語モデル)は、一般的には生成AIが文章を作成したり、質問に回答したりするのに使われています。AIエージェントでのLLMは状況を判断し、何をするべきかを考えて動きます。

Difyを使ってこれらのツールを毎朝8時に自動起動して、LLMに数字データの加工からレポートの作成まで任せてしまえばよい。このときはまだ、そう軽く考えていたのです。

LLMには向かない業務がある

実際にLLMに数字データの取得と加工を実行させたところ、毎回微妙に結果が異なるという問題が生じました。さらには、不要な情報も含めて取得したり、取得データを間違えて処理を再実行したりと、やたらとトークンを消費します。LLMはトークン数に応じた従量課金制なので、これではコストが嵩んでしまいます。

定型レポート作成のために必要な決まったデータを取得するような業務は、どうやらLLMには向いていないのでは、ということに気づかされたのです。

LLMにどこまで任せるか

今回のような定型レポートの作成では、「再現性」が不可欠です。同じデータなら必ず同じレポートが出るという確実性が求められます。すべてをLLMに任せても、同じデータなのに異なるレポートが出るようでは、いくら私の業務がゼロになっても、意味がありません。

そこで、数字データの集計や加工、レポートの投稿といった、再現性が求められる定型的な工程はプログラムにすべて任せることにしました。一方で、数字データを基に推論することはLLMが得意だと判断し、「状況を推論」して「レポートを書く」工程はLLMが行うよう設計しなおしました。人間が敷いたレールに沿って、AIが処理を進めるというワークフロー型のAIエージェントとしたのです。

ページトップへ戻る

AIエージェントを設計するときのポイント

AIエージェントの設計での大事なポイントは、業務の性質による「適材適所」の判断です。

AIエージェントを作るとなったら、つい何でもかんでもLLMにしてしまう。おそらく誰もが一度は通る道ではないでしょうか。しかし、それでは求める結果が得られない場合があり、コストも嵩みます。

今回、AIエージェントを作ってみて私が学んだのは、確定的な処理はプログラムに任せ、推論が必要な処理だけLLMを差し込むアプローチを基本とするべきだということです。

次こそはAIエージェント(エージェント型)を作ってみる

では、どんなときにAIエージェント(エージェント型)を活用するべきなのでしょうか。

次回は、AI自身がゴールに向かって自律的にレールを敷いて進む「AIエージェント(エージェント型)」について、Claude Codeを使った実践例を交えてお伝えします。

次回へつづく・・

※記載されている会社名、製品名は、各社の商標または登録商標です。


ページトップへ戻る


この記事をシェアする

この記事を書いたスタッフ

著者の顔写真

ビジネスインフラ技術本部 システム基盤技術統括部 事業推進部

中村 利一

ビジネスインフラ技術本部 システム基盤技術統括部 事業推進部

中村 利一