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
AIプロダクトの品質をどう守る?
Search
matsu802
February 15, 2026
1
330
AIプロダクトの品質をどう守る?
matsu802
February 15, 2026
Tweet
Share
More Decks by matsu802
See All by matsu802
コンパウンドスタートアップにおけるQAの成長戦略
matsu802
4
840
上手な探索的テストとその上達方法について
matsu802
6
2.3k
Featured
See All Featured
Visualization
eitanlees
150
17k
Evolving SEO for Evolving Search Engines
ryanjones
0
130
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
440
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
100
Accessibility Awareness
sabderemane
0
62
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
Building the Perfect Custom Keyboard
takai
2
690
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
78
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
340
Transcript
© LayerX Inc. AIプロダクトの品質をどう守る? Langfuseによる「評価」とrunnによる「テスト」の実践
目次 Agenda • 自己紹介 • バクラク勤怠のAI機能の紹介 • 品質を定義するための3つの軸 • 継続的な改善のための仕組み
© LayerX Inc. 3 経歴 • 株式会社ヒューマンクレスト (2014/06 〜 2015/12)
• 株式会社メルカリ(2016/01 〜 2023/08) • 株式会社LayerX(2023/11 〜) 画像を入れてね 自己紹介 matsu
バクラク勤怠のAI機能
© LayerX Inc. 5 就業規則を基に、AIが有休を⾃動付与するルールの初期設定案を作成してくれる機能 バクラク勤怠のAI機能
バクラク勤怠のAI機能
© LayerX Inc. 7 有休の付与ルールは、就業規則を元に設定 付与する⽇数やタイミングは各社様々であり、フォーマットもバラバラ バクラク勤怠のAI機能 テキストだったり 表だったり
© LayerX Inc. 8 就業規則を解釈し、プロダクトの設定に落とし込むのが難しい 特に有休の付与⽇≒お⾦なので丁寧に設定‧確認が必要 バクラク勤怠のAI機能 就業規則(平均50ページ) ルールの設定項⽬(バクラク勤怠)
© LayerX Inc. 9 この処理を3つのステップでAI Agentが実現している バクラク勤怠のAI機能 プロンプトデータセット 説明 extract_sections
就業規則からの有給休暇関連条文抽出 identify_rule_patterns ルールパターンの識別 その他詳細項目 5個 出勤率や付与日数などの判定
品質を定義をするための3つの軸
© LayerX Inc. 11 ⽣成AI時代の品質保証は「確率」との戦い 品質を定義するための3つの軸
© LayerX Inc. 12 品質を定義する3つの軸 品質を定義するための3つの軸
© LayerX Inc. 13 Customer Expectation ユーザーの期待値に対する仮説 品質を定義するための3つの軸 ユーザーの期待する品質(精度)を考える上での重要な変数 AIは100%完璧ではないという事実をユーザーと共有し、過度な期待を抱かせないように調整します
© LayerX Inc. 14 Accuracy 精度を評価するための基準 品質を定義するための3つの軸 AIの精度を評価するための基準値や計算式を定義する 精度はリリース時の状態で固定されるものではなく、運用のサイクルを通じて成長させ続けるべき品質
© LayerX Inc. 15 System Quality システム全体の信頼性を定義 品質を定義するための3つの軸 システム全体の安定稼働と信頼性を担保する「土台」 従来のソフトウェアテスト(機能、パフォーマンス、セキュリティ)に加え、AIの振る舞いを含めた「受け入れ基準(Acceptance
Criteria)」 を定義する
© LayerX Inc. 16 実際にリリース前に行った精度検証の結果 品質を定義するための3つの軸 各ユースケースパターンを10回実行し、期待する結果になるかで精度検証を行う。 精度が90%を超えることを受け入れ基準としている。
© LayerX Inc. 17 UXデザインによる期待値の調整 品質を定義するための3つの軸 ルールの作成はあくまでユーザーが行い、AIによる入力はサジェスト機能とする ‧作成するかどうかを必ず回答 ‧「AIによる推奨設定」と明記 ‧項⽬の編集可
© LayerX Inc. 18 品質を定義することで得られたこと 品質を定義するための3つの軸 精度改善以外のアプローチでユーザーの期待する品質に近づけることができた 目指すべきゴールの共通認識をチームで持つことで、事前に改善の仕組みを検討することができた 結果的に安心してリリースすることができた
継続的な改善の仕組み
© LayerX Inc. 20 AI開発における品質保証の難しさ 継続的な改善の仕組み 課題 AIプロダクトは確率的な要素を含むため、予期せぬ箇所で品質低下を引き起こすリスクが高く、また継続的な精度の改善が必要。 アプローチ 単一のテスト手法ではなく、目的の異なる2つのレイヤーでテストを分離する。
1. integration test: 品質を落とさない「守り」 a. システム全体の整合性と信頼性を担保 2. unit test: 精度の改善を行う「攻め」 a. 個別のプロンプトの精度とエッジケースの克服
© LayerX Inc. 21 runn: 品質を維持する「結合テスト」 継続的な改善の仕組み 一般的なソフトウェア開発における「リグレッションテスト」の位置付け AIの精度だけでなくシステム全体が正常に動作するか確認するもの 検証プロセス
1. アプローチ: 実際のAPIエンドポイントへリクエストを送信。 2. 検証内容: レスポンスのステータス、データ構造、を元にスコアリング 3. 目的: モデルの劣化やプロンプトの変更による精度の低下、またはシステム全体のデグレが発生していないことを担保 4. 役割: 開発が進んでも、「壊れていない」ことを担保するガードレールの役割
© LayerX Inc. 22 runnとは 継続的な改善の仕組み YAML形式でシナリオを記述し、APIテストを自動化するためのオープンソースのCLIツール ref: https://github.com/k1LoW/runn
© LayerX Inc. 23 確率的なAIの挙動を定量的に評価する 継続的な改善の仕組み
© LayerX Inc. 24 テストの評価にスコアリングを行うことでシステム全体の動作と精度が正常であることを担保 継続的な改善の仕組み
© LayerX Inc. 25 Langfuse: 精度を向上させる「ユニットテスト」 継続的な改善の仕組み 各プロンプトの精度を評価・改善を目的とするユニットテスト 主に本番環境で失敗したケースなどを継続的に改善していく仕組み 検証プロセス
1. アプローチ: プロンプトごとに実行し、出力を定量的に検証 2. 検証内容: プロンプトタイプごとに出力をスコアリング 3. 目的: プロンプトの改善を行った際に精度が向上しているかを担保する 4. 役割: 継続的に精度を向上していくための仕組み
© LayerX Inc. 26 Langfuseとは 継続的な改善の仕組み LLMアプリケーションのためのオープンソースな監視・評価プラットフォーム ref: https://langfuse.com/docs
© LayerX Inc. 27 Langfuseを用いたユニットテスト 継続的な改善の仕組み Langfuseは「評価用データの管理と監視の基盤」として機能し、実際の評価ロジック(テスト実行)はアプリケーションコード (Go)側に切り出されている 1. リリースサイクルとプロンプト本番適用
の分離(プロンプトの管理) 2. 本番での実行データのトレース 3. テスト用データセットの管理
© LayerX Inc. 28 ユーザーフィードバックを元にデータセットをテストに追加 継続的な改善の仕組み
© LayerX Inc. 29 テストを追加するまでの流れ 継続的な改善の仕組み 有休付与ルールの自動作成を行ったユーザーに対して、KARTEでアンケートを表示
© LayerX Inc. 30 テストを追加するまでの流れ 継続的な改善の仕組み KARTEのフィードバックをもとに、Langfuseでトレースを確認し、原因を分析
© LayerX Inc. 31 テストを追加するまでの流れ 継続的な改善の仕組み 分析した実データを元に期待値を修正し、データセットを追加することでテストケースになる
© LayerX Inc. 32 プロンプト改善の仕組み 継続的な改善の仕組み
© LayerX Inc. 33 Github Actionsによるテストの評価方法 継続的な改善の仕組み 5%以上のスコア低下でテストを失敗させる if (PR
Score - Main Score) < -0.05 then FAILED
© LayerX Inc. 34 まとめ 継続的な改善の仕組み 項目 runn(結合テスト) Langfuse(ユニットテスト) 主な役割
品質の維持 品質の向上 評価対象 APIによるE2Eの挙動 個別のプロンプト・回答の精度 スコアリング ビジネスロジックに基づく重み付け プロンプトごとにスコアリング方式を持つ テストデータ 精度が高いことが確認済みのパターン 本番で失敗したデータ・新ケース テストの評価 スコア < 90% スコア(PR - main) < 5%
© LayerX Inc. 35 Open Door Open Door