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
どうせキレイに書けない処理は逆にAIに書いてもらうほうが良い説 / #kyotojs 22
Search
potato4d(Takuma HANATANI)
June 28, 2024
Programming
3
410
どうせキレイに書けない処理は逆にAIに書いてもらうほうが良い説 / #kyotojs 22
2024.06.28 に開催された #kyotojs での登壇資料です。
https://kyotojs.connpass.com/event/321343/
potato4d(Takuma HANATANI)
June 28, 2024
Tweet
Share
More Decks by potato4d(Takuma HANATANI)
See All by potato4d(Takuma HANATANI)
TSX First な Zero-Runtime SSG potato4d/dodai とその仕組み / owned static site generator #kyotojs
potato4d
1
2.3k
Vue.js with TSX - From Vue 2.x to Vue 3 #v_tokyo11
potato4d
9
4.9k
終わりゆく Vue 2.x 時代の状態設計のアンサー - Vue 3 の Provider への期待 / The Last Architecture of the Vue 2.x
potato4d
25
7k
Web Worker を使ってブラウザ上でポケモンの画像を解析したい! / Pokemon recognition from screenshots in browser using web worker
potato4d
0
1.3k
Firebase & Google Cloud によるサーバーレス帳票管理 #FJUG / Serverless Architecture in Candy
potato4d
8
3.7k
NestJS meetup Tokyo Opening Talk / What is NestJS? #nestjs_meetup
potato4d
11
4.2k
私たちはなぜ SPA で開発するのか / Why you choose SPA
potato4d
39
27k
Amplify Console 誕生以来本番運用しつづけてわかったこと #awswakaran_tokyo
potato4d
6
3.6k
気軽な Node.js バックエンド開発には TypeORM がちょうどいい #kng7 / introduce-typeorm
potato4d
9
4.7k
Other Decks in Programming
See All in Programming
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
690
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
430
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
110
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.3k
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.2k
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
440
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
310
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
900
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
340
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.6k
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
2.8k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Documentation Writing (for coders)
carmenintech
75
5k
Designing for Performance
lara
610
69k
How GitHub (no longer) Works
holman
315
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Navigating Team Friction
lara
189
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Balancing Empowerment & Direction
lara
4
670
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Transcript
None
w QPUBUPE5BLVNB)"/"5"/* w -*/&Ϡϑʔגࣜձࣾ ΤϯδχΞϦϯάϚωʔδϟʔ 'SPOU&OE w ࠓ౦ژ͔ΒདྷͯେࡕΦϑΟεͰࣄͯ͠ ͔Βདྷ·ͨ͠
w Ԡื࣌ʹॻ͍ͯͨωλ·ͨ࣍ͷLZPUPKT ͰհͰൃද͠·͢ ࣗݾհ
w QPUBUPE5BLVNB)"/"5"/* w -*/&Ϡϑʔגࣜձࣾ ΤϯδχΞϦϯάϚωʔδϟʔ 'SPOU&OE w ࠓ౦ژ͔ΒདྷͯେࡕΦϑΟεͰࣄͯ͠ ͔Βདྷ·ͨ͠
w Ԡื࣌ʹॻ͍ͯͨωλ·ͨ࣍ͷLZPUPKT ͰհͰൃද͠·͢ ࣗݾհ 地味に1年ぶりの登壇&前回もkyotojs
"*ʹίʔυΛॻ͔͍ͤͨͰ͢ΑͶʁ
ॻָ͍ͯͯ͘͠ͳ͍෦Λಛʹ͍ͤͨͰ͢ΑͶʁ
Ͱָ͘͠ͳ͍ίʔυ΄Ͳෳࡶ͡Όͳ͍Ͱ͔͢ʁ
ෳࡶͳίʔυͤͨ͘ͳ͍Ͱ͢ΑͶʁ
อकੑߟྀ͢ΔͱࣗͰॻ͔͟ΔΛಘ·ͤΜΑͶʁ
ຊ͔ʁ
ਓ͕ؒॻ͍ͯͲ͏ͤԚ͍ίʔυͳΒྑ͍ͷͰʁ
.1͕અ͞ΕͨͳΒɺͦΕेͳՌͳͷͰʁ
None
今回作ったもの • ゲームの Tier List (キャラランク)作成ツール • ゲーム内での強弱を整理し、SNSなどでシェアするために使わ れる概念 •
今遊んでいるゲームが古いものしか存在しないので作ることに • ツールが存在するかは有志の活発度によるが、存在するゲーム では概ね以下の機能を備えている • D&Dやスワイプによるシンプル操作の Tier List 作成 • 作成した Tier List の画像出力(PNG)
今回作ったもの • ゲームの Tier List (キャラランク)作成ツール • ゲーム内での強弱を整理し、SNSなどでシェアするために使わ れる概念 •
今遊んでいるゲームが古いものしか存在しないので作ることに • ツールが存在するかは有志の活発度によるが、存在するゲーム では概ね以下の機能を備えている • D&Dやスワイプによるシンプル操作の Tier List 作成 • 作成した Tier List の画像出力(PNG)
%%Λߦ͏࣮ͷ໘͞ʹର͢ΔΈΜͳͷԠू %%Λߦ͏࣮ͷ໘͞ʹର͢ΔΈΜͳͷԠू しれっとDOMの 画像出力でも苦労しようとしてるぞ しれっとDOMの 画像出力でも苦労しようとしてるぞ クリックだけじゃなく スワイプ対応も必須なのが最悪 クリックだけじゃなく スワイプ対応も必須なのが最悪
俺は特に困らず 実装できたけど嫌いな人多そう 俺は特に困らず 実装できたけど嫌いな人多そう $('[draggable]') ↑これやめろ $('[draggable]') ↑これやめろ
ࣗͰ࣮ͨ͠Βԯ߷ͰҰੜΒͳ͍
ͷͰ"*ʹԡ͚ͯ͠ΈΔ
今回は GPT-4o を UI から利用。特に複雑な処理が AI 側では必要ないため。
None
「AIに敬語使うんですねw」 ↑やってるとき知り合いに言われた
思ってたのと違ったので画像で指示 (UIは本質ではないため後で自分で書く)
後でメンテするので 実装のイメージを詳細に
ライブラリを 使おうとしてくる
拒否する
微妙な要件のニュアンスは 追加で指示する
原因を実装から読み取って指示しても、どれかを直すとどれかのバグが再発するように
出力されるソースコードも予想通り迫力のあるものが増えてきた
ここらで損切りしたら
ライブラリを解禁する 大体うまくいった (UIは都度都度こっちで肉付けをしていったのでAIは記述なし)
出力されるソースコードも人間が扱える範囲で一旦着地
所要時間 2024/06/17 17:15 2024/06/18 01:30 8時間15分(うち4時間のサボり含む)
所要気力 ∞ 0 ※ ただし UI を組むのが苦ではない人に限る
૯ׅ w ࠓճʮ%%ΛϒϥβͰѻ͏ίʔυʯΛࡐʹ"*ʹͤͯΈͨ w ࣗͰటष͍࣮ΛؤுΔPSϥΠϒϥϦͤʹͳΔྖҬʹ͍ͭͯɺࠓճޙ ऀͰ࣮ݱͰ͖ͨɻલऀ͕ཧͰ͋Δ͕ɺΤοδέʔεͷରԠ͕͍͠ɻ w ͱ͍͑ʮέΞϨεϛε͕ൃੜͮ͠Β͍ʯʮ࣮͕໘Ͱ͋ͬͨΓௐΔ ඞཁ͕͋Δ͚ͩͰқࣗମߴ͘ͳ͍ʯͷΛͤΔͷ࠷దͩͱײͨ͡ɻ ࠓճ͕͑ͯͯͤͨ͢ɺۀͰ%%͚ͩԡ͚͠ΔͳͲ͋Γɻ
w ࠷ۙ$PQJMPUͳͲਓؒϝΠϯ ิॿͰ"*ͱ͍͏ίʔσΟϯάελΠϧ͕ ૿͍͑ͯΔ͕ɺݹ͖ྑ͖ʮؙ͛ʯఆ؍ଌ͍͖͍ͯͨ͠ɻ