仕様駆動開発の概要
どうも、AI駆動開発ラボ大森です。
今回は、AI駆動開発のちょっと今、 ムーブメントというかブーム的なことが起こっている
仕様駆動開発って何なんだって話と、 本当に使えるんですかという話をしたいと思います。
これ結論、僕はあんまり今はまだ仕様駆動開発うまく なかなか使いづらいんじゃないかなと思っているので、
これ、僕の実体験と、あとはAI駆動開発の いろいろコミュニティに、
交流会にいろいろ行って実際に聞いた話なので、 それの話もできたらなと思います。
はい。じゃあ、仕様駆動開発って何だとか、 初めて聞いたぞという方。
AI駆動開発もちょっとよくわからないのに、 仕様駆動開発がどうこう言われてもわからないよという方も
いろいろいらっしゃると思うので、 まず仕様駆動開発が何じゃみたいなお話をしたいなと思っています。
この仕様駆動開発の仕様は、 このアプリの仕様はこんな感じですみたいな意味の仕様ですね。
今年の、いつ頃かな? 夏だ、7月とかにKIROっていうプログラミングエディターですね。
プログラミングを書くツールが発表されました。 これはAmazonが作ったやつですね。
Amazonが作ったAI駆動開発のツールです。 プログラミングを書くツール。
こいつがかなりすごく話題でした、夏。 どう話題だったのかというと、
今までのAI駆動開発とアプローチが違うと。
このKIROっていうのが仕様駆動開発を 初めてしっかりやったツールなんですけど、
今までのツールですね。 カーソルとかコーデックスとかクロードとかあるんですけど、
こういうのを作ってくださいという風に言うとOKです。 すぐさーっと作り出す。
作り出してたんですけど、このKIROってやつは ユーザーがこういうのを作りたいんです。
みたいなことを言うと、分かりました。
まずはそれを仕様書ですね。 要件定義書。
ドキュメントにまとめますねって言って、 バーって作ってくれるんですよ。
こういうアプリはこうで、こういう機能があって、 こういう風な設計で、こういう風に作りますよ。
こういう風にドキュメントを作って、 これでいいですかって聞いてきて、
ユーザーがいいよって言うと、それに基づいて プログラミングをAIさんがしてくれるっていうようなやつだったんですね。
このようなユーザーが何か言ったことに対して、 まずそれを仕様としてまとめて、
そこから開発をしていくよっていうのを 仕様駆動開発っていう風に言うようになりました。
これは英語で言うとSDDっていう風に言ってて、 スペックドリブンデベロップメントって言われてます。
AI駆動開発はAIDD、AIドリブンデベロップメント。
ドリブンっていうのが駆動、 これを使ってみたいな意味ですね。
この仕様はスペックSPECという 綴りで話すらしいんですけど、
初めて知ったんですけど、 スペック駆動開発と言われています。
これが何がいいかって言われていると、 要は明確な仕様書に基づいて実装するから、
その仕様書がAI駆動開発をしたいよっていう人間と AI駆動開発をしてくれるAIエージェントがどっちも、
ちゃんと見てたらですよ、相互が起こりづらいと。
例えば、自販機を見つけたら、
自販機のラインナップを登録できる モバイルアプリが作りたいんだ、
ちょっとわけわかんないですけど、 作りたいなと思っているときに、
それを今のような、自販機を見つけたら 登録できるアプリを作ってくださいっていう風に言って、
わかりました、みたいな感じで作ってもらうと、
多分、作ってくださいの人がイメージしているものと 全く違うものが多分出てくるんですよ。
なぜならフワフワとしているから。
っていうのを、例えばキロとかを使って、 自販機のやつを作ってくださいっていう風に言うと、
こういう感じですね、ずらーっと、 ドキュメントを作ってくれると。
そうすると、言ってたのと思ってたのと違うから、 こういう風にしてって、
わかりました、直しますってして、 これです、これですってなったもので、
この時点でAIと人間の意思疎通ができていると、 同じものを作ろうと思えているというもので、
そのドキュメントに基づいてAIが開発する。 これすごくAI得意なんですよ。
こういうものを作って、しっかり固まっているものに 関して最適化を行うっていうのは、
AIはすごい得意なんで、そうすることによって、 しっかりしたものがポンとできるよねっていうような、
良さがあると言われています。
そのキロっていう、Amazonが出したやつで、 仕様駆動開発いいんじゃないかを皮切りに、
他のAI駆動開発のツール、カーソル、 クロードコードとかでも、
プランっていうモードが出てきて、 実装前にプランを練るよって、
仕様を固めるよみたいなものが出てきました。
これが仕様駆動開発ですね。
実践での課題
なんで、これめっちゃいいぞ、みたいな。
今までAI駆動開発は、バイブコーディング、バイブスで、 ノリで実装するぜってしてたから、
別にあんまりちゃんとしたやつに 使えないよってなってたけど、
そういうふうに、ドキュメントを元に しっかり実装するんだったら、
いいじゃんってなってる。
今、まだ流行ってるのかな。
全然流行ってるというか、今みんな模索してる、 みたいな状態なのが、
仕様駆動開発っていうのであるんですけど、
僕、なかなかうまく使えないなと思っていて、
AI駆動開発の交流会とかで、
教える人とかじゃなくて、 ゴリゴリAI駆動開発してるよ、
個人で開発してるよっていう人と お話しした機会がいくつかあって、
やっぱり仕様駆動開発の話を聞くと、
やっぱりあんまりそういう実践では まだあんまりうまく使えてないなっていう話が、
いっぱい聞きます。
この辺り、世間がいいんじゃねえかってなって、
探り探りの状態で、
僕もめちゃめちゃ掘り尽くせてるわけじゃないので、
仕様駆動開発、これめっちゃいいですよっていう方、
ご存知の方いらっしゃいましたら、
コメント等で知りたいなっていうのがある上で、
僕とか他の個人開発の人が、
どういう理由であんまり使えないなって 感じてたかの話をすると、
さっきの自販機のアプリ、 全然例えがよくないので、
SNS、TwitterみたいなSNSを作りたいんだ。
じゃあドキュメント作ってくださいみたいな感じで言うと、
もうバーッと書いてくれるんですよ。
で、それを人間が頭の中にあるものと、
全く同じものがあれば、
全く同じものをAIが作ってくれるっていうのがあるんですけど、
これちょっと理想論で、
ドキュメントを全部見るのめっちゃしんどいんですよ。
めちゃめちゃ文字量が多いんで。
さらにそれをドキュメントを頭の中で動かすというか、
ドキュメントが自分が思い描いているものと一緒なのかどうかを、
頭の中でチェックする必要があるわけですね。
例えばログイン機能、投稿機能、リツイート機能とかいろいろ書いてる。
それぞれの仕様も書いてるんだけど、
それを全部読みながら、
頭の中でリツイートこうだよな、
仕様駆動開発の利点
データベースの構造こうだよなってするのって、
めちゃくちゃしんどいんですよ。
めちゃくちゃしんどい。
し、AIがバーッと書くときに、
これもう書かんでもわかるだろうみたいなリツイートっていうのは、
リツイートするとタイムラインの上部にポストがきますよとか、
投稿機能には投稿日時がついていてみたいな文字が打ててみたいな、
つまりその情報の薄い情報も膨大な文字量で書かれるので、
大変なんですよ、多分大変。
これ専用のスキルというか技能が能力が身につけていく必要あるなっていうぐらい、
かなり体力使うので大抵流し読みしていいよって言っちゃうと。
でも流し読みしてるから細かいとこちゃんとわかっていないので、
結果できるものもちょっとずれてるみたいなことがありですね。
もうだったら読むのめっちゃ大変だし時間も取られるから、
もうだったらある程度もう一回作らせて、
これ違うよって直していったほうがいいんじゃねえかみたいなことになるという。
かなりだからドキュメント、これ一回COクド開発機能とかで
ドキュメント一回生成してみるとわかるんですけど、かなりしんどいですね。
しんどいと、しんどいのでそれ読む頭の体力、時間があるんだったらもう一回
実装させちゃってそれを直していくとか、それを元に要件を詰めていくほうがいいんじゃねえかなみたいなのが
僕とかお話聞いた人の意見でした。
ただ面白い意見も聞けて、これは個人とか少人数で開発しているとそうなんですけど、
SIRとかって言うんですかね、
仕様を決める人と実装するのが別な場合、こういうシステムを作ってほしいんですよっていうお願いする会社、
引き受ける会社がある場合、このCO駆動開発っていうのはめちゃめちゃいいんじゃないかなっていう風に言われてました。
結局そういう場合でも人間がドキュメント仕様書を書くっていう手順は絶対いるんですよ。
その仕様を元に発注者と実装する人たちが意思を卒するっていう同じようなことが起こっているので、
そこでCO駆動開発的な感じで仕様書を作る、それを精査する、煮詰める、それを渡すと、
CO駆動開発の一番おいしいとこ、一番恩恵があるとこを表示できるんじゃないかな。
そもそもそういったシステム開発の時って別に今日もらって、今日作るとかでもないと思うんですよ。
そもそも時間がかかるものというか、仕様書を練っていくのに1ヶ月ぐらいかかるよねみたいな話なので、
そこがより高速化するとか品質が上がるっていうのだったらCO駆動開発いいんじゃないかなみたいな話を聞きました。
AI駆動開発とその可能性
めっちゃなるほどと思いましたね。みたいな感じで、CO駆動開発っていう言葉もしかしたら今後いっぱい耳にする機会が出てくるのかもしれないと思って、
AI駆動開発ちょっといろいろ調べるぞとした時に、手時にこういうものなのかCO駆動開発なのかこういう話なのね、なるほどねということがあって、
そういうアンテナがある状態でいろいろ情報に触れられるとまた何か見えてくるものが違うんじゃないかなと思って、今回お話しさせていただきました。
このチャンネル、AI駆動開発ラボではですね、AI駆動開発、AIを使って何か、ウェブサイト、ウェブサービス、モバイルアプリ、ゲームとかを作るよ、
AIさんに全部お願いするよみたいなもののやり方をですね、僕自身がエンジニアじゃなくてですね、プログラミング難しくて全然わかんないよって投げてたんですけど、
AI駆動開発でいろいろ作れるようになったので、それの目線ですね、専門家すぎない目線をもとに、
AI駆動開発っていうもののやり方、最新ニュースをわかりやすくお話できたらなと思っているような活動でございます。
なのでですね、AI使って何か開発をしたいんだ、どうやらAI駆動開発がいいらしい、
なんかよくわかんないけど、いい副業ないかな、みたいな方、ぜひこの放送を聞いていただければ、少なからず、
価値になると思っていますので、よかったらウォッチチェックしてください。
またこれはYouTubeでも、AI駆動開発ラボという名前でチャンネル作ってまして、このポッドキャスト流れてます。
また実際に操作した方がわかりやすいとか、ものもの動画として出していくので、よかったらそちらの方チャンネル登録してください。
ということでここまでご清聴いただきどうもありがとうございました。
AI駆動開発ラボ大森でした。それではまた次回の放送でお会いしましょう。またね。