Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
正しい実装,間違った仕様書
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Masahiro Yamane
June 08, 2026
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
正しい実装,間違った仕様書
Masahiro Yamane
June 08, 2026
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.5k
Technical Leadership for Architectural Decision Making
baasie
3
600
sira's awesome portfolio website redesign presentation
elsirapls
0
450
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
We Have a Design System, Now What?
morganepeng
55
8.4k
Leo the Paperboy
mayatellez
10
2.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Raft: Consensus for Rubyists
vanstee
142
7.8k
Designing for Timeless Needs
cassininazir
1
530
Transcript
正しい実装、間違った仕様書 山根正大 Hello LT world「触ってみた!作ってみた!LT Night」 by Findy 2026/06/09 |
#helloltworld_findy
突然ですが、質問です 「生成AIに、ちゃんと仕様書を書いて渡したのに バグをリリースしちゃった」経験、ありますか? 僕はあります。なんで...?
自己紹介 データエンジニア(Python / Pandas) 予防医療事業を推進する企業 仕様書 → Agentで開発、を3月ごろから始めています これが今日の「触ってみた」
前提:自チームの開発フロー 仕様書を書いてリポジトリに追加 ↓ AI Agent に「これで開発して」と指示 ↓ コード生成・実装
こんな機能追加をしたい 健康診断の「対象者データ」 「受診者データ」のファイルをお客さんから受領した。 これが分析に使って良い妥当なデータかを、ドメイン知識を使ってチェックしたい。 ドメイン知識 チェック対象 閾値 対象者の5割は受診し ているはず 対象者データのうち、受診者データ
にいる人の割合 50% 未満 → WARNING 受診者は全員対象者 受診者データのうち、対象者データ にいる人の割合 100% 未満 → WARNING
書いた仕様書(これが問題) チェック対象 条件 対象者リストと受診者リストの照合率を確認 ( min_rate_a_in_b ) 50%未満 → WARNING
受診者リストと対象者リストの照合率を確認 ( min_rate_b_in_a ) 100%未満 → WARNING min_rate_a_in_b / min_rate_b_in_a は既存関数の引数名... def check_match_rate( data_a, # データA(基準) data_b, # データB(比較) min_rate_a_in_b=0.9, # AのうちBにいる割合の最小閾値(下回るとWARNING) min_rate_b_in_a=0.85 # BのうちAにいる割合の最小閾値(下回るとWARNING)
Agentの実装とバグ Agentはこう実装した check_match_rate( data_a=受診者リスト, # data_a ← 本来は対象者リストのはず data_b=対象者リスト, #
data_b ← 本来は受診者リストのはず min_rate_a_in_b=0.5, min_rate_b_in_a=1.0 ) → 気付かずリリース。翌日にバグ発覚。
なぜこうなったか 仕様書に一部の引数名(min_rate_a_in_b / min_rate_b_in_a)を書いた ↓ 記述の足りない引数があった(data_a, data_b)のでagentは推測した ↓ その結果が間違っていた ↓
(レビューでも検知できず... ) そもそも実装の言葉を仕様書に書くべきではなかった。 ...し,実装ベースで支持するにしても中途半端だった。
なんで実装のことなんて仕様書に書いちゃったの 元々Agentに食べさせられる粒度の仕様書がなかった 社内ドキュメントをもとにAgentに仕様書を作らせたが、 一部足りないところは実装ベースで補完した その際に実装の言葉が混入し、そのまま放置されてしまった
学び 1. 仕様書はビジネスの言葉で書くんやで〜 「 引数hoge で何%」ではなく「対象者リストにいる人のうち、受診者リストにもいる 人が50%未満」と書く。実装の詳細を仕様書に混ぜない。 2. (より抽象化すると)ドキュメントは目的に沿った抽象度で書きや〜 仕様書にはビジネスロジックを、実装に関することはコードコメントに。
ドキュメントの種類ごとに「何を書くべきか」を意識する。
Garbage In, Garbage Out ご清聴ありがとうございました