ken
リスナーのみなさん、こんにちは。London Tech TalkのKen Wakatomoです。
Kazunari Okuda
じゃあ、Kaz、今日もよろしくお願いします。よろしくお願いします。
ken
はい、ということで、本日はゲストをお呼びしているので、まずゲストをご紹介させてください。
トモヒサさん、今日はよろしくお願いします。
Kazunari Okuda
よろしくお願いします。よろしくお願いします。
ken
もう何回目か、もう数えられないぐらい出てくださってるトモヒサさんですけれども、
ちょっとね、最初に今日はトモヒサさんとAIコーディングについて話したいなと思っていて、
結構いろんなスライドとか記事とか、登壇とかすごいアウトプットされていて、
なんかもうちょっと前まではイベントソーシングの人みたいな感じだったのに、
今はなんかAIコーディングの人みたいになってるんじゃないかなってぐらいですけれども、
その話をしていきたいと思うんですが、まずアイスブレーキングにちょっと最近の天気はどうかなっていうのを聞いてみたいですね。
どうですか、最近の天気は。
Tomohisa Takaoka
結構暑くて、
ken
どのぐらいですか。
Tomohisa Takaoka
でも30度いかないぐらい、私の住んでるロスの近く、
特に僕の住んでるところはちょっとビーチに近い、ビーチから20分とかそれぐらいのところなので、
海の風で結構涼しいんですけれども、
ちょうど先週、今週ぐらい、
妻が妻の実家の、ここから言うとたぶん車で4時間ぐらいのところでしょうかね、
そこに寄生していたんですけど、
そこは内陸の砂漠地帯でめちゃくちゃ暑いところで、
摂氏、カシになるんですけど110度。
それがたぶん摂氏で言うと42,3度ぐらいのところで、
ちょうど昨日そこに迎えに行ってたんですけど、
めちゃくちゃ暑くて、これは外には10分以上いられないなという、
そういうようなところに昨日行ってきました。
ken
40度越えですか。それは例年そんなもんなんですか?
Tomohisa Takaoka
あ、もうそこはいつも暑いところで、
それも107度とか110度とかも一番暑いわけではなくて、
一番暑くて120度ぐらいまで行くんですけれども、
120度、摂氏だと、
ken
45度ぐらい。
Tomohisa Takaoka
そうですね、はい。
それは考えられない。
48度、摂氏で。
それぐらいまで行ったことがあるぐらいのところですね。
夏はいつも暑いですね。
ken
じゃあ基本屋内で過ごすって感じなんですか?
Tomohisa Takaoka
そうですね。さすがに多分空調が、
家にあることが義務付けられているみたいな、
そんな感じになっていて、
家の中で過ごしていれば大丈夫だけれども、
外にちょっと出ると、もうめちゃくちゃ暑いという感じのところです。
ken
なるほどね。内陸で、そうですよね。
じゃあ盆地みたいな感じなんですか?
Tomohisa Takaoka
そうですね。
ken
あんまり風が通らない。
Tomohisa Takaoka
でもアメリカでいうと、ラスベガスとかも結構そんな感じですし、
カリフォルニアのアリゾナ州境なんですけれども、
アリゾナで有名なフェニックスとか、
それから遠くまでに行くとテキサスとか、
その辺までずっと内陸で、
そういう暑い砂漠地帯みたいな感じの天候になってますね。
ken
なるほど。
ここに奥さんとお子さんたちが夏休みを過ごしてきたみたいな感じですか?
Tomohisa Takaoka
そうですね。はい、そんな感じです。
ken
いいですね。4時間、片道4時間?
Tomohisa Takaoka
片道、車で4時間ぐらいですね。
400キロぐらいですね。
ken
すごい。
気速100キロで4時間みたいな。
Tomohisa Takaoka
そんな感じですね。ほとんど止まることなく。
ken
お疲れ様でした、それは。
Tomohisa Takaoka
いえいえ。
ken
それ、1日で行ってピックしてもうすぐ帰るみたいな?
Tomohisa Takaoka
昨日はそうでしたね。1日で行ってピックアップして帰ってくるみたいな感じでした。
ken
1日8時間運転みたいな感じですか?
Tomohisa Takaoka
そうですね、そうですね。
結構アメリカはなんか遠くまで運転しなきゃいけないみたいなのが多くて、
旅行に行く時も、例えばここからサンフランシスコに行きましょうっていう時も、
飛行機で2時間とかなので、車で8時間ぐらいなんですけど、
向こうで自由に動けることを考えると、車で行く人は結構多いですね、もう。
ken
そうですよね。アメリカはそっか、広いからね。
ロンドナーからすると8時間車でって、すごいどこまで行ったの?みたいな。
Kazunari Okuda
スケールが結構違いますね。さすがアメリカ。
Tomohisa Takaoka
昨日友達とちょっと話した時に、その人はニューヨークに友達の結婚式があるって言って、
それに行くのにも車で行くって言っていて、たぶん片道5日か6日かかけて車で行って、
また帰りも観光しながら帰ってくるみたいな。
それは結構、ニューヨークだとさすがに少ないですけれども、
でもそういうふうにする人は結構いますね。
ken
小旅行ですね。大陸横断ですもんね、だってね。
はい。
すごいな。
まあでも車好きとか、なんか運転するのが好きみたいな人だったら逆に楽しいですよね。
Tomohisa Takaoka
結構口の近くにもルート66っていう、シカゴからロスまで撮ってる、
映画で言うとカーズっていう映画があって、
知ってます?
カーズの舞台になっている道路があるんですけれども、
急道って言うんですよね。
高速道路ができる前にアメリカ人がもう本当に1ヶ月ぐらいかけて、
もう車で旅行してロスまで行くのに使っていた道路とかも近くにあって、
ken
それを部分的に通って旅行するっていう人も、今結構まだいるみたいですね。
ルート66。
うん。
なんか小説とかでも何回か出てるような有名なとこですよね。
Tomohisa Takaoka
そうですね、結構有名ですね。
ちょうどアメリカ横断の一番有名な道路だったみたいで。
ken
そうですよね。
はい。
なんか記憶の片隅に何かがあった。
聞いたことがありますね。
なんか出てる。
Tomohisa Takaoka
うん、そうそうそう。
ロードトリップするのに日本からも結構行ってる人多いみたいですね。
ken
そっかそっか。
でもいいですね、なんかこう車4時間ぐらいのところに、
夏休みに行ける場所がね、お子さんたちも楽しみましたか。
そうですね。
小旅行みたいな感じですかね。
Tomohisa Takaoka
はい、そんな感じで。
ken
実家に帰省する。
いや、いいですね。
はい、ということで本日はですね、
ちょっと是非、ともひささんが最近、
前.devから公開された記事がありましてですね、
僕はそれを是非この3人で話したいなと思ってたんですよ。
その記事をちょっとまず紹介しますと、
記事のタイトルが、
AI時代のプログラミング教育。
娘たちにAIコーディングから教えたら、
簡単にレプロエまでできたということで、
どうしよう、
ともひささんの方から、
この記事のサマリーみたいなのもらっていいですか。
僕はこれを読んだときにすごい感動してしまったんですけど、
是非ご自身の口から紹介してもらえればかなと思います。
Tomohisa Takaoka
はい、まず最初に簡単に要約をお伝えしたいと思いますけれども、
子供たちが16歳と12歳の子供たち、
2人とも女の子なんですけれども、
日本で言うと小学6年生、高校1年生ぐらいという感じになります。
2人ともちょっとプログラミングやってみたいっていうのは、
ちょっと前から言っていて、
ただ自分の学校とかも忙しくて宿題とかも結構アメリカ多いので、
なかなか余裕がなくてできなかったんですけれども、
夏休みになってちょっとプログラミングを教えようと思って、
今だったら何を教えられるかなということで、
今だったらバイブコーディングからも始めた方がいいんじゃないかなということで、
バイブコーディングでどうやってやろうかというふうに考えて、
バイブコーディングで教えたという話です。
事業は結局子供たちが帰省して忙しかったりしたものもあって、
この記事に書いている、まだ1回しかできていないんですけれども、
また続けていこうと思うんですけれども、
何をやったかというと、
HTMLの1ページアプリみたいなものを何か作りましょうという話をして、
プログラミングというよりも何て言うか、
アプリケーション設計みたいな、
そういうところを特に重点的に考えたという感じになりますけれども、
どんな画面でどんなことができるものを作ろうかという話を最初に一緒に考えて、
それでできたのがアメリカのコインがいろいろ、
コインとかお札とかギフトカードとか、
そういうのを計算するアプリを作りましょうということになりました。
それで、バイブコーディングでやっていくにあたって、
1からバイブコーディングするとおそらく失敗するので、
ベースのプロンプトは僕が結構頑張って考えました。
そのベースのプロンプトはNext.jsで、
デプロイをするにはどうしたらいいかというのも、
クロードコードとかJAT GPTとかと相談した結果、
Kazunari Okuda
なかなかやっぱりプロンプトを作成するところっていうのが、
3歳になったら4歳なんですけど、そこは結構難しくて、
まだ早いかなとは思ってたんですよね。
でも最初に特にこのアプリを作るとかって、
Next.jsとかSSGでっていう最初のこの入りっていうのはすごい良い入り。
それやっぱ経験がないとそこからもなかなかできないじゃないですか。
これは子どもに限らず、たぶんプログラミング未経験者で、
例えばアプリ作りたい、ライブコーディングでアプリが作れるって聞いたって言って、
じゃあ作ってって、こういうのが作りたいんだけどみたいな。
それはたぶんプロンプトだけだと、なかなかどんなものができる、
何でどう作ってくるかっていうのはわかんないですよね。
だからこのワンクッションを置いてあげることっていうのはすごい学びがありました。
Tomohisa Takaoka
そうですね。ちょっとびっくりしたのがアメリカの教育というか、
自分の子どもたちなんですけれども、こういうふうにタイピングしてって言って、
PCは家にあったのでPCを使ってタイピングしたんですけれども、
彼らの授業がほとんどいつもChromebookを使って文章を生成するっていうのが
普通に行われているおかげで、タイピングが早くはないですけれども、
すごく普通にできるんですね。
だから指の配置とかは結構めちゃくちゃだったんですけれども、
タイピングのスピード自体は全然遅くなくて、
思ったことをタイピングするっていうのを自然にやっていたので、
アメリカの教育、Chromebookは1人1台ありますし、
家にも1人1台持って帰っていいことになっていて、
だから2台、学校用と家用と2台あるんですけれども、
そういうのもこれからのプログラミング教育に一番必要な、
まず自分の考えをタイピングして表すというのは、
小学生、小学校学年の時点でも結構できるようになっているというのは、
すごいなと思いましたね。
ken
確かに。
それ結構重要なポイントかなと思って、
プロンプトを書くために必要なスキルとして、
タイピングだけっていうのはすごい時代が変わった感がありますよね。
なんか今まではプログラミングソフトウェアを作るために、
もっといろいろな技術が必要だったけれども、
いわゆる基礎技術としてはパソコンが使えてタイピングができて、
もしかしたら今後はもうちょっとボイスインプットっていうのも出てますけど、
それが他言語とか対応してたら、
より簡単にインプットできると思うので、
それは大事な観点ですよね。
そこで最初にお子さんと一緒に、
こういうものを作りたいねみたいな話をしたっていうことで、
その記事の方でも最初ブレインストーミングみたいなものを一緒にされて、
タスク管理の話とかちょっとしたゲームを作ろうかみたいな、
いろいろなアイデアを話した上で、
このアプリ、マニカルクレーターにされたってことだったんですけど、
そこのプロセスっていうのはどういった雰囲気のものだったんですか。
お父さんと娘が話すみたいな感じだったのか、
いわゆるプロジェクトマネジメント、
プランニング的な感じを意識してやったのか、
そこでプランニングの、やっぱり何を作るか重要だと思うんで、
そこの子どものモチベーションの管理とか、
これはどういうもの、どういう雰囲気で進んだのかなって、
ちょっと聞きたいなと思ってました。
Tomohisa Takaoka
まずその形式という感じなんですけれども、
形式は一応授業みたいな感じで、
じゃあ今から教えるから、ちゃんと言うこと聞いてねみたいな、
そんな感じで始めました。
それで最初に説明したのは、
コンピューターっていうのは何かを入力して、
何かを出力するその真ん中のところを楽にするのが、
コンピューターの得できることですよっていうのを図とかで説明して、
Tomohisa Takaoka
例えば計算をするのに、
XとYを入力したらそれを足した結果が出るとか、
それだけじゃなくても画像とかでもこういうふうにしたいと思って、
それを変換して出てくるのがコンピューターだと。
それに加えて今AIっていうのは、
同じことなんですけれども文章を入れてプログラミングコードとか、
文章を入れて絵が出てくるとか、
そういうのを真ん中のことをやってくれるのが、
プログラミングというかコンピューターの役割なんですよっていう、
そういう話をしました。
なのでちょっとさっきの数さんの話になるんですけれども、
例えば3歳とかでまだタイピングもできないんだったら、
じゃあAIっていうのは絵が描けるんだけれども、
入力したものに対して絵が描けるから、
ちょっとどんなものを描かせたいか言ってみてって言わせて、
それを親がタイピングしてこんな画像ができましたとか、
そういうふうにするのもプログラミング教育の一番最初のステップかなとも思いましたけれども、
そういうふうに入力から出力を代行するのがコンピューターですよっていう話を
ken
最初にしました。
まさにプロンプトエンジニアリングとかもそうですよね。
インプットとして自然言語を与えて、
アウトプットとしてコードが出てくるみたいなところですもんね。
ちなみにそこの中の構造は、
軽く説明したんですか、
LLMみたいなものがあってねみたいな。
Tomohisa Takaoka
そうですね、もうAIです。
AIでそれがいろいろできるようになっているぐらいの感じで、
その入力と出力、
その間にコンピューターが入るという原則を教えたという感じです。
そして次に教えたのは、
難しいこともあって簡単なこともあるけれども、
まずは簡単なことから始めないといけないという話をしました。
なのでコンピューターを使って何作りたいという話をして、
パッと思い浮かぶのは3Dゲームを作りたいとか、
こういうアプリを作りたいというのがあるんですけれども、
例えばですけれども複数ページに渡って
管理しなきゃいけないものを作ってしまうと、
画面遷移の難しいところをやらないといけないし、
あともう一つデータベースでバックエンドに
データを保存するというものを使うと便利なんだけれども、
それによってレイヤーが増えることによって
難しくなってしまうので、
今回最初にやるのはHTMLというか
そのウェブの画面で画面遷移をせずに、
そしてデータベースをネットワークに保存しない、
かつ3Dという複雑なものを入れないもので
何か作るものを最初考えましょうねという感じで、
ブレインストーミング的にこれはどうかあれはどうか
という話を開始しました。
ken
なるほど。だからそのLLMが
さばけるレベルのタスクで完成できるように
制約条件をつけたってことですね。
Tomohisa Takaoka
そうですね。
ken
そっか、その複雑なプログラムの作り方は
すでに知っているトモヒサさんが
なんていうんですか、
例えば子どもに何作りたいというと
たぶん身近なものを作りたいって言うんじゃないかなと思うんです。
例えばマイクラ作りたいとか
ロブロック作りたいみたいな。
でもネットワーク通信があってとか
データベース実装があってとか
いろいろあるじゃないですか。おっしゃった通り。
だからその子どもが持っているツールができることと
子どもが描いている理想像のギャップみたいなところを
ブレイクダウンしてあげる役目は
やっぱりトモヒサさんがそこで重要な
クリティカルなロールだったのかなと聞いてて思ったんですよね。
Tomohisa Takaoka
そうですね。どうぞどうぞ。
ken
どうぞどうぞ。
Tomohisa Takaoka
で、その時に考えたのは
やっぱり成功体験を最初は持ってほしかったんですね。
なので、もしかすると
Viveコーディングだけでちょっと複雑な
データを保存するものも
確かにできるかもしれないけれども
ViveコーディングもしくはAIコーディング一般でも
やっぱり数日かかるプロジェクトだと破綻してしまって
結局コードがわからないと
最終的に何も残らないみたいな
そういうことになってしまうので
それを今回は避けたかった。
この文章を入れるだけで
ちゃんとできて成功するんですよというのを
味わってほしかったので
その制約をちょっと低めにして
自分の今までの経験からして
これだったらできるだろうなというところに
持っていくっていうのをちょっと考えました。
ken
なるほど。
すごいいろんな役割を持ってる
ともひささんが
父親としての娘を成長してほしいというか
いろいろ教えたいという父親としての側面と
タスクをブレイクダウンしていくアーキテクトとしての側面と