画面を3枚に剥がすと、直し方が見える
「AIとつくるアプリ開発入門」のレッスン 2 / 11・約6分
予約ボタン1つも、中身・見た目・動きの3枚の指示書でできています。1枚ずつ外して壊れ方を見比べ、AIに「どこを直して」と頼めるようになります。
このレッスンで学ぶこと
- 画面を作る3枚の指示書
- Vibe Codingでの人の役割
レッスンの内容
ボタン1つにも、指示書が3枚
予約サイトの「予約する」ボタン。文字があり青く塗られ、押すと画面が変わります。
これらはそれぞれ別の指示書に書かれています。
指示書を1枚ずつ外してみよう
板をタップして1枚ずつ外し、下の画面で「押す」を試してみてください。とくに動きを外したとき、数字がどうなるか注目です。
外れたものに、名前を付ける
見た目を外しても文字やボタンは残ります。中身を置くのがHTML、色や形を決めるのがCSSです。
役割が違うので見た目だけ剥がせます。
押しても増えない理由
動きを外すと押せても数字が増えません。押した後の処理を書くのがJavaScriptです。
3枚そろって触って動く画面になります。
用語と意味をつなごう
置くもの、見せ方、動き。3枚の役割は重なりません。
○か✕か
○か✕か:見た目の指示書を外しても、ボタンを押したときの反応はそのまま残る。
答え:○。見た目と動きは別の指示書です。色や大きさが崩れても、押されたときの処理はそのまま動きます。
順番がずれると、別物になる
指示書は上から順に実行されます。「数字を表示する」が「1を足す」より先にあると、前の数字のままになります。
こうした不具合をバグといいます。
ボタンを押したときの指示が「数字を表示する」「1を足す」の順に並んでいます。押した直後の画面はどうなるでしょう。
問題:ボタンを押したときの指示が「数字を表示する」「1を足す」の順に並んでいます。押した直後の画面はどうなるでしょう。
- 1を足す前の数字が表示される(正解)
- 1を足したあとの数字が表示される
- どちらの行も実行されずに止まる
解説:上から順に動くので、表示が先に済んでから1が足されます。画面の数字は1つ遅れたままです。
その行を、誰が書く?
小さなアプリでも指示書は数百行になり、長いあいだ人が手で書いてきました。
いまは「押すと数字が増えるボタンを付けて」と頼めば、生成AIがその行を書きます。
書く人から、決める人へ
この作り方がVibe Codingです。名付けたカルパシーは、コードがあることすら忘れて雰囲気で任せる作り方だと書きました。
任せるほど、人の役目は何を作るか決め、確かめることになります。
AIに頼んでアプリを作るとき、人の側に残る仕事はどれでしょう。
問題:AIに頼んでアプリを作るとき、人の側に残る仕事はどれでしょう。
- 何を作るかを決めて、できたものが望みどおりか確かめること(正解)
- 指示書の1行ずつを、AIより先に自分で書いておくこと
- AIが書いた指示書を、あとで読めるように暗記すること
解説:AIは頼まれた通り書けますが目的は知りません。何を作るか決め、確認する作業が人の仕事です。
3枚を知ると、頼み方が変わる
「なんか変です」だけだと、AIは3枚すべてを調べ始めます。
「ボタンの色だけ直して」と言えれば、CSSだけ見れば済みます。
ボタンは押せるのに、押しても数字が増えません。直す場所をいちばん正しく絞れている頼み方はどれでしょう。
問題:ボタンは押せるのに、押しても数字が増えません。直す場所をいちばん正しく絞れている頼み方はどれでしょう。
- ボタンを押したときの動きを直して(正解)
- ボタンの色と大きさを直して
- 画面にボタンを置き直して
解説:押せるならHTMLは問題なく、見た目も平気です。押した後の処理、つまりJavaScriptの担当です。
画面の読み方
- 画面は、中身・見た目・動きの3枚の指示書でできている
- 指示書は上から順に実行され、順番のずれもバグになる
- 書くのはAI、何を作るか決めて確かめるのは人
- 症状から3枚のどれかを絞って頼むと、早く直る
ボタンの文字は出ているのに、色も大きさも整っていない素っ気ない表示です。押すと数字は増えます。外れているのはどの指示書でしょう。
問題:ボタンの文字は出ているのに、色も大きさも整っていない素っ気ない表示です。押すと数字は増えます。外れているのはどの指示書でしょう。
- 見た目を決めるCSS(正解)
- 中身を置くHTML
- 動きを書くJavaScript
解説:文字が出ていて押すと動くので、HTMLとJavaScriptは無事です。おつかれさまでした。では、送信した1通のメッセージは画面の外のどこへ行くのでしょう。次は、その旅を1駅ずつ追いかけます。
用語
- CSS(CSS)
- 中身の見せ方を書く指示書。色や形、余白を整えます。
- HTML(HTML)
- 画面に何を置くかを書く指示書。文字やボタンなど、中身を配置する役割です。
- バグ(Bug)
- 指示の出し方や順番が原因で、思い通りに動かないこと。故障ではありません。
- 生成AI(Generative AI)
- 言葉を理解し文章やコードを書くAI。
- JavaScript(JavaScript)
- 押された時の処理を書く指示書。動きを付ける役割です。
- Vibe Coding(Vibe Coding)
- 自分でコードを書かず、作ってほしいものを普段の言葉でAIに頼んで仕上げる方法。