メインコンテンツまでスキップ

エージェント開発ライフサイクル

このガイドは、AIアプリケーションまたはAIエージェントを構築する際のライフサイクル全体を理解するための出発点となるものです。このガイド全体を通して、「AIエージェント」とは、単純なLLM呼び出し、AI関数、エージェントベースの実装など、GenAIを搭載したシステム全般を指す包括的な用語です。

開発ライフサイクルの概要

  1. ユースケース、範囲、成功を理解する メトリクス
  2. 初期AIエージェントを構築する
  3. AIエージェントの品質を反復的に改善する
  4. 本番運用前に関係者と調整する
  5. リリースから本番運用まで、品質を継続的に監視します

1. ユースケース、範囲、成功を理解する メトリクス

何かを構築する前に、AIエージェントが何を行うべきかを明確にしてください。本番運用への展開を承認する人々を含む関係者と調整します。

  • エージェントはどのような種類の入力を処理するのか(「ドメイン」または「スコープ」)?どのようなユーザーが入力データを送信するのでしょうか?
  • エージェントは、一般的な入力に対して理想的にはどのように応答すべきでしょうか?どのような情報や文脈を用いるべきか?
  • 良い回答と悪い回答を定義する基準は何ですか? トーン、正確性、完全性、回答の長さ、安全性、引用、それともその他の要件でしょうか?
  • 本番運用には、コスト、レイテンシー、スケーラビリティなど、どのようなシステム要件と制約がありますか?
  • 潜在的な障害モードにはどのようなものがあり、エージェントはそれらをどのように処理すべきでしょうか?例えば、ユーザー入力の誤り、回答に必要な情報の不足、ユーザーからのフィードバックが不適切な回答を示している場合などです。

最もシンプルで実行可能な方法を選択してください。多くのユースケースでは、複雑なエージェントシステムやマルチエージェントシステムは必要ありません。構築を始める前に、問題が複雑さの連続体のどの位置にあるかを評価してください。単純な決定論的ロジックやバッチ処理型のAI関数で十分でしょうか?動的なツール呼び出し、推論、または協調が必要な場合は、ツール呼び出しエージェントまたはマルチエージェントシステムを検討してください。より詳しいガイダンスについては、「エージェントシステム設計パターン」を参照してください。

この基盤により、以下のことが可能になります。

  1. エージェントが必要とするデータソースとツールを特定します。
  2. 意図した動作を反映した初期指示またはプロンプトを記述する
  3. 代表的な事例や早期フィードバックを提供できるドメインエキスパートまたはテスターを特定する
  4. 評価基準をエンコードし、反復作業を加速する自動審査員を作成する

この段階では完璧な理解は必要ありません。試行錯誤を繰り返すうちに理解は深まっていきます。しかし、特に品質をどのように測定するか、そして「本番運用準備完了」が何を意味するのかについて、初期段階でより強固な合意を形成しておくことで、その後の品質改善と承認が大幅に迅速化される。

2. 初期AIエージェントを構築する

ユースケースと目標が明確に定義されたら、AIエージェントのプロトタイプを作成する準備が整います。Databricksは、AIエージェントを構築するための、ガイド付きのUIベースのルートと、完全にカスタマイズ可能なコードベースのルートの両方を提供します。

2.1.データとツールを準備する

AIエージェントは一般的に、データとツールを用いて状況説明と能力を提供する。Databricks上でデータやツールを操作する方法の概要については、 「AIエージェントツール」を参照してください。

新しいデータやツールを作成する前に、既存のデータやツールを検索してください。

  • Unity Catalogまたはワークスペース検索で利用可能なデータを調べて、どのような管理対象アセットがすでに存在しているかを理解します。 これは、新しいアセットを作成する前に、どのようなコンテキストと機能が利用可能かを理解するのに役立ちます。
  • AI Playgroundでは、AI Search インデックス、MCP サーバー、UC 関数など、エージェントがすでに利用できるツールを表示および選択できます。

必要に応じて新しいアセットを作成および管理する:

これらのデータ資産とツールはすべてUnity Catalogで管理およびバージョン管理されているため、 AIエージェントやアプリケーション間で容易に検索および再利用できます。

2.2.初期エージェントを構築する

カスタムエージェントを構築する前に、宣言型ナレッジアシスタントエージェント、 AI関数、または既存のDatabricksアクセラレーターが既にユースケースに合致しているかどうかを評価してください。 一般的なパターンでは、これらのガイド付きアプローチにより、セットアップが大幅に削減され、ある程度の品質が向上し、本番運用までの時間を短縮できます。

カスタムエージェントがまだ必要な場合は、新規ビルダーは最も速い方法で拡張を開始する必要があります。 AI Playground を使用すると、コードを書かずにエージェントのプロトタイプを作成できます。AI Playgroundでは、さまざまなモデルを試したり、迅速なエンジニアリングを行ったり、ツールをテストしたりすることで、データ品質、エージェントの挙動、そしてアプローチの可能性を迅速に理解することができます。その後、エージェントをコードとしてエクスポートして、さらにカスタマイズや反復作業を行うことができます。

既にエージェントコードをお持ちの場合は、既存のコードをDatabricksに取り込んで、Databricksアプリとしてデプロイできます

エージェントを構築するときは、事前に評価と本番運用の計画を立ててください。

  • エージェントの動作を記録および分析するために、 MLflow Tracingを使用してエージェントを計測します。

    • この段階では、機能的な正確さに重点を置きます。エージェントがエンドツーエンドで実行され、必要なデータとツールにアクセスできることを確認してください。
    • 不適切なツール選択、文脈の欠如、幻覚など、初期段階での問題がないか雰囲気チェックを行う。
    • 後ほど、これらの痕跡はエージェントの品質評価に使用されます。
  • 実装中に、本番運用アプリケーションに適切な認証方法を検討してください。

3. AIエージェントの品質を反復的に改善する

動作するプロトタイプが完成したら、次の段階は、品質の測定、理解、改善を繰り返す緊密なループとなる。Databricks MLflow評価をこのループの中心に置き、 MLflow Tracing 、評価データセット、およびLLMジャッジによってサポートされます。

自動採点システムとLLM審査員は規模と一貫性を提供するが、現実世界での有用性を検証し、微妙な不具合を理解するためには、人間のフィードバックが不可欠である。人間のフィードバックは、LLM審査員の開発と評価にも役立つ。エージェントが成熟するにつれて、人間のフィードバックは通常3つの段階で導入されます。

  1. 開発者と関係者による早期検証
  2. より広範な分野の専門家によるレビュー
  3. エンドユーザーからのフィードバック

3.1.初期の行動を検証する

開発者と少数の 関係者またはドメインエキスパートは、迅速かつ早期のフィードバックを提供できます。 大規模なテストと評価を実施する前に、エージェントが最も明白な状況で正しい動作をすることを確認してください。

プロトタイプ開発の段階では、開発者はエージェントに手動でクエリを実行して、エンドツーエンドで正常に動作し、期待どおりに動作することを確認するという、非公式な「動作確認」を行うことがよくあります。MLflow Tracing UIを使用すると、開発者はフィードバックや期待値をトレースに直接添付して、品質上の問題点を指摘したり、成功例をマークしたり、将来の評価や反復作業のためのメモを記録したりすることができます。

内部プロトタイプをデプロイすると、レビューアプリのチャットUIがフィードバックを収集するためのシンプルなUIを提供します。プロトタイプのチャットUIを、妥当な質問と問題のある質問の両方を投げかけることができる少数の開発者またはドメインエキスパートと共有してください。

MLflow Tracingは、インタラクションとフィードバックを記録し、結果の初期データセットを構築します。MLflowのUIまたはコードを使用してトレースを分析し、エージェントのパフォーマンスと動作を理解します。結果が悪い場合や予期しない結果が出た場合は、トレースを使用してデバッグしてください。

  • エージェントにおける品質上の問題点(ツールの誤用、幻覚、コンテキストの欠落など)を分析する。プロンプトの調整、ツールの使用方法、データなど、修正を適用してください。3.4を参照してください。問題を修正し、改善点を再検証します
  • 反復作業を行う際に、トレースデータセットを代表的なユーザー入力として使用し、新しいプロトタイプのトレースを生成することができます。
  • エージェントが代表的な入力のすべてまたはほとんどを期待どおりに処理できるようになるまで、実行、検査、修正、再実行というループを繰り返します。
  • 今後のバージョンアップで、さらに多くの問題点が明らかになり、対処される可能性があります。品質改善は反復的なプロセスであり、この初期段階に限定されるものではない。

このステップを終えれば、より大規模なテストに投資する前に、プロトタイプが一般的な状況で適切に動作し、妥当な品質レベルを達成していると確信できるでしょう。

3.2.テストとフィードバックを拡大する

プロトタイプが簡単なケースでうまく機能したら、ベータテスターの数を増やし、よりカスタマイズされたフィードバックを収集することで、品質評価の規模を拡大してください。この段階では、予期せぬトピック、誤解されたクエリ、ツールや検索のギャップ、あるいは新たな利用パターンといった盲点が明らかになる。また、評価データセットも拡張されます。

  • アプリケーションをより幅広い関係者や分野の専門家、あるいはベータ版エンドユーザーに展開する。エージェントがより幅広い利用パターンに触れるにつれて、彼らのフィードバックを取り入れる。
  • レビューアプリのラベル付けセッションにカスタムスキーマを使用することで、専門家からのフィードバックをより詳細に把握し、期待値を設定できます。
  • 次のステップで体系的な評価とモニタリングを行う準備として、人間のフィードバックとラベル付けされたトレースを同期させて評価データセットを作成します。
  • 評価データセットをさらに充実させるために、合成評価セットを生成することを検討してください。

3.3.品質を評価し、体系的にデバッグする

評価データセットが大規模化し、多様化するにつれて、問題点を検出し、最も重要な障害を明らかにし、根本原因を理解するための、構造化された、より自動化された方法が必要になります。

実際には、データを2種類の評価データセットに分割することになるでしょう。

  • 回帰テスト :質の高いAI応答を含むデータは、期待される動作を定義するのに役立ちます。これらのデータセットを使用して、エージェントの新しいバージョンが、想定される幅広い多様なシナリオにおいて引き続き良好なパフォーマンスを発揮することを検証してください。
  • 問題に焦点を当てたデバッグ :低品質なAI応答を含むデータには、さまざまな望ましくない動作が含まれている可能性があります。同じ種類の低品質な動作を示すトレースのグループを分離することで、根本原因を理解し、的を絞った修正を繰り返し行うことができます。

以下のツールは、両方のタイプの評価データセットの構築と分析に役立ちます。

回帰テストを実行する

  • 質の高いAI応答や人間の期待値が得られる代表的なデータサブセットを選択することで、回帰テストを作成します。
  • 組み込みまたはカスタムのLLM審査員と採点者を使用して、評価基準を定義します。自動評価では、LLMのみを使用して応答の質を評価することも、応答を正解応答や期待値と比較することもできます。
  • エージェントの新しいバージョンに対して評価を実行し、アップデートによって以前の良好な動作が損なわれないことを確認してください。

質の低い回答の種類を特定する

自動検出の精度を向上させる

主に人間のフィードバックを用いて評価データセットを構築し始めることは可能ですが、自動検出を用いることで評価を大規模に展開することができます。試行錯誤を重ねる際には、あなたの申請内容や専門分野に特化したLLM審査員やコードベースの採点システムに投資しましょう。

根本原因の問題を効果的に

障害が特定されたら、その原因を突き止める必要があります。

  • MLflow Tracingを使用して、エージェントの推論の各ステップを手動で検査します。

    • どのツールが選択されましたか
    • ツールの入力と出力がどのように使用されたか
    • 検索結果が関連するコンテキストを返したかどうか
    • モデルの反応が下流の意思決定にどのように影響したか
  • MLflowAIを適用したり、 エージェントを審査員として 利用したりして、トレースを分析し、グラウンディングの不備、プロンプト構造の悪さ、ツール引数の誤りなど、考えられる原因を特定します。

  • MLflowの評価UIでバージョンを比較し、問題が反復処理間で悪化しているか、あるいは継続しているかを確認してください。

このステップの理想的な成果は、何がうまくいっていないのか、なぜうまくいかないのか、そしてどうすれば解決できるのかを体系的に理解することです。自動化とアプリケーション固有のジャッジを使用することで、エージェントの能力が向上し、テストセットが複雑化するにつれて、自信を持って反復開発を進めることができます。

3.4.問題を修正し、改善点を再検証する

問題がアプリケーション固有のものであるのと同様に、解決策もアプリケーションに合わせて調整する必要があります。一般的な修正例は以下のとおりです。

  • プロンプトの最適化: エージェントの指示を手動で調整するか、データドリブン プロンプトの最適化を使用します。 マルチステップ推論やツール使用の調整など、より広範なエージェント最適化には、 DSPy チューニングを使用してください。
  • ツールとデータ:トレース結果に事実の欠落や根拠の不十分さが示された場合は、ツールやデータ取得フローを改善する。
  • ルーティング:トレースで誤ったツールまたはサブエージェントが呼び出されたことが示された場合は、ツールまたはエージェントのメタデータ、プロンプト、またはルーティングモデルを改善してください。
  • ガードレール:応答が安全規則に違反したり、情報が漏洩したりする場合は、 AI Gateway のガードレール、またはエージェントでカスタマイズされたガードレールを使用してください。
  • フォールバック:代替APIエンドポイントやフォールバックレスポンスなどのフォールバックメカニズムを使用して、極端なケース、データの欠落、またはAPI呼び出しの失敗を適切に処理します。

修正を繰り返していく際には、プロンプトレジストリを使用してバージョンを記録し、比較や回帰テストを容易にしてください。

プロンプト、取得、ツール、データ、またはエージェントのその他の部分に対する修正は、発見された時と同じ方法で検証する必要があります。同じ評価データセットで新しいエージェントバージョンを再実行し、問題が修正され、回帰バグが発生していないことを確認してください。

4. 本番運用前に関係者と調整する

エージェントを実際の環境にリリースする前に、チームはエージェントの現在の機能、制限、および測定された品質について共通の理解を持つ必要があります。このポイントに到達するには、通常、複数回の反復とステップ 3の品質向上が必要です。この段階では、技術的なシグナル (評価メトリクス、システム メトリクス、サンプル トレースなど) をビジネス コンテキストに変換し、エージェントが本当に「準備ができている」かどうかを最終的に判断します。

  • 評価結果を明確なビジネスシグナルに変換する:正確性、安定性、安全性、既知の限界を、関係者が行動に移せるような言葉で要約する。
  • 標準化された品質チェックが満たされていることを確認する: 必要な評価メトリクス、回帰チェック、およびデータセット カバレッジしきい値が候補バージョンに合格していることを確認します。
  • 運用の準備状況を検証し、承認を得る: モニタリングの設定、ガードレール、展開計画を確認します。 本番運用前にリスクと受け入れ基準を文書化します。

5.本番運用までリリースし、品質を継続的に監視する

本番運用に到達することは大きなマイルストーンです。 つまり、そのエージェントは実際のユーザーと実際の影響に対応できる状態にあるということです。同時に、本番運用は新たなサイクルの始まりでもあります。 エージェントが稼働すると、継続的な 改善の段階に入ります。実際の使用状況によって、新しい動作、エッジケース、問題が明らかになるからです。

  • 本番運用でエンドユーザーからのフィードバックを収集します。 ユーザーからのフィードバックを特定のトレースにリンクさせることで、モデルの動作と併せて分析できるようにする。これは、フィードバックを元のトレースに添付された評価として記録することで実現できます。

  • ガードレール、ルーティング、および一貫性のあるログ記録のために、 AI Gatewayを活用しましょう。各エージェントの新バージョンが、運用上の支障なく実際のトラフィックに対して評価できることを確認してください。

  • サンプリングされた本番運用トレースで評価を実行することで、ライブ トラフィックの品質を監視します。 新バージョンが以前のバージョンと同等以上の性能を発揮することを確認し、ユーザーが新しいタイプのクエリを送信する際に新たな問題がないかを探します。継続的なモニタリングにより、エージェントの信頼性と安全性が維持され、進化するビジネス ニーズに合わせて維持されます。 MLflowモニタリング ダッシュボードを提供しますが、トレースはUnity Catalogに保存できるため、ダッシュボードとアラートをカスタマイズできます。

  • 本番運用の知識に基づいて行動する:

    • リスクの高いユースケースの場合は、モニタリングを自動化またはゲート制御されたロールバック メカニズムにリンクして、重大な問題を修正します。
    • 本番運用の知識を次のイテレーションに活用してください。 現実世界で発生した失敗を新たな評価データに変換し、評価とデバッグのループに戻って、より優れたエージェントの次期バージョンを構築する。

次のステップ