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
kanayannet
March 28, 2026
Programming
91
0
Share
厳密な定義
Gunma.web #59
kanayannet
March 28, 2026
More Decks by kanayannet
See All by kanayannet
Mcp Training
kanayannet
0
160
MCP で「こいつ動くぞ」
kanayannet
0
130
無関心の谷
kanayannet
0
1.1k
生成AIの使いどころ
kanayannet
0
240
github copilot と 心理的安全性
kanayannet
0
270
FW と ライブラリ の考え方
kanayannet
0
270
TDDと今まで
kanayannet
0
650
個人開発 稼げなくてもいいアプリ
kanayannet
0
590
システムの堅牢性
kanayannet
0
340
Other Decks in Programming
See All in Programming
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
300
t *testing.T は どこからやってくるの?
otakakot
1
870
CDK Deployのための ”反響定位”
watany
5
910
JOAI2026 1st solution - heron0519 -
heron0519
0
170
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
190
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
160
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
460
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
120
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.8k
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
430
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
240
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
480
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Building AI with AI
inesmontani
PRO
1
960
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
230
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
690
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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」は意外と若い世代にも刺さる(事がある)
ご清聴ありがとうございました!