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のAIによるAIのための出力評価と改善
Search
たまねぎ
June 25, 2025
Technology
2
690
AIのAIによるAIのための出力評価と改善
たまねぎ
June 25, 2025
Tweet
Share
More Decks by たまねぎ
See All by たまねぎ
[FlutterKaigi2024] Effective Form 〜Flutterによる複雑なフォーム開発の実践〜
chocoyama
1
11k
iOSDC2023:聴いて話すiOS 現実世界の「音」との連携
chocoyama
1
350
ハードウェア対応のリアル.pdf
chocoyama
0
94
20分でわかる!速習resultBuilder(iOSDC 2022)
chocoyama
7
3.2k
SwiftUIっぽくした話
chocoyama
1
690
SwiftUIとGraphQLでプロダクトの継続的な破壊に立ち向かう
chocoyama
6
2.6k
Other Decks in Technology
See All in Technology
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
2
770
o11yツールを乗り換えた話
tak0x00
1
220
LIFF CLIとngrokを使ったLIFF/LINEミニアプリのお手軽実機確認
diggymo
0
230
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
170
2025-07-31: GitHub Copilot Agent mode at Vibe Coding Cafe (15min)
chomado
2
380
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
190
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
170
Kiroから考える AIコーディングツールの潮流
s4yuba
4
660
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
1.8k
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
110
AWS DDoS攻撃防御の最前線
ryutakondo
0
120
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
140
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Embracing the Ebb and Flow
colly
86
4.8k
How GitHub (no longer) Works
holman
314
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
The Language of Interfaces
destraynor
158
25k
Balancing Empowerment & Direction
lara
1
530
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
We Have a Design System, Now What?
morganepeng
53
7.7k
Done Done
chrislema
185
16k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Transcript
AIのAIによるAIのための出力評価と改善 AIの出力の質をあげる!チームの集合知を注入する方法
自己紹介 @_chocoyama(たまねぎ) 株式会社LayerX バクラク申請・経費精算チーム Flutterでモバイルアプリ作ってます よく使っているAI Coding Tools Claude Code,
Cursor 最近の悩み 老眼、鼻炎、知覚過敏と顔面周りのおぢ化が急速に進ん でいる © LayerX Inc. 2
「AIの出力の質をあげる!」 そもそも「質が上がった」ということをどう判断していますか?
AIの出力の質が上がったかどうか © LayerX Inc. 「ルールを追加したら、なんかいい感じに動いてそう」 「とりあえずルール見てくれてはいるから、なんかいい感じにやってくれてそう」 4
AIの出力の質が上がったかどうか →「なんかいい感じになってる」を脱しきれない もう少し主観的ではない形で評価したい! ※ 今日話す内容 x 完璧にうまくいっている o 試行錯誤しながら前に進んでいる ©
LayerX Inc. 「ルールを追加したら、なんかいい感じに動いてそう」 「とりあえずルール見てくれてはいるから、なんかいい感じにやってくれてそう」 5
弊チームのAI Codingの状況 © LayerX Inc. 1月ごろからCursor活用開始 ちょうどmdcファイルが使えるようになったぐらいのタイミング 元々活用していたTechDocumentsをそのままルールとしてimport なんとなくプロジェクトの文脈を理解してくれそう!という状態になる 一定レベルを超えない感覚があり、DesignDocやADRを一通りimportしてみるが、まぁまぁ...という感じ
Specっぽいのを入れてみたりしてみるが、良い感じにはならず... 6
改善したい! Tryしてみた
なんとなくの対策1:プロンプトの改善 © LayerX Inc. ルールの改善ではないため、根本的な基盤に対しては何も変化がない 個々の実装者のプロンプト力にも依存しており、再現性がない 8
なんとなくの対策2:ルールの追加や改善 © LayerX Inc. 足りてなさそうなルールの追加 ちゃんとワークしているのかよくわからない 「追加したルール見てくれてるから多分良さそう」から脱しきれない ルール設定のベストプラクティスへの準拠やAIによるルール改善を試す 対応内容によっては、明らかにアウトプット品質が低下 低下しなかったとしても、何が変わったのかイマイチわからない
9
なんとなくの対策3:AI Coding Agentの変更 © LayerX Inc. 「Claude Code使ってるとルールそんなに整備しなくてもいい感じだよ」 ルールの呪縛から逃れられるのであれば、それが一番楽 Cursor,
Cline, Roo Code → Claude Codeに切り替え 確かに良くなった感じがするが、うまくいかないこともまだまだ多い Flutter/Dartは弱い?プロジェクトが複雑すぎる? 10
そもそもルールがワークしてるか 把握できていない
何か対応を入れようとしてみても... その対応を入れたことで、どういった変化が 出るかがいまいち見えない 変わらないならまだしも、出力を悪化させる のは避けたい気持ちも生まれる 積極的にルールいじる動きになれない © LayerX Inc. 12
計測してみよう
どう計測するか LLMのアウトプットってシステマチックに評価できるもの...? © LayerX Inc. x「モデルの性能」自体を評価するような計測 o 実ユースケースに近い、アウトプットされたコードを評価するような計測 実行のたびに大きく結果が変わる 結果はテキストデータになるため、評価はある程度定性的に判断するしかない
14
世のプロダクトはどうやって評価している? © LayerX Inc. LangSmith がそれに近いアプローチをしている ※ LangSmith: LLMアプリケーションを構築するためのプラットフォーム 以下の組み合わせを構成し、LLMのアウトプットを評価
Datasets:評価対象となるもの(何を検証するか) Evaluators:出力を評価する関数(どう採点するか) Human:人が採点 Heuristic:ルールベースで採点 LLM-as-judge:LLMが採点 Pairwise:バージョンを比較して判定 15
エージェントに対する評価の方法 © LayerX Inc. Final Response:最終的なレスポンスだけを評価する ブラックボックス的にテキストレスポンスを評価することになるので、LLM-as-judge Evaluatorが効果的 「時間がかかる」 「内部の動作を評価していない」
「評価指標の定義が難しい」という欠点がある Single Step:エージェントのステップを単独で評価する 高速で実行でき、アプリケーションの失敗箇所を特定しやすい 「エージェントの全体像が把握できない」 「後半ステップのデータセット作成が困難」という欠点がある Trajectory:期待された経路をたどったかどうかを評価する エージェントが取った全てのステップを評価するアプローチ 複数の正しいパスがある場合に評価しづらい 16
今回試した組み合わせ → これを動かすための仕組みを用意した © LayerX Inc. 評価方法:Final Response Datasets:実装コード Evaluators:LLMが主体となり、人が最終チェック
17
構成 © LayerX Inc. Datasets Creator:Datasetsを生成する Evaluator:生成されたDatasetsを評価する 18
構成 © LayerX Inc. 簡単にするために、Datasets CreatorとEvaluatorをプロンプト化 このプロンプトを渡して、Agentに作業を委譲 19
構成 © LayerX Inc. 毎回プロンプト作るのも面倒→プロンプト生成作業もAgentに委譲 「プロンプト生成プロンプト」を用意 「担保したいこと」からDatasets CreatorとEvaluatorを自動生成 20
動作イメージ Claude CodeのCustom Slash Commandでプロンプ ト生成用プロンプトを実行 /create-benchmark で起動 © LayerX
Inc. 21
Datasets Creator 検証対象となるDatasets (実装コード)を生成する ためのタスクを定義したフ ァイル AIにはこれをプロンプトと して渡して、Datasetsを生 成してもらう ©
LayerX Inc. 22
Evaluator 生成されるDatasets(実装コード) をどう評価するか定義したファイル 最終的に、AIにこれを読ませながら成 果物の評価を行ってもらう © LayerX Inc. 23
評価の実行 Datasets Creatorと Evaluatorの内容に問題がな いことを確認 /benchmark で起動 LLMのアウトプットは一定 にはならない 複数回並列実行して総合的に判
断(Claude CodeのTaskツール で実現) © LayerX Inc. 24
結果 © LayerX Inc. 25
できるようになったこと © LayerX Inc. 「なんかよさそう」 「なんかイマイチ」という状態を客観的に評価できるようになった 変更前後の差分を見ることで、対応内容に価値があるかを判断しやすくなった (今後)モデルを変えるだけで、どういった変化が現れるか検証しやすくなった 26
実際に改善できたこと
1. ユビキタス言語の理解 © LayerX Inc. Claude Codeに乗り換えてから、ユビキタス言語の理解が足りてない気がする → ドメイン用語の理解度チェックのベンチマークを追加 28
1. ユビキタス言語の理解 © LayerX Inc. CLAUDE.mdにユビキタス言語の情報を追加 29
2. 定型的な実装の安定化 © LayerX Inc. すでに存在する実装パターンがあるが踏襲してくれない 30
2. 定型的な実装の安定化 © LayerX Inc. 実装の手順を記述したPlaybookを追加し、 CLAUDE.md にそのindex情報を追加 (コンテキストサイズを抑えるためimportまではしない) 31
課題 © LayerX Inc. 実行時間が長い コスト面を考えるとCIに載せられない try & errorも時間がないとできない(git worktreeなど活用して裏で回しておくことはできるが...)
これを実行する習慣は中々つかない 今回実験的にやってみているが、普段積極的にやるかと言うとやらない気がする... ここまで仕組み化はせず、プロジェクトで何個か挙動を確認するためのスニペットを持っておくぐらいでも十分 かも あくまでベンチマーク 実際の実装時に100%期待結果が出るとは限らない ある程度、個々のプロンプトにも左右される (が、近い将来"プロンプト力"のようなものは重要じゃなくなってくるかもしれない) 32
今後、より意味のあるものにするには 継続的に色々試していくぞ! © LayerX Inc. ベンチマークの作成と起動をオートにする 「うまくいかなかったこと」を溜めておく → これをトリガーに自律的に改善を回せたら良いかもしれない AIからの自動提案などと組み合わせる
それらの改善提案を適用すると、「Before/Afterでこうなるよ」を合わせて示す → 取り込むモチベーションになる 33
None
© LayerX Inc. 35