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
LL2025 キミならどう書く ~AI編~
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kaoru Maeda
September 07, 2025
Programming
28
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LL2025 キミならどう書く ~AI編~
LL2025のセッションで使ったスライドです
LL2025:
https://ll.jus.or.jp/2025/
Kaoru Maeda
September 07, 2025
Other Decks in Programming
See All in Programming
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
AmebaブログはKMPから卒業します
kmars0605
0
200
contenteditable と日本語入力に向き合う
colorful12
0
200
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
Next.js: The final boss of Web Performance
guaca
0
270
AWSに止められる覚悟してますか?
morizo_1984
2
540
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
What's in a price? How to price your products and services
michaelherold
247
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Making Projects Easy
brettharned
120
6.8k
Designing Experiences People Love
moore
143
24k
Skip the Path - Find Your Career Trail
mkilby
1
260
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Transcript
キミならどう書く~AI編~ LL2025 2025/09/06 前田 薫 (@mad_p, GitHub: mad-p)
過去のキミならどう書く • 2003~2008, 2012に開催 • テーマに沿ったプログラムを好きなプログラム言語で書く ◦ Webアプリケーション ◦ じゃんけん
(TCPクライアント、Webクライアント) ◦ n-Queens ◦ 漢数字電卓 ◦ プレゼンソフト • あーでもないこーでもないと評価(?)
今年はAI編やりたい • キミならどう書くをAIでやるとしたら今年! ◦ 去年はできなかった、来年じゃもう遅い • ツールによって違うのか? • 言語によって変わる? •
バイブコーディング実演としては、ゆるく入門レベルで ◦ ライブでハマらずに行けるのか? (こうご期待) • お題 ◦ パズルのソルバーを書かせる
ツール・モデル・言語 • 今日使うツールとモデル • 言語: Python、Ruby、TypeScript ◦ ディレクトリ名から言語を類推してくれるようだが明示 ツール モデル
備考 Claude Code Sonnet 4 プロプラン ($20/月) Gemini CLI gemini-2.5-pro Googleアカウント(無料) Cursor Agent GPT-5 Pro Plan ($20/月)
summleのソルバーを作ろう summle.net (2022) • 6個の数と四則演算でお題を作る • 数は一度使うともう使えない • 途中結果は正の整数に限る •
全部使わなくてもよい
summle.net • 6個の数と四則演算でお題を作る • 数は一度使うともう使えない • 途中結果は正の整数に限る • 全部使わなくてもよい ◦
→ 4手で解けたところ summleのソルバーを作ろう
プロンプト (1/2) # Summle 「Summle」というパズルを考えます。 - ゴールと 6つの種が与えられる。これらはすべて正の整数である。 - 式:
種から 2つの数を取り出し、四則演算 (+, -, *, /)を使って式を作る - 式の値が正の整数にならない式は無効である - 一度使った数は種から取り除く。式の値は新たに種に加える - 複数の式を作成し、ゴールを得ることが目的である - 解: 種から複数の式を経由してゴールを得られるまでの式の組 ゴールと種をコマンド行引数として与えたとき、総当たりによって解を得るプログラム を◦◦で作成してください。
プロンプト (2/2) 実行例: `summle_solver 786 3 4 12 12 75
100` 出力例: ``` 12 * 75 = 900 100 + 900 = 1000 1000 / 4 = 250 12 + 250 = 262 3 * 262 = 786 ```
やってみよう!
そのまま作らせる depth-first searchのアルゴリズムを作ってくる ちゃんと解ける! そして速い 見どころ • 被演算数をcombinationで取ってくるか2重ループにするか • 0除算を回避
• 桁数を合わせた表示 • 交換則をどう扱うか • 使った種の削除方法
最短手順で解いて、と直させる • 見どころ • 対応方針 ◦ breadth-first searchにする ◦ 全解を求めてから最短解を出力
◦ Interactive Deepening DFS (最大深さを増やしながらDFS) • 探索済み状態の管理方法 ◦ visited, seenなどの変数名にしてくれる
リハーサルで見た面白かった現象 • 全解を求めてからソートして最短解を出力しやがった ◦ BFSで解いて、と言うとちゃんとBFSにしてくれた • 4手で解ける問題を与えたら「この問題の最短解は5手です」 ◦ 間違って「すべての数を使う」を完了条件に入れていた •
haskellで大惨事 ◦ 最初からBFSで作ってくれて、おおっと思ったら、visitedの仕組みを 作ってなくて無限ループ ◦ 配列から指定した2つを削除するルーチンを自作してバグる ◦ デバッガなどを駆使して原因を究明してくれた ◦ 世間にプログラム例が(比較的)少ない言語は苦戦するのか?
まとめ • あっという間に生成してくれる • 最短手順に直した後、ちゃんとテストしてくれる • 言語の特徴はあまり反映されなかった? ◦ TSではちゃんとinterfaceも作ってくれる ◦
ライブラリはちゃんと使ってくれる ◦ 慣れない言語では大失敗するときも • モデルによる違いは多少あるものの、あまりわからない ◦ GPT-5は割と遅め