Slide 1

Slide 1 text

AIの言う通りにやったら Webアプリが作れるのか試してみた 〜ChatGPT〜 Takashi Hori Gunma.web #47

Slide 2

Slide 2 text

自己紹介 Twitter: @t_pori418 From: 神奈川(now) ←館林生まれです Work:  (近況) 都内のWeb系でチームのTechleadとしてServerSideEngineerして います。副業で新規プロダクトのWebエンジニアもやってます。 Language: Ruby, PHP, C#, Python, TypeScript

Slide 3

Slide 3 text

話題のChatGPTって知ってますか? https://openai.com/blog/chatgpt/

Slide 4

Slide 4 text

こんな感じ (日本語で書ける!)

Slide 5

Slide 5 text

ふわっとした質問も

Slide 6

Slide 6 text

すごい😇

Slide 7

Slide 7 text

サンプルコードまで出してくれるし 簡単なアプリなら言う通りにやったら 作れちゃうのでは?🤔

Slide 8

Slide 8 text

定番のRuby on RailsでToDoアプリ作るやつ ● 自分で手は加えないルール ● 簡単なCRUDと見た目の調整をお願いする

Slide 9

Slide 9 text

完成したRepository https://github.com/horitks/chatgpt-task-app

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

ここで問題発生 2つ目のscaffoldを実行すると 既にmodelが作られているので エラーが発生するのだ The name 'Task' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative or use --skip-collision-check or --force to skip this check and run this generator again.

Slide 14

Slide 14 text

聞いてみる うん、それはそう ということでここは質問を繰り返してもしょ うがないのでモデルを消してから scaffoldしました。

Slide 15

Slide 15 text

rails sして とりあえずいつもの (Rails 7だからいつものって感じじゃないか ...)

Slide 16

Slide 16 text

TopPageの修正方法を 質問したが... `app/views/welcome/index.html.erb` ファイルとしては存在しない 聞いてみよう

Slide 17

Slide 17 text

routes書き換えろという 指令 before after

Slide 18

Slide 18 text

Rails標準のList画面 とりあえずいつもの画面ができたので2 つほどTaskを登録 バリデーションも何もない

Slide 19

Slide 19 text

見た目をいい感じに!

Slide 20

Slide 20 text

なった!

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Before After

Slide 23

Slide 23 text

なんとなく試せたので今回はここまで

Slide 24

Slide 24 text

ちなみに デプロイ方法も教えてく れます。

Slide 25

Slide 25 text

所感 ● そもそも前提知識がないと厳しい場面がある ● AIは細かい業務ドメインを知らないのでやっぱり人間の調整が必要 (文章で教えるのにも限界がある) ● コードの提案は基本優秀でそれっぽい。GitHub Copilotあたりを 組み合わせるとかなり自分で書く量が減りそう ● 実装手順とか大枠の方針を相談するのは良い。Google先生より早く回答 が見つかる (ただし、正しいかは自分で判断しないといけない)

Slide 26

Slide 26 text

おまけ

Slide 27

Slide 27 text

本質情報