Slide 1

Slide 1 text

© LayerX Inc. 小さい仕事をする LLMと精度検証 バクラク事業部 AI・機械学習部 AI-UX_プロダクト開発チーム 大森 貴通 OMORI, Takamichi DAY06 topic Deep into AI Speaker

Slide 2

Slide 2 text

© LayerX Inc. Speaker バクラク事業部 AI-UX プロダクト開発グループ ソフトウェアエンジニア AIを前提とした体験を追求する AI-UX を 届けるために⽇々頑張っています。 最近は LLMOps が気になっています ⼤森 貴通 OMORI, Takamichi

Slide 3

Slide 3 text

© LayerX Inc. 技術組織としての分岐点 経費精算‧申請サービスでの悩み ● 申請者 ○ 申請時に社内規定‧ルールを確認するのが⼤変 ○ 申請内容が間違っていたときに修正して再申請する⼿間 ● 承認者 ○ 申請内容の妥当性‧社内規定との整合性のチェックの負担が⼤きい ○ 差し戻しが発⽣したときのコミュニケーションコストの増加 こういった申請者‧承認者双⽅の負担を削減したい →「AI申請レビュー」を開発 申請にまつわる課題と機能開発 ⼩さい仕事をするLLMと精度検証

Slide 4

Slide 4 text

© LayerX Inc. 技術組織としての分岐点 AI申請レビュー ⼩さい仕事をするLLMと精度検証 申請作成時に内容をAIがリアルタイムでレビューする機能 AIが申請作成中に明細に対してリアルタイムにレビューをする様子のイメージ  https://bakuraku.jp/news/20250707/ ● 明細の項⽬に対するレビューの場合 ○ 未⼊⼒の項⽬に対しては⼊⼒ガイドを表⽰ ○ ⼊⼒された項⽬の妥当性をチェックし、フィードバックを⾏う

Slide 5

Slide 5 text

© LayerX Inc. 技術組織としての分岐点 AI申請レビュー機能の設計 ⼩さい仕事をするLLMと精度検証 明細の項⽬に対するレビューの場合 ● レビュールールは事前に定義 ○ ワークフローで決定的に処理 ○ ⾼速で確実な判定を実現 ● LLMは柔軟性が必要な処理に特化 ○ ルールベースで定義できない項⽬のチェックが可能 ■ 「訪問理由」など ルールベースの確実性とLLMの柔軟性を組み合わせた設計

Slide 6

Slide 6 text

© LayerX Inc. 技術組織としての分岐点 LLMはAI申請レビューの体験の要 - LLMの応答の精度はプロンプトエンジニアリングを通じて⽇々改善を⾏っている - 精度改善に対して、以下の質問に⾃信を持って答えたい - 「良かれと思った変更」が本当に改善につながっているのか? - ⼀部の⼊⼒例に対する精度が上がっても、他のケースで下がっていないか? 勘ではなく、データで判断するために精度検証の⽅法が必要 精度検証の重要さ ⼩さい仕事をするLLMと精度検証

Slide 7

Slide 7 text

© LayerX Inc. 技術組織としての分岐点 以下を実現できる LLMOps ツールとして Langfuse を利⽤ 主な機能 ● Prompt Management ○ LLMのプロンプトのバージョン管理 ● Datasets ○ 評価⽤の⼊出⼒セットの管理 ● Scores ○ LLMの実⾏結果へのスコアつけ‧閲覧 Langfuseを使った精度検証 ⼩さい仕事をするLLMと精度検証

Slide 8

Slide 8 text

© LayerX Inc. 技術組織としての分岐点 ● プロンプトの変更履歴‧理由を追跡 ● アプリケーションが利⽤するプロンプトの制御はproduction ラベルを⽤いて可能 Prompt Management ⼩さい仕事をするLLMと精度検証

Slide 9

Slide 9 text

© LayerX Inc. 技術組織としての分岐点 ● テストケースとして⼊⼒と期待する出⼒のセットを Dataset の Item として事前に定義 ● Item の⼊⼒をもとにLLMを実⾏し、期待される出⼒と⽐較 ● プロンプトごとに出⼒がどうなったか記録することで、精度評価に使⽤できる Datasets & Scores をつかった精度検証 ⼩さい仕事をするLLMと精度検証

Slide 10

Slide 10 text

© LayerX Inc. 技術組織としての分岐点 Datasets & Scores をつかった精度検証 ⼩さい仕事をするLLMと精度検証 # 実装のイメージ from langfuse import get_client langfuse = get_client() # 1. Datasetを取得 dataset = langfuse.get_dataset("dataset_name") # 2. 新しいプロンプトで全テストケースを実行 for item in dataset.items: # プロンプトを実行 result = invoke_llm( prompt=new_prompt, input_text=item.input["text"] ) # 3. 結果を評価してスコアを付与 # ここでは予想される結果と一致しているかだけチェック is_correct = (result == item.expected_output) # Langfuseにスコアを記録 langfuse.score( name="accuracy", value=1.0 if is_correct else 0.0, trace_id=trace.id )

Slide 11

Slide 11 text

© LayerX Inc. 技術組織としての分岐点 ● LLMの出⼒はプロンプトに⼤きく依存し、安易な変更は品質低下のリスクを伴う ● そのため、プロンプトをプロダクトコードと同様に扱い、変更はPR経由に統⼀ ● CIで⾃動的に精度を検証し、意図通りの変更であることを確認してからマージ プロンプトの更新フロー ⼩さい仕事をするLLMと精度検証

Slide 12

Slide 12 text

© LayerX Inc. 技術組織としての分岐点 ● 現⾏のプロンプトと今のプロンプトで結果にどんな差分があるかチェックできるように PRで精度検証を⾏うときのコメント例 ⼩さい仕事をするLLMと精度検証

Slide 13

Slide 13 text

© LayerX Inc. 技術組織としての分岐点 ● LLMは使い所が肝 ○ 全部をLLMに頼らない ○ 既存の⼿法と組み合わせて、LLMは得意な部分を担当させる ● データに基づいたプロンプトの改善サイクル ○ 精度検証⽤のデータセットを管理 ○ 勘ではなく数値で判断することで、安⼼して改善を続けられる ● プロンプトの変更は⾃動化する ○ PRで精度検証ができる仕組みの導⼊ ○ プロンプトもプロダクトと同じようにCI/CDを回す まとめ:実践的なLLM活⽤で気をつけたこと ⼩さい仕事をするLLMと精度検証

Slide 14

Slide 14 text

© LayerX Inc. 2025年8月1日 13:00−18:30 オンライン配信 https://layerx.co.jp/events/2025/bet-ai-day ご登録はこちら