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
LL2025 キミならどう書く ~AI編~
Search
Kaoru Maeda
September 07, 2025
Programming
0
23
LL2025 キミならどう書く ~AI編~
LL2025のセッションで使ったスライドです
LL2025:
https://ll.jus.or.jp/2025/
Kaoru Maeda
September 07, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
AtCoder Conference 2025
shindannin
0
1.1k
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
100
AgentCoreとHuman in the Loop
har1101
5
240
高速開発のためのコード整理術
sutetotanuki
1
410
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
並行開発のためのコードレビュー
miyukiw
0
1.1k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
CSC307 Lecture 09
javiergs
PRO
1
840
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3k
Tell your own story through comics
letsgokoyo
1
810
Writing Fast Ruby
sferik
630
62k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
150
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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は割と遅め