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
kanayannet
March 28, 2026
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
厳密な定義
Gunma.web #59
kanayannet
March 28, 2026
More Decks by kanayannet
See All by kanayannet
リファクタリング ハーネス
kanayannet
1
130
Mcp Training
kanayannet
0
280
MCP で「こいつ動くぞ」
kanayannet
0
200
無関心の谷
kanayannet
0
1.3k
生成AIの使いどころ
kanayannet
0
270
github copilot と 心理的安全性
kanayannet
0
300
FW と ライブラリ の考え方
kanayannet
0
290
TDDと今まで
kanayannet
0
770
個人開発 稼げなくてもいいアプリ
kanayannet
0
620
Other Decks in Programming
See All in Programming
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
Simple Storage Service(S3) is not simple
iwatsukayura
0
220
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
120
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
Verilogで学ぶCPU自作入門
uyuki234
8
4k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
7.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
470
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
2
2.3k
すこし踏み込む CancellationToken
htkym
2
1.6k
dotNET_vulnclicker_intro.pdf
deka_morita
0
110
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
340
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Fireside Chat
paigeccino
43
4.1k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
310
Designing for humans not robots
tammielis
254
26k
Site-Speed That Sticks
csswizardry
13
1.5k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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」は意外と若い世代にも刺さる(事がある)
ご清聴ありがとうございました!