Planet Python 日本語
フォロー
エド・クルー:ルーティングチェックから軌道テストまで:エージェンティックチャットボットの評価
ある企業は、従来のPostgres管理とLangflowのようなAIツールを統合した製品、Postgres AI Hybrid ManagerのAIテストフレームワークを開発しています。このチャットボットは、製品機能、ドキュメント支援、AIワークフローを単一の会話型インターフェースに統合することを目指しています。このようなLLM支援エージェントのテストは困難です。なぜなら、その応答は非決定的であり、流暢であっても微妙に誤ることがあるからです。このフレームワークは、最終回答だけでなくチャット全体の軌道をテストすることに焦点を当てて進化しました。「ゴールデン」(完璧な望ましい出力)や「ルーブリック」(良い回答のための質的チェックリスト)などの重要な概念が紹介されます。AIテストでは、LLMが判定員として使われ、ゴールデンやルーブリックに対して出力を採点し、複雑な回答を合格・不合格の結果に変換します。タスク完了率(TCR)は複数の評価パスを集約するために使われます。テスト戦略は、チャットボットが正しい専門エージェントやスキルにプロンプトを送っているかどうかを確認する簡単なルーティング評価から始まりました。システムがツールごとのエージェントからスキルを統合したオーケストレーションエージェントへと進化するにつれ、ルーティング評価は可視性と適切なスキルの選択をチェックするよう適応しました。その後、チャットボットの完全な回答がユーザーのタスクを成功裏に完了したかを評価するために、特定のルーブリックを用いたLLMを用いてTCR評価が実装されました。これにより、プロンプトとルーブリック開発用のダイレクトモードと、全体のプロダクションパスをテストするためのプロキシモードの2つの実行モードが生まれました。また、このフレームワークは多段階の会話も扱わなければならず、テストユニットが単なるターンではなく会話全体となることもありました。これには、プロキシモードで複数のAPI通話間で会話状態を保持するか、ダイレクトモードでシミュレートする必要がありました。得点には、ステップごとのチェックや会話全体のスコアも含まれます。使用されている基盤となるテストライブラリはdeepevalであり、同社はパイプライン、プラグインシステム、CI統合、Langfuseプッシュを構築しています。ルーティングはdeepevalでカスタムの「BaseMetric」として実装され、特定のビジネスルールをLLM評価プロセスに統合する方法を示しています。