見出し画像

コードが書けない僕が、ChatGPTとCodexで40時間開発して気づいたこと

どうも、久我レイジです。

先日、ふと気になりました。今作っているAIワークスペースに、僕はどのくらい時間を使っているんだろう、と。

最初に数えたときは30時間くらいだと思っていました。でも、そのあとも仕様を考え、修正し、また動かして確認する時間が続いて、今は約40時間になっています。

40時間。

それなりの開発時間です。

ただ、その数字を見ながら、少し変な感覚がありました。

僕はコードが書けません。


コードが書けない僕が、開発を始めた

僕はプログラマーではありません。自分でソフトを開発するための専門知識も持っていません。

少し前まで、自分専用のソフトを作るなんて考えもしませんでした。欲しい機能があっても、自分には作れない。誰かへ依頼すれば費用がかかるし、一から勉強するには時間も足りない。

そこで終わっていました。

今回作っているAIワークスペースも、最初から大きな構想があったわけではありません。

毎回同じ説明をしなくても、Project Aliveや『クロスロード』のことを理解した状態でAIへ相談したい。過去に書いたnoteや、制作中に考えたことを探しやすくしたい。会話で終わらせず、記憶やタスクへつなげたい。

そんな、自分が毎日感じていた小さな面倒から始まりました。

以前の僕なら、便利そうなサービスを探して終わっていたと思います。自分にぴったり合うものが見つからなければ、少し我慢して既存のツールを使うか、諦めるか。その二択でした。

今は、もう一つの選択肢があります。

自分で作る。

正確には、自分一人でコードを書くのではなく、AIと役割を分けて作るという選択肢です。

思いつきをCodexへ投げる前に、ChatGPTと話している

最近は、バイブコーディングという言葉をよく見かけます。

作りたいものを言葉で伝えれば、AIがコードを書いてくれる。コードを書けない人でも、アプリやツールを作れるようになった。

これは本当に大きな変化だと思います。

ただ、実際に開発を続けてみると、言葉で指示できるからこそ、完成するものにはかなり差が出ると感じました。

例えば、使いやすいダッシュボードを作ってほしい、とだけ伝える。

AIは何かを作ってくれます。見た目を整え、ボタンを配置し、それなりに動く画面を返してくるかもしれません。

でも、使いやすいとは誰にとってなのか。

僕はパソコンで何をしたいのか。スマートフォンでは何を最初に見たいのか。今あるAIチャットやタスク管理と、どうつながるのか。今回の修正で、どこには触れてはいけないのか。

そこが決まっていなければ、動くものはできても、自分が使い続けたいものにはならない。

しかもAIは、曖昧な指示でも、それらしい完成品を返してきます。

見た目が整っていると、こちらも正しいものができた気になってしまう。実際に使い始めてから、似た機能が重複していたり、保存の仕組みが分かれていたり、あとから機能を増やしにくい構造になっていることへ気づく。

だから僕は、思いついた機能をいきなりCodexへ投げることは、ほとんどしていません。

まずChatGPTと相談します。

何に困っているのか。どんな場面で使うのか。今ある機能とどう接続するのか。今回の開発で何を完成とするのか。

僕の中にある曖昧な要望を、対話しながら少しずつ整理していきます。

その内容を指示書にまとめてから、Codexへ渡す。

Codexが実装とテストを行い、返ってきた結果を僕が確認する。想定と違えば、またChatGPTと修正内容を詰めて、新しい指示書にする。

僕の感覚では、これは思いつきを勢いで形にするバイブコーディングというより、仕様書駆動のプロセスを、AIとの対話によって高速に回しているスタイルに近いです。

コードの代わりに、ただ長い命令文を書いているわけではありません。

自分でもまだ分かっていないことを、AIとの会話によって仕様へ変えている。

そこが一番大きい気がしています。

仕様書は、最初から完成しているわけではなかった

仕様書と書くと、最初に完璧な設計図を作り、その通りに最後まで進めているように見えるかもしれません。

実際は、かなり違います。

文章で考えている段階では必要だと思っていた機能が、画面になると邪魔に見えることがあります。逆に、最初は小さな補助機能だと思っていたものが、触ってみると中心になることもある。

実装されたものを見ることで、僕自身の考えが変わります。

だから、仕様書は一度作って終わりではありません。

その時点で見えている場所まで進むための地図に近い。

少し進めば、また景色が変わる。そこで立ち止まり、ChatGPTと話し、地図を書き直してCodexへ渡す。

この繰り返しです。

以前なら頭の中だけで何日も迷っていたことが、いったん画面になって返ってくる。実物を見ながら考え直せるので、迷い方そのものが変わりました。

完璧な仕様を作ってから始めるのではなく、不完全な仕様でも形にして、そこから次の判断をする。

形になったから、次の違和感へ進めたということです。

AIで作業は減った。でも、判断はなくならなかった

AIを使えば、開発はかなり楽になる。

始める前の僕は、そう考えていました。

実際、実装そのものは速いです。僕が一から調べながら進めていたら、数日止まっていたかもしれない場所を、Codexは短い時間で越えていきます。

ただ、ある日は、かなり長い指示書をCodexへ渡しました。

実装とテストに時間がかかりそうだったので、そのまま寝ることにしました。朝には終わっているかもしれない。そんな感覚でした。

ところが、起きてもまだ動いていました。

画面の一番下にある表示が、一定の間隔で点滅している。止まっているようにも見えるし、進んでいるようにも見える。使用量の表示も、ほとんど変わらない。

止めるべきか。

もう少し待つべきか。

コードを書いているわけではないのに、結局、僕が判断しなければ先には進まない。

その画面を見ながら、これも開発時間なんだろうかと考えていました。

僕の手が動いていない時間にも、実装は進む。

一方で、パソコンの前にいない時間にも、次の仕様を頭の中で考えている。

AIを使った開発は、何時間パソコンを触ったかだけでは、少し測りにくいものになっていました。

『クロスロード』の監督と、少し似ていた

この感覚には、覚えがありました。

メタバースドラマ『クロスロード』を作っていたときです。

Project Aliveの作品は、僕一人では完成しません。声を演じる人がいて、アバターを動かす人がいて、音楽を作る人がいる。多くの人が関わることで、最初に僕が書いた脚本とは少し違うものへ変わっていきます。

監督だからといって、すべての作業を自分でできるわけではありません。

むしろ、できないことの方が多い。

それでも、何を作品に残すかは決めなければならない。

良い演技でも、全体の流れには合わないことがあります。逆に、最初は小さく見えた提案が、作品の空気を大きく変えることもある。

誰かに任せることと、判断まで手放すことは別でした。

AIとの開発も、少し似ています。

ChatGPTは、僕の中にある曖昧な考えを整理してくれる。Codexは、その仕様を実装し、テストまで進めてくれる。

僕ができない部分を、かなり広く補ってくれています。

でも、何を入れるのか。何を削るのか。便利さを優先するのか、安全性を優先するのか。

最後に残る判断は、やはり僕の仕事でした。

AIに任せられることが増えるほど、人間の役割は消えていくと思っていました。

実際には、役割が変わっているだけなのかもしれません。

僕が作りたいのは、自分の創作を止めない環境だった

開発を続けていると、入れたい機能はいくらでも増えていきます。

AIチャット、会話履歴、長期記憶、記事検索、タスク管理、提案機能、開発ログ。便利そうなものを並べれば、終わりがありません。

でも、途中で一度立ち止まりました。

僕が本当に欲しかったのは、機能の多いAIツールなんだろうか、と。

たぶん違います。

noteを書く前に、過去の考えへすぐ戻れること。

Project Aliveや『クロスロード』のことを、毎回最初から説明しなくても相談できること。

今やるべき作業が見え、そのまま次の行動へ移れること。

僕が欲しかったのは、自分の創作を止めないための環境でした。

機能を増やすことが目的になった瞬間、自分専用である意味が薄くなります。便利そうだから入れるのではなく、僕の活動のどこに必要なのかを説明できるものだけを残したい。

そう考えるようになってから、指示書の内容も変わりました。

何を追加するかだけではなく、何を変更しないかを書くようになった。

どの画面へつなぐのか。既存の仕組みを再利用できないか。機能がゼロ件のとき、どんな表示にするのか。

派手な機能より、毎日使ったときに邪魔にならないことを考える時間が増えました。

今回、開発時間を数えてみて困ったのは、どこからどこまでを40時間と呼ぶのか分からなかったことです。

ChatGPTと仕様を考えていた時間。指示書を書いた時間。Codexの実装結果を確認した時間。別の仕事をしながら、次の修正を考えていた時間。

全部を含めれば、40時間より多いかもしれません。

逆に、Codexが一人でテストを続けている時間まで、僕の作業時間と言っていいのかは分からない。

だから次は、このAIワークスペースの中に開発ログを入れたいと考えています。

何時間使ったかだけではなく、その日にどんな仕様を考え、何を実装し、何を見送ったのか。

うまくいった指示書だけではなく、失敗した指示書も残した方がいいのかもしれません。

完成した機能だけを見ても、その機能がなぜ必要だったのかは分からないからです。

『クロスロード』も、完成した映像だけを見れば、そこに至るまで何度止まり、何を作り直し、誰の言葉で変わったのかまでは見えません。

AIワークスペースも、きっと同じです。

数年後、この仕組みが今とはまったく違う形になっていたとしても、最初の40時間に僕が何を考え、どこで迷い、なぜその機能を残したのか。

そこだけは、消えないようにしておきたいと思っています。


こちらもおすすめ!


いいなと思ったら応援しよう!

久我レイジ いただいたチップは作品づくりの活動費に使わせていただきます。応援していただけると、とても励みになります!