AI開発は天才宇宙人のマネジメント —— TikTok のテトリス作成動画が教えてくれない現実
AI 開発ってすごいらしい!
「AIに『テトリス作って』と頼んだら、一発で動くゲームが完成した!」 そんな魔法のような動画を TikTok で見かけて、「これからの開発は楽勝だ!今日から俺もスーパーハカーだ!」と AI 開発の沼に飛び込んだ人は多いんじゃないでしょうか。私もその一人です。 でも、実際に自分で試してみると、すぐに気づくんですよね。「あれ? そんなにうまくいかないぞ……?」と。
結局、テトリスがうまくいくのは、その仕様が歴史的に厳格に定義され、広く知れ渡っているからです。しかし、私たちが直面する実際のソフトウェア開発の現場では、そうはいきません。仕様はふわふわ、要件は変わり続け、そもそも「何を作りたいか」すら言語化できていないこともしばしば。
突然ですが、アメリカのコメディドラマ『ビッグバン・セオリー(The Big Bang Theory)』をご存知でしょうか? IQ は異常に高いが社会常識が壊滅的なオタクたちが登場するのですが、その中でも一際異彩を放つのが、シェルドン・クーパーというキャラクターです。彼は間違いなく天才ですが、極度のひねくれ者で、常識がわからず、こだわりが強すぎて周囲とまともな意思疎通ができません。皮肉は通じないし、座る場所にはミリ単位のこだわりがある。
今の AI は、まさにこの「シェルドン」なんです。 手取り足取り、過剰なほど丁寧に説明しないと動いてくれない。しかし、彼が気に入る「完璧な指示」を出せた時だけ、人間には到底真似できない圧倒的な生産性を叩き出してくる。 最近の私は、AI の扱い方がわからなすぎて、AI に「君にはどう指示をすればいいんだっけ?」と聞いてしまっています。 ……あれ? これって、私が AI に使われてます?
AIマジックの「タネ明かし」
かれこれ1年くらいは AI を使った開発をしてますが、常々思うのは、「AI に与えなければいけない情報は、想像以上に多い」ということです。
- あなたの「普通」は、想像以上に AI の「普通」とズレています。「いい感じで」、「バランスよく」、「常識的な範囲で」といった表現は、AI にとって「ランダムにサイコロを振れ」と言われているのと同じです。たいてい、自分の想像と異なる結果になります。
- 既存のプロセス、要件定義、制約、タスクの進め方……すべてを、幼稚園の先生のような忍耐強さで繰り返し説明する必要があります。「いいかい、ハサミはこうやって持つんだよ。走っちゃダメだよ」レベルです。
ある程度 AI のふるまいやクセみたいなものがわかってしまえばけっこう楽になる部分もありますが、結局のところボトルネックになるのは「暗黙知」や「自分の思考の言語化」です。 これは人間にタスクを振る時と全く同じ悩みですが、相手が融通の効かない AI である分、より顕著に現れます。 まあ、そのうちマルチモーダルな学習を経て、「空気を読める」 AI が登場するんでしょうが……それまでは「空気を読めない天才宇宙人」とお付き合いする必要があります。
私の失敗体験
AI 開発を始めたてのころは、自分の頭の中で仕様が決まりきっていないタスクを、「とりあえずいい感じで」と投げてみてました。 たいてい AI は、予測をしていない方向に暴走し始めます。それを観察して「いや、そうじゃないんだよなぁ」と嘆く。これを繰り返し、数時間後に「私、何やってんの……」と虚無の時間を過ごす、というのを何回かはやりました。キーボードを叩くより、プロンプトを修正している時間の方が長いんじゃないか、という本末転倒な状態です。
結局、「人に振れないレベルで曖昧なタスクは、AI にも振れない」。これが鉄則でした。私は職業柄、タスクの言語化にある程度慣れていたので徐々に対応できましたが、ここで脱落して「AI は使い物にならない」となっている人は多いと思います。
最近流行った「Spec Driven 開発」も試しました。AI と対話しながら要件定義やシステム設計、タスクリスト作成をする手法です。 「これだ!」と思ったものですが、いざ試してみると、一見良さそうに見えた計画に漏れがあったり、実行途中で予期してなかった問題にぶつかったりと、難題が多くありました。この状態になってしまうと、結局前述の暴走状態に逆戻りです。
そして極め付けは、「中身を知らなくても動けばいい」という誘惑です。 「まあ、動いてるからヨシ!」として中身を見ずに進めるのは、「時限爆弾の配線の色は知らなくていい」と言っているようなものです。 なにがどのファイルに実装されているのか程度は把握できていないと、いざという時にはとても読めるコードではなくなっており、なす術なしです。私も一回自分用のツール開発でこの失敗をし、結局適度にレビューを入れながら再実装をする羽目になりました。動くけど、触りたくないコードの山。それが AI の生み出す黒魔術です。
私がどう活用しているのか:「守備範囲の一歩先」まで、マイクロマネジメントで。
色々と試してみて、今の最適解は「自分で作業できることを、AI にブーストしてもらう」というアプローチです。
- 守備範囲の確認と拡張:実装したいものが、コードやインフラの設定レベルで見えているか? そうでない場合は、まず AI を活用して勉強し、自分の守備範囲を広げます。コードを書かせる前に、先生になってもらうわけです。
- プロセス設計は自分で:「自分ならこういうステップで進める」に面倒くさがらずにきちんと向き合い、詳細な実行計画を立てる。プロセスの設計を AI に任せると、なんとなく上手くいきそうなものを作ってくるが、自分が熟考した理想的なものとは往々にして異なります。建築家は自分、大工が AI です。
- マイクロマネジメント:個々のタスクの実行段階では、How(技術スタック、開発スタイル、実装するテスト、変更すべきファイル群等)を指定し、AI の挙動をコントロールする。言語化やタイピングも時間がかかるので、実際は大雑把な指示から始めて、ダメならもうちょっと詳しく指示する、の繰り返しです。
私の理解できる範囲で、彼にブーストをかけてもらう。この絶妙な距離感こそが、AI を「扱いにくい天才宇宙人」から「最強のパートナー」に変える鍵でした。 ただこれは同時に、地頭の差にレバレッジが乗るということでもあり、ゲームバランスが崩れそうでいやだなぁ、なんてちょっと思ってます。
結論:そして「無限ループ」へ
ソフトウェア開発は AI によって、劇的に変わりつつあります。 とりわけ私の使い方では、**「自分の守備範囲の一歩先くらいまで」**が超効率化されています。 こういう世界線になると、最近 GitHub で話題の「Everything Claude Code」の作者のように、何でもできるスーパーマンが爆速でプロダクトを作る時代は、もう目の前まで来ているのでしょうね。
私の場合も、以前は2週間かかっていたタスクが、ものによっては今では1日で終わったりします。 では、浮いた 13 日間で何をするか? AI を使って、また新しい技術を学ぶのです。もっと効率的に AI を使うために、AI について学び、そのためのツールを AI に作らせる……。
私はもう**「AI を使うための AI」という無限ループ**の中にいるのではないだろうか。
まあ、楽しいからヨシ! ではまた。
コメント (0)
まだコメントはありません。最初のコメントを投稿しましょう!