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
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
100
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
CSC307 Lecture 02
javiergs
PRO
1
780
今から始めるClaude Code超入門
448jp
8
9.1k
CSC307 Lecture 03
javiergs
PRO
1
490
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
120
Gemini for developers
meteatamel
0
100
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Navigating Weather and Climate Data
rabernat
0
110
Practical Orchestrator
shlominoach
191
11k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
94
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
A Soul's Torment
seathinner
5
2.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
We Have a Design System, Now What?
morganepeng
54
8k
The Curious Case for Waylosing
cassininazir
0
240
Abbi's Birthday
coloredviolet
1
4.8k
A Modern Web Designer's Workflow
chriscoyier
698
190k
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は割と遅め