AIで「作れないもの」が作れるようになる

Model Weave
この記事は約7分で読めます。

前回は、ChatGPT・Codex・Geminiを小さな開発チームのように使っている、という話を書いた。

ChatGPTで構想を整理する。
Codexで実装する。
Geminiでレビューする。
人間はPM/POのように、方針決定と採否判断を行う。

この体制にしてから、Model Weaveの開発はかなり進めやすくなった。

今回は、その中で感じているもう一つの変化について書いてみたい。

それは、AIによって「自分だけでは作れなかったもの」に手が届くようになる、ということだ。

AIは、できる人の置き換えだけではない

AIの話をすると、どうしても「プロの仕事が置き換えられるのか」という話になりやすい。

プログラマーの仕事はどうなるのか。
ライターの仕事はどうなるのか。
デザイナーの仕事はどうなるのか。
設計者やPMの仕事はどうなるのか。

この不安はかなり現実的だと思う。
実際、AIはかなり多くの作業を代替し始めている。

ただ、自分がModel Weaveを作っていて強く感じたのは、AIは「できる人を置き換える道具」である前に、まず「できなかった人の範囲を広げる道具」でもあるということだった。

自分は、もともと一からObsidianプラグインを作れるタイプの開発者ではない。
コードを読んだり、方針を考えたり、仕様を整理したりすることはできても、実装を全部自力で進めるにはかなりハードルが高い。

それでも、Model Weaveは形になってきた。

それは、AIに全部を丸投げしたからではない。
構想、設計、実装指示、実装、レビュー、修正、記事化を分けて、それぞれにAIを使ったからだ。

この変化はかなり大きい。

これまでなら「作りたいものはあるけれど、自分では作れない」で止まっていたものが、
「作りたいものを整理し、AIに実装してもらい、人間が確認しながら進める」形に変わった。

自分だけでは作れなかったものに手が届く

Model Weaveは、もともと「テキストを正本にしたモデリングツール」を作りたい、というところから始まった。

最初は、ファイル管理、エディタ、プレビュー、図の表示まで全部を自前で作ろうとしていた。
その後、Obsidianプラグインへ切り替えたことで、ファイル管理やエディタの基盤はObsidianに任せ、Model WeaveはMarkdownから図やPreviewを生成する部分に集中できるようになった。

この判断自体も、AIとの壁打ちをしながら整理していったものだ。

ただ、方針が見えても、それだけで実装できるわけではない。

Obsidianプラグインとしてどう作るのか。
Markdownをどう解析するのか。
ER図やクラス図をどう表示するのか。
DFDをMermaid-firstにするにはどうすればよいのか。
Viewerでzoom、pan、diagnostics、PNG exportをどう扱うのか。

こうした実装をすべて自分だけで進めるのは、かなり難しかったと思う。

そこでCodexが大きかった。

ChatGPTで仕様や実装指示を整理し、Codexに実装してもらう。
実装結果を確認し、必要ならGeminiにレビューさせる。
レビュー結果をまたChatGPTで整理して、次のCodex指示にする。

この流れを繰り返すことで、自分だけでは届かなかったところまで進めるようになった。

もちろん、毎回一発でうまくいくわけではない。
実装が意図と違うこともある。
差分を見て戻すこともある。
方針を変えることもある。

それでも、ゼロから自分で全部実装する場合とは、進められる範囲がまったく違う。

構想・設計・実装指示に分けると前に進めやすい

AIを使っていて大事だと感じたのは、「作って」と一言で頼むのではなく、作業を分けることだ。

たとえば、Model Weaveの開発では、いきなりCodexに大きな機能を作らせるのではなく、まずChatGPTで方針を整理する。

この機能は本当に必要か。
今やるべきか。
既存仕様と矛盾しないか。
どのファイルを触りそうか。
どこまでを今回の範囲にするか。
何を対象外にするか。
確認コマンドは何か。

こうした内容を整理してから、Codex向けの実装指示にする。

これは、実際の開発プロジェクトで作業をチケット化する感覚に近い。

「いい感じにして」ではなく、

  • 目的
  • 対象範囲
  • 作業内容
  • 対象外
  • 確認方法
  • 期待する結果

を明確にして渡す。

この形にすると、AIに実装してもらう場合でもかなり安定する。

逆に、ここが曖昧なままだと、AIはそれっぽく進めてしまう。
実装はできているように見えても、目的からズレたり、不要な変更が混ざったりする。

だから、AIを使うほど、むしろ人間側の設計整理が重要になる。

Codexがあることで、実装の壁がかなり下がった

Model Weaveの開発で特に大きかったのは、Codexによって実装の壁が下がったことだ。

ChatGPTだけでも、実装方針やコード例は出せる。
しかし、実際のリポジトリの状態を前提に、複数ファイルを編集し、ビルドやテストを確認しながら進めるには、Codexの方が向いている。

たとえば、機能追加をするときには、コードだけではなく、READMEや仕様ドキュメント、サンプルも影響することがある。

人間が全部追うと大変だが、Codexならリポジトリ全体を見ながら修正できる。
もちろん、完全に任せきりにはできない。
それでも、実装担当としてかなり強い。

この効果は、単に「作業が速くなる」だけではない。

自分のように、実装の専門家ではない人間でも、作りたいものを具体化しやすくなる。
設計の方向性を考え、AIに実装してもらい、結果をレビューすることで、開発を進められる。

これは個人開発のハードルをかなり下げる。

今までは、ある程度の実装力がないと、アイデアはあっても形にできなかった。
今は、実装力そのものが足りなくても、目的や仕様を整理できれば、そこから先をAIに手伝ってもらえる。

ここはかなり大きな変化だと思っている。

ただし、何を作りたいかは自分で持つ必要がある

一方で、AIがあれば何でも作れる、という話ではない。

AIは実装を助けてくれる。
仕様整理も助けてくれる。
レビューもしてくれる。
ブログ記事やアイキャッチ案まで作ってくれる。

ただし、「何を作りたいのか」は人間側に必要だ。

Model Weaveであれば、中心にあるのは、Markdownを正本にしたいという考えだ。
図やPreviewは派生出力にしたい。
Obsidianの中で設計情報を読みやすくしたい。
ER、Class、DFD、data_object、screen、app_process、rule、mappingを、テキストとしてつなげていきたい。

この方向性がないと、AIは便利な機能をいくらでも提案してくる。
しかし、何を採用すべきかは決まらない。

AIは候補を出すのが得意だ。
でも、候補が多いほど、判断する人間が必要になる。

この機能は今やるべきか。
この仕様は重すぎないか。
この表現は公開向けとして自然か。
この実装は保守できるか。
この変更はModel Weaveのコンセプトに合っているか。

こういう判断は、人間側に残る。

だから、AIによって「作れる範囲」は広がるが、「何を作るか」が不要になるわけではない。

むしろ、作れる範囲が広がるほど、何を作らないかを決めることも重要になる。

「誰でも作れる」ではなく「作れる範囲が広がる」

AIを使った開発について、「誰でも作れるようになる」と言いたくなることがある。

たしかに、以前よりはかなり作りやすくなっている。
自分のように、実装を全部自力でやるのが難しい人間でも、AIを使えば形にできるものが増える。

ただ、「誰でも作れる」と言い切るのは少し危ない。

実際には、作るにはいくつか必要なものがある。

まず、作りたいもののイメージが必要だ。
次に、それを分解してAIに伝える力が必要だ。
そして、出てきたものを確認し、違和感を拾う力が必要だ。

完全にコードが書けなくてもよいかもしれない。
ただし、何が起きているかをまったく見ないまま進めるのは危ない。

AIはかなり賢いが、間違えることもある。
こちらの意図と違う方向に進むこともある。
もっともらしいが、後で困る実装をすることもある。

だから正確には、

という表現が一番近いと思っている。

「できない」が「できる」に一気に変わるというより、
「自分だけでは難しい」が「AIとなら進められる」に変わる。

これが、今のところ一番実感に近い。

Model Weaveは、その実例になった

Model Weaveは、自分にとってこの変化の実例になっている。

最初に作りたかったのは、業務システム設計をテキストで管理し、AIにも人間にも読みやすくするためのツールだった。

Excel設計書のように自由度が高すぎる形式ではなく、
専用モデリングツールのようにツール依存しすぎる形式でもなく、
Markdownを正本にして、図やPreviewを派生出力にする。

この考え方自体は、自分の中にあった。

ただ、それを実際にObsidianプラグインとして形にするには、実装の壁があった。
そこをAIで補うことで、少しずつ前に進められた。

ChatGPTで考えを整理する。
Codexで実装する。
Geminiで確認する。
人間が方針を決める。

この分担によって、Model Weaveは「作れたらいいな」から「実際に使えるツール」へ近づいてきた。

これは、自分にとってかなり大きい。

AIは、すでにできる人の作業を速くするだけではない。
できなかった人が、作れる側に近づくための道具にもなる。

もちろん、その先には別の問題もある。

作れる範囲が広がるということは、プロの仕事の一部がAIで代替されるということでもある。
それは便利さであると同時に、不安にもつながる。

次の記事では、そのあたりをもう少し掘り下げてみたい。
AIによって作れる範囲が広がるとき、プロの仕事はどう変わるのか。
その不安はどこまで現実的なのか。
そして、専門性はどこに残るのか。

このあたりを書いてみたい。

コメント

タイトルとURLをコピーしました