これですね、ちょうど私がですね、10年代のお付き合いのある会社の社長とですね、コラダ飲んだ時にですね、そういう話をチラッとしたらですね、
非常に興味深いということで、ぜひですね、その辺をまとめてもらいたいという話を受けたので、今度、明後日かな、お話しするんですけど、そのプレゼンをですね、今、プレゼンCをまとめたんですよね。
AIを使ってですね、こんなアプリ作ったらいいんじゃないかとかですね、こんなシステムできますよって言うんではなくてですね、今回話そうと思っているのはですね、
AIを使って今までやっていたスクラッチの開発ですね、スクラッチっていうのはゼロから手で書いて作っていくという、そういうスタイルですね。
そういうシステムをAI使うと高速にできるんで、だからめちゃめちゃメリットあるんですよっていう話をですね、ちょっとしようと思っています。
今日はそんな話ですね。
ちょっと今、これもAIに要件を伝えて、パワポで資料を作ってもらっていたんですけども、大体まとまりましたね。
明後日のプレゼンの話でいきますと、AIのですね、開発をやっていくのに効果がありますよと、AIは非常に開発に効果がありますよって話をしたいんですけども、
まずはですね、そのAI開発のですね、IDEの紹介ですね。
IDEっていうのはですね、統合開発環境って言うんですけども、あまり他の業界の方はですね、なじみがあまりないかもしれないんですけども、
開発をするときにですね、いきなりプログラムをですね、メモ帳とかで書いていくことは今のときなくてですね、
昔はメモ帳でも書けたんですけども、今はとてもとてもそんな風には書けないので、
専用のですね、ツール、やっていることはエディターなんですよ。
メモ帳とかですね、ひでまるとかですね、さくらエディターとか、そういうただの文字を書くだけのものなんですけども、
それがプログラムがですね、相互にどう関係しているかがわかりやすくてですね、
非常にプログラム言語のですね、ありえないような文法とかがすぐしてきてくれるとか、そういうようなツールですね。
それが今、AIと合体してですね、人間の言葉で質問をするとですね、がんがんコードを書いてくれるっていうことができてるんですよね。
それをですね、2つぐらい紹介したいと思っていて、Cursor(カーソル)は有名なんですけども、あとGitHubコパイロットっていうのがあって、
こちらも有名ですね。私はCursor(カーソル)を使ってるんですけども、こちらを使うとですね、人間の言葉で書いたのがガーってコードを書いてくれるという、すさまじいものですね。
これをやって、この2つをまず紹介して、システム開発のですね、進め方ってこんな風になってますよっていうのは、
これも業界以外の方は知らないかもしれないんですけども、建築のですね、家づくりに例えますと、
はじめにお客さんと話をして設計書を作りますよね。設計図を作りますよね。
それを見てもらって、それで実際に建築入ってくるわけですよね。
途中途中で見てもらって、それで最終的に微調整をしていって、テストして納品するみたいなね。
そんな形になりますね、家づくりだとね。それと同じようなことがシステム開発の方でも行われるわけですね。
まずは実装の方針をですね、お客さんと話をしながらですね、やらなきゃいけないことを決めて、方針を決めるわけですよね。
それから仕様書ですね、仕様書を作成するわけです。
これもですね、いろんなトピックがあるんですけども、時間が足りないかな。
もともとはですね、古いシステム開発は仕様書ファーストだったんですよね。
先に仕様書を作って、それに合わせてですね、コーディングしていくというようなスタイルだったんですけども、
最近はですね、コーディングファーストに形になっていて、開発者がですね、どんどんどんどん自分はこうあるべきっていう感じですね。
コードを書いていくと、その後ですね、仕様書を吐き出すみたいなね。
そんな風な形になってきていたんですよね。
基本はですね、仕様書を先に作らなきゃいけないっていうのは本当はそうなんですけども、そうしないと、開発チームの人がですね、
俺はこう思う、俺はこう思うってやってるとね、収集つかないシステムになりますんで、
はじめここがあるべきっていうのを仕様書で決めて、で作っていくっていうのは基本です。
最近はちょっと逆転してたんですけども、私はAI開発になってきてですね、
これはやっぱり仕様書ファーストにすべきだというふうに確信してるんですけども、
仕様書を作るという感じですね。
本当にこのポッドキャストはですね、皆さんついてきているかどうかが非常に心配なんですけども、
今2つ目ですよ。1つ目が実装方針を話し合うっていう話ね。
それと2つ目が仕様書更新、仕様書を作成するというところですね。
それから実装ですね。実装っていうのはプログラミングそのものですね。
4つ目が動作確認をするということですね。
これはお客さんを入れることもありますし、
私のような人間がチェックすることもあると。
それを微調整をしていって、最後ですね、仕様書更新という感じで、
6番目をもう一回仕様書更新するっていう感じですね。
これが多分ですね、現場のリアルな開発手順だと思うんですよね。
仕様書を作って、実装して、でも実装する途中にですね、
やっぱりこうならなきゃいけないなっていうものが出てくるんですよ。
そういうものはですね、もう一回最後にですね、
結局どうしたらいいのかっていうのを仕様書に残しておくという感じですね。
人間がやるとですね、この仕様書っていうのが非常にめんどくさいんですよ。
実際仕様書がですね、現実のソースとプログラムコードと違うということが結構あってですね、
それが故にですね、仕様書を作らない開発をみんな従うようになりますし、
仕様書を作るってなると非常にコストが加算でいくということになるわけですよ。
お客さんがちょっとこう直してもらいたいって言ってもですね、
仕様書がですね、あちこちにこうあって、その影響範囲が、仕様書への影響範囲がすごいというときはですね、
非常に高額になると、ちょっと直すだけでも高額になるっていうことが起こり得たんですよね。
仕様書っていうのは開発費に大きく影響しますね。
こんな開発をやっていくんですけども、これがAIを使うとどういうふうに影響してくるのかっていう話をですね、
あさってやるんですけど、これ一個一個ですね、説明していくと本当に時間がかかっちゃうんで、
口頭で今、開発仕様書を発表しましたけども、これをちゃんと説明していきますか。
あと5分くらいかな。
実装方針についてもですね、競技するお客さんが聞いてきた内容をですね、
さっき言ったCursor(カーソル)とかっていうですね、IDの右側にチャットのペインっていうかですね、
チャットの画面がありますんで、そこにですね、書いていくんですよね。
こんなこと聞いてきたと、こんなデータが入ってくる必要があるとか、
今までこういうふうに考えたけど、実はお客さんに聞いたらそうじゃなくて、
こうしたいって言われたとかっていうことですね。
こんなに砕けた感じじゃないですけども、4点まとめて書くわけですよね。
そうするとですね、データベースの構造をこう変えるべきでしょうみたいな感じでガーって書いてくるわけですね。
それをこちらとしてはですね、それが正しいかどうか確認するわけですね。
例えばタイトルのところですね、文字列で500文字取っておきましょうって言われたりしたらですね、
タイトル500文字は長すぎるんで、そんなにいらないんで100文字にしてほしいとかですね。
そんなことを言って、どういうデータベースにするかっていうのをですね、そこで決めるわけです。
決めたらですね、それを仕様書に反映してもらって、その後ですね、マイグレーションファイルとかっていうのを作るんですよね。
今時のデータベースの設計、データベースはですね、設定ですかね、手でやらないんですよね。
プログラムでやるんですよ。
ずっと変更履歴みたいなのを保持しておいて、それをですね、やった順にですね、流していくとですね、そのプログラムを流していくと最終的に正しい形になると。
そんなことになっているんですけど、そのマイグレーションファイルもですね、人間が作ると非常に大変だったんですけど、
それを作る専門のツールみたいなのもあったんですけど、そういうものもですね、ほとんどいらなくなっちゃって、
AIが勝手に直にですね、マイグレーションファイルを作ってくれるという驚くべき事態ですね。
データベースのあるべき姿と、それから仕様書を更新してくれて、
マイグレーションファイルとかシーダーとか、シーダーっていうのはデータを流し込むやつですね。
そういうのも全部作ってくれるんですよね。
サンプルのデータ作ってって言うとですね、昔はですね、サンプルのデータがですね、
あーとかいいとかですね、人の名前のところにエンジニアが入れてましたんで、そんなサンプルが入ってたわけですよね。
それがですね、お客さんから見ると非常にイメージつきにくいんですよね。
人の名前のところにですね、あーって入ったらですね、なんだろうと思うわけですね、これ。
だけど今、AIがですね、サンプル作るとですね、山田太郎とか鈴木一郎とかですね、そういうのも作りますけども、
もっとリアルな名前にしてとかですね、外国人っぽい名前にしてって言うとですね、ちゃんと入れるんですよね。
それは素晴らしい話ですね。外国人の名前とか長いんで、長いのが入った時どう見えるかとかですね、そういうことも確認できるわけですよね。
それがまあ、一生懸命作んなくても一瞬で、外国人の名前のデータ作っといてって言ったらですね、2秒でできちゃうわけですね。恐ろしい話です。