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
厳密な定義
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kanayannet
March 28, 2026
Programming
0
36
厳密な定義
Gunma.web #59
kanayannet
March 28, 2026
Tweet
Share
More Decks by kanayannet
See All by kanayannet
Mcp Training
kanayannet
0
140
MCP で「こいつ動くぞ」
kanayannet
0
120
無関心の谷
kanayannet
0
1.1k
生成AIの使いどころ
kanayannet
0
230
github copilot と 心理的安全性
kanayannet
0
260
FW と ライブラリ の考え方
kanayannet
0
260
TDDと今まで
kanayannet
0
640
個人開発 稼げなくてもいいアプリ
kanayannet
0
580
システムの堅牢性
kanayannet
0
330
Other Decks in Programming
See All in Programming
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
160
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.1k
ファインチューニングせずメインコンペを解く方法
pokutuna
0
180
Windows on Ryzen and I
seosoft
0
390
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
440
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
250
OTP を自動で入力する裏技
megabitsenmzq
0
130
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
400
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
Featured
See All Featured
Fireside Chat
paigeccino
42
3.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
First, design no harm
axbom
PRO
2
1.1k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Automating Front-end Workflow
addyosmani
1370
200k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Design in an AI World
tapps
0
180
Claude Code のすすめ
schroneko
67
220k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
A Soul's Torment
seathinner
5
2.5k
Typedesign – Prime Four
hannesfritz
42
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Transcript
@kanayannet 厳密な定義 Gunma.web #59
前提
前提 今回話すのはAIから適切な回答を得るために どんな工夫をするといいのか? 言葉の定義の大事さが刺さる内容にしたい そのための練習LT である 凄い話ではない
Agenda
Agenda 形式手法とは? 厳密な仕様とは? 生成AIの反応を見る 仕様の大切さをどう伝える? まとめ
形式手法とは?
形式手法 仕様を厳密な構文と、意味を持つ手段で記述して、検証( Verification )、妥当性( Validation )、確認、文書化、設計といった開発活動の品質を向上させる手法 お財布携帯 = FeliCa 開発時に使われた手法
参考(るびま): https://magazine.rubyist.net/articles/0045/0045- TochigiRubyKaigi05Report.html
厳密? 行き違い・勘違いがない定義 VDM というツールもあるくらい
module SimpleWallet types -- 残高は0以上 Balance = nat inv b
== b >= 0; state Wallet of balance : Balance init w == w = mk_Wallet(0); operations -- チャージ Charge(amount: nat) ext wr w pre amount > 0 post w.balance = w~.balance + amount;
中々ハードル高い
あくまで考え方が重要
なぜ?形式手法だったか? 仕様策定者と実装者 間で「勘違い」を起こしたまま進むと困る 検証( Verification ) = 仕様をレビューできる 妥当性( Validation
) = 仕様を評価できる
「不具合厳禁」というよりも...
「勘違いを避ける」
じわじわ生成AIのネタに 近づいてきましたか?
厳密な仕様とは?
例題をいくつか出します 生成AI のレスポンスを試します
例題1 画像をアップロードして、表示したい
None
ふわっとし過ぎてコード出してくれない(汗)
例題2 不特定多数の人に画像をアップロードして、表示したい
None
やや前進(反応が変わる)
例題3 不特定多数の人に画像をアップロードして、表示したい 転送料金が気になるので S3 と CloudFront を使いたい
None
ようやくコードを自動生成 しかし..言語はAI任せ(JS, Python) lambda 利用もAI任せ
例題4 不特定多数の人に画像をアップロードする 画像かどうか?をruby mini-magick を使って評価する 許可する画像は gif, jpeg, png とする
許可する容量は 5MB とする インターネット上で画像を表示する S3 と CloudFront を使う 転送料金がやすい方がいい aws の認証情報は xxxxx として欲しい
None
だいぶ意図通り 微調整で済むくらいのものになってきた
例題5(おまけ) 上記二つの学習プランを立てて欲しい
None
学習プラン ちょっと基本を飛ばしてる感あるが... ないよりマシくらいのプランを出してくる
仕様の大切さをどう伝える?
結構難しい 正直上述の例を出してみても、イマイチ刺さらない方が多い
理由を考察
シニアエンジニアの前提 いきなりコードから書かない 「勘違い」による「やり直し」の果てしなさを「経験」済である 「勘違い」が起きないように進める 言葉(自然言語)による厳密な定義の「重要」さを知っている etc...
ジュニアエンジニアの前提 コードを書くことへの憧れ 職業プログラマへの憧れ 最重要は「コード」 動くもの大好き 動くものがすぐ欲しい コードのお手本大歓迎
すれ違う(汗)
アイデア 言語化レビュー
曖昧な定義を粛清しようというのだアムロ 当日はシャアの画像
そうは言うがな大佐 当日はスネークの画像
たかが仕様書一つ!書いてみせる! 当日はアムロの画像
と...期待したい
まとめ
まとめ 「曖昧さがない」言葉による定義は重要 コードじゃなく「自然言語」が武器になる 生成AIと相性がいい 微調整で済む(事が多い) 銀の弾丸は存在しない きちんとやろうとする方もいる コードにまっしぐらの方もいる
おまけ ネタが解った方は..「年齢」がバレます!
悩み事 じわじわ「ネタ」が通じる世代が少なくなってきた(汗)
意外な事 「JOJO」は意外と若い世代にも刺さる(事がある)
ご清聴ありがとうございました!