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