OpenAPIから画面生成に挑戦した話
by
koinunopochi
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
OpenAPIから 画面生成に挑戦した話 1
Slide 2
Slide 2 text
〜夢の爆速改善 AIを添えて〜 2
Slide 3
Slide 3 text
3
Slide 4
Slide 4 text
きっかけ 4
Slide 5
Slide 5 text
夏休み中に こんな話を思い出した 5
Slide 6
Slide 6 text
近い未来 6
Slide 7
Slide 7 text
Webサイトは リアルタイムに生成される 7
Slide 8
Slide 8 text
完全に 個人にカスタマイズされる 8
Slide 9
Slide 9 text
ふと考えた 9
Slide 10
Slide 10 text
もうその未来が来ている 10
Slide 11
Slide 11 text
...かもしれない 11
Slide 12
Slide 12 text
最近のAIは驚くほど賢い 12
Slide 13
Slide 13 text
速度も十分にある 13
Slide 14
Slide 14 text
もしかしたら... 14
Slide 15
Slide 15 text
もしかするかもしれない 15
Slide 16
Slide 16 text
やってみた 16
Slide 17
Slide 17 text
ちょっとだけできた 17
Slide 18
Slide 18 text
18
Slide 19
Slide 19 text
19
Slide 20
Slide 20 text
20
Slide 21
Slide 21 text
単一のUI・APIなら余裕 21
Slide 22
Slide 22 text
UIは shadcn/uiを使えば安定する 22
Slide 23
Slide 23 text
gemini-2.5-flash-lite 23
Slide 24
Slide 24 text
めっちゃ早い 24
Slide 25
Slide 25 text
1秒程度でページが作れる 25
Slide 26
Slide 26 text
でも 26
Slide 27
Slide 27 text
複雑になったら破綻する 27
Slide 28
Slide 28 text
ライブラリ使わない 28
Slide 29
Slide 29 text
逆に 29
Slide 30
Slide 30 text
余計なライブラリを使う 30
Slide 31
Slide 31 text
パス間違える 31
Slide 32
Slide 32 text
エラー処理できない 32
Slide 33
Slide 33 text
対策した 33
Slide 34
Slide 34 text
TSで書いて Linter走らせた 34
Slide 35
Slide 35 text
エラーの自己解決機能 作った 35
Slide 36
Slide 36 text
重い... 36
Slide 37
Slide 37 text
それでもエラーが続く ...ことがある 37
Slide 38
Slide 38 text
1秒の夢が消えた 38
Slide 39
Slide 39 text
安定性を考えたら 使い物にならない 39
Slide 40
Slide 40 text
考えた 40
Slide 41
Slide 41 text
当たり前だけど 41
Slide 42
Slide 42 text
動的生成は無駄が多すぎる 42
Slide 43
Slide 43 text
動的生成の意味が薄い 43
Slide 44
Slide 44 text
お客さんに使ってもらう? 44
Slide 45
Slide 45 text
セキュリティ リスク 怖い 45
Slide 46
Slide 46 text
責任 46
Slide 47
Slide 47 text
取れない 47
Slide 48
Slide 48 text
速度遅い 48
Slide 49
Slide 49 text
プロンプトだけで 解決できないエラーがある 49
Slide 50
Slide 50 text
厳しい 50
Slide 51
Slide 51 text
社内だったら? 51
Slide 52
Slide 52 text
聞いてもらえる 関係性がある 52
Slide 53
Slide 53 text
サポートもしやすい 53
Slide 54
Slide 54 text
CSさんが 社内ツール作れたら 54
Slide 55
Slide 55 text
最高なのでは? 55
Slide 56
Slide 56 text
社内なら ワンチャンある! 56
Slide 57
Slide 57 text
目的が変わった 57
Slide 58
Slide 58 text
Before 58
Slide 59
Slide 59 text
爆速で好みのUIを提供する 59
Slide 60
Slide 60 text
After 60
Slide 61
Slide 61 text
CSさんが ツールを作るツール 61
Slide 62
Slide 62 text
作り方も変わる 62
Slide 63
Slide 63 text
一発生成 から 対話的にエラー修正可能に 63
Slide 64
Slide 64 text
複雑な画面も生成可能に 64
Slide 65
Slide 65 text
これまで後回しにされがちだった 社内管理ツールを 65
Slide 66
Slide 66 text
自身で カスタマイズ可能に! 66
Slide 67
Slide 67 text
最高よね! 67
Slide 68
Slide 68 text
でも 68
Slide 69
Slide 69 text
一筋縄ではいかない 69
Slide 70
Slide 70 text
ユースケース 70
Slide 71
Slide 71 text
企業一覧画面に 情報が足りない問題 71
Slide 72
Slide 72 text
詳細画面にあるいくつかの情報を 一覧に追加したい 72
Slide 73
Slide 73 text
とてもよくある要望 73
Slide 74
Slide 74 text
だが... 74
Slide 75
Slide 75 text
意外と厄介で難しい 75
Slide 76
Slide 76 text
実現はできる 76
Slide 77
Slide 77 text
でも 77
Slide 78
Slide 78 text
問題点1 78
Slide 79
Slide 79 text
画面作成 = APIの 新規作成 or 既存改修 が必須 79
Slide 80
Slide 80 text
APIは今必要な情報のみ返している 80
Slide 81
Slide 81 text
要望で必要な情報は 返していない 81
Slide 82
Slide 82 text
詳細APIから取得すると 82
Slide 83
Slide 83 text
効率が悪い 83
Slide 84
Slide 84 text
改めて考えると 84
Slide 85
Slide 85 text
ガッチャンコでは 解決できないことも多い 85
Slide 86
Slide 86 text
問題点2 86
Slide 87
Slide 87 text
思ったようにならない 87
Slide 88
Slide 88 text
文言が違う 88
Slide 89
Slide 89 text
意図しないカラム追加 89
Slide 90
Slide 90 text
作って欲しい機能の消失 90
Slide 91
Slide 91 text
細かい修正ができない 91
Slide 92
Slide 92 text
問題点3 (一番つらい) 92
Slide 93
Slide 93 text
複雑性が増すと 93
Slide 94
Slide 94 text
プロンプトも複雑に 94
Slide 95
Slide 95 text
とにかく 情報を与える必要がある 95
Slide 96
Slide 96 text
ロジック組むのが大変すぎる 96
Slide 97
Slide 97 text
他にも... 97
Slide 98
Slide 98 text
会話履歴渡してるから 98
Slide 99
Slide 99 text
最初のプロンプト変えると 99
Slide 100
Slide 100 text
後続に意図しない影響がでる 100
Slide 101
Slide 101 text
こんな不確定なもの 101
Slide 102
Slide 102 text
まともに扱えるかよ!! 102
Slide 103
Slide 103 text
結論 103
Slide 104
Slide 104 text
Claude Code 作ってる人 104
Slide 105
Slide 105 text
まじ化け物 105
Slide 106
Slide 106 text
茶番は置いておいて 106
Slide 107
Slide 107 text
解決策 107
Slide 108
Slide 108 text
108
Slide 109
Slide 109 text
フィールド名の指定 109
Slide 110
Slide 110 text
http://api.example.com/v1/users/1234?fields=name,age 110
Slide 111
Slide 111 text
レスポンスグループ 111
Slide 112
Slide 112 text
Small, Medium, Large 112
Slide 113
Slide 113 text
他にも 113
Slide 114
Slide 114 text
GraphQLの柔軟性 114
Slide 115
Slide 115 text
複雑性に対する対処は 115
Slide 116
Slide 116 text
116
Slide 117
Slide 117 text
また根本の要望に応えるためには、 117
Slide 118
Slide 118 text
今回のようにフロントだけではなく 118
Slide 119
Slide 119 text
バックエンドもいい感じに作る方が いいかも? 119
Slide 120
Slide 120 text
(v0はすごい) 120
Slide 121
Slide 121 text
121
Slide 122
Slide 122 text
エンジニアがUIを作らない 122
Slide 123
Slide 123 text
そんな未来はもうそこかもしれない 123
Slide 124
Slide 124 text
ご清聴 ありがとうございました 124
Slide 125
Slide 125 text
Q&A 125