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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kanayannet
March 28, 2026
Programming
0
40
厳密な定義
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
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
160
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
Nuxt Server Components
wattanx
0
120
Rethinking API Platform Filters
vinceamstoutz
0
880
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
190
モダンOBSプラグイン開発
umireon
0
180
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
ファインチューニングせずメインコンペを解く方法
pokutuna
0
180
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
300
Ruby and LLM Ecosystem 2nd
koic
1
1.3k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
250
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
30 Presentation Tips
portentint
PRO
1
260
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Utilizing Notion as your number one productivity tool
mfonobong
4
270
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
A Soul's Torment
seathinner
5
2.5k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
190
Everyday Curiosity
cassininazir
0
180
Rails Girls Zürich Keynote
gr2m
96
14k
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」は意外と若い世代にも刺さる(事がある)
ご清聴ありがとうございました!