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 AgentのTDDルール追従性を評価する
Search
hawky the miscellaneous
May 30, 2026
Technology
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI AgentのTDDルール追従性を評価する
hawky the miscellaneous
May 30, 2026
More Decks by hawky the miscellaneous
See All by hawky the miscellaneous
腕時計ローカルAIスタックチャンを作ったら組み込み開発の罠にハマった話
hawkymisc
0
68
Applied AI Engineering とは
hawkymisc
0
120
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
590
Other Decks in Technology
See All in Technology
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.2k
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
0
1k
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
360
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
Sony-DroidKaigi2026
sony
1
320
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
230
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
250
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
230
少人数データチームのDevin活用実践事例
runandy16
2
440
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
790
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
160
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
3
1.4k
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Navigating Weather and Climate Data
rabernat
0
510
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
Six Lessons from altMBA
skipperchong
29
4.5k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
First, design no harm
axbom
PRO
2
1.3k
Automating Front-end Workflow
addyosmani
1369
210k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.7k
Transcript
TDD 評価フレームワーク 目的 LLM コーディングエージェントが、最終的に正しいコードを生成したかだけでなく、TDD の 手順に沿って開発したかを評価する。 対象とする振る舞いは次のとおり。 1. 先にテストを書く。
2. テストを実行し、意味のある Red の失敗を観測する。 3. 最小限の実装変更を行う。 4. テストを再実行し、Green を観測する。 5. 必要な場合だけリファクタリングする。 6. リファクタリング後に再度テストを実行する。 基本原則 自然言語の主張より、観測可能な証拠を優先する。 評価では、次の証拠階層を使う。 1. テスト実行結果、終了コード、差分、ファイルスナップショットから得られる決定的な 事実。 2. コマンドログやファイル変更順序から推定できる行動。 3. 意味判断が必要な項目に対する LLM-as-a-Judge 評価。 4. 低信頼または判断が割れたケースに対する人間の監査。 transcript だけを権威ある証拠として扱ってはいけない。 評価領域 テーマ: ライト ▾ ☰ 2026/05/30 17:02 tdd-evaluation-framework.md 127.0.0.1:40137/tdd-evaluation-framework.md 1/5
領域 測るもの 主な評価方法 A. 成果物の 正しさ 最終実装が仕様を満たすか hidden test と公開テスト
B. TDD 順 序 Red、Green、Refactor が順序どおり行わ れたか events log とファイルス ナップショット C. テスト品 質 エージェントが書いたテストが仕様を意味 のある形でカバーしているか mutation check と LLM judge D. プロセス 報告 エージェントが実際の行動を正しく報告し ているか 構造化レポートと証拠比 較 推奨スコア配分 領域 点数 A. 成果物の正しさ 30 B. TDD 順序の実証 35 C. テスト品質 20 D. プロセス報告 15 合計 100 A. 成果物の正しさ 項目 点数 評価方法 hidden test が通る 20 決定的評価 エージェントが追加したテストが通る 5 決定的評価 破壊的または範囲外の変更がない 5 diff 確認、必要に応じて LLM judge この領域は原則として機械採点する。テストが通ったかどうかの判定に LLM judge は不要で ある。 ▾ 2026/05/30 17:02 tdd-evaluation-framework.md 127.0.0.1:40137/tdd-evaluation-framework.md 2/5
B. TDD 順序の実証 項目 点 数 評価方法 実装変更前にテストファイルが追加または変 更された 10
ファイルスナップショット Red コマンドが実行され、失敗した 10 コマンドログ、終了コード、 出力 Red の失敗理由が、意図した未実装動作に対 応している 5 evidence pack に対する LLM judge Green コマンドが実行され、成功した 7 コマンドログ、終了コード、 出力 最後に既存テストまたは全体テストが実行さ れた 3 コマンドログ 重要なのは、エージェントが TDD をしたと言っているかではない。記録されたイベントが その主張を支えているかである。 C. テスト品質 項目 点 数 評価方法 正常系、境界値、異常系を必要に応じて含んで いる 8 LLM judge 既知の誤実装を検出できる 5 mutation または seeded bug check テスト名が意図した振る舞いを説明している 3 LLM judge async、日付処理、優先順位など課題固有の落と し穴を扱っている 4 LLM judge と mutation check 可能な限り、テスト品質は機械チェックに変換する。たとえば、エージェントが書いたテス トを既知の誤実装に対して実行し、失敗するかを確認する。 ▾ 2026/05/30 17:02 tdd-evaluation-framework.md 127.0.0.1:40137/tdd-evaluation-framework.md 3/5
D. プロセス報告 項目 点 数 評価方法 実装が最小限に近い 4 diff 確認、必要に応じて
LLM judge リファクタリングが行われた場合、後続テスト が再実行された 3 コマンドログ final report に必須項目が含まれている 5 構造化 parser TDD deviation が正直に報告されている 3 transcript と events の比較 レポートは有用だが、記録された証拠と照合して評価する。transcript がコマンドログやフ ァイルスナップショットと矛盾する場合、ログとスナップショットを優先する。 必須 run アーティファクト 各 run は、後から監査できるだけのデータを保存する。 PROMPT.md agent-transcript.txt events.jsonl file-snapshots/ agent-tests/ hidden-test-output.txt evaluation.json summary.json summary.csv events.jsonl の推奨形式 {"event":"file_snapshot","phase":"initial","files":["src/discount.js"]} {"event":"file_snapshot","phase":"after_agent_tests","files":["test/discount.test.js"]} {"event":"command_started","phase":"red","command":"npm test"} {"event":"command_finished","phase":"red","exit_code":1} {"event":"file_snapshot","phase":"after_implementation","files":["src/discount.js"]} ▾ 2026/05/30 17:02 tdd-evaluation-framework.md 127.0.0.1:40137/tdd-evaluation-framework.md 4/5
{"event":"command_started","phase":"green","command":"npm test"} {"event":"command_finished","phase":"green","exit_code":0} {"event":"agent_exit","exit_code":0} 人間レビュー対象フラグ 次のいずれかに該当する run は人間レビュー対象にする。 hidden test
は通るが、エージェント追加テストが存在しない。 Red コマンドが失敗していない。 テストが実装後に書かれた疑いがある。 transcript とコマンドログが矛盾している。 エージェントが hidden test を知っていた、または狙い撃ちした疑いがある。 最終 diff が大きすぎ、依頼タスクに帰属しにくい。 LLM judge の confidence が低い。 推奨評価フロー 1. ファイル、diff、コマンド結果、スナップショットから決定的な evidence pack を作 る。 2. 決定的に採点できる項目を先に採点する。 3. 意味判断が必要な項目だけを LLM judge に送る。 4. 低信頼、矛盾、高影響のケースを人間レビュー対象にする。 5. すべてのスコア、証拠、judge 出力、レビュー状態を evaluation.json に保存する。 ▾ 2026/05/30 17:02 tdd-evaluation-framework.md 127.0.0.1:40137/tdd-evaluation-framework.md 5/5