最初は全能だと思っていた

AIで何でもできる。そう本気で思っていた時期があった。

Cursorがコードを自動生成し、Claudeがバグを修正し、ChatGPTが設計の相談に乗ってくれる。プロンプトさえ磨けば、あらゆる問題が解決する。そう信じて、プロンプトエンジニアリングの記事を読み漁り、少しでもいい回答を引き出そうと必死になっていた。

でも、だんだんわかってきた。AIは全能じゃない。AIはよくできたペンだった。

ペンは書きたいものがないと何も書けない

あわせて読みたい
agentic codingに「責任」だけは渡せない マインドセット · 1分で読める
あわせて読みたい
AIに任せすぎて、気づいたら自分で考えられなくなっていた。Xで話題の「認知的降伏」について マインドセット · 1分で読める

ペンは素晴らしい道具だ。万年筆のように美しく書けるペンもある。でも、どれだけいいペンでも、持っている人が「これを書きたい」と思わなければ、白い紙のまま動かない。

AIも同じだ。どんなに返事が速くても、文脈を読めても、コードを一瞬で生成できても、こっちに「これを作りたい」という明確なイメージがなければ、何も生まれない。

このことに気づいたのは、AIに「ブログを書いて」と投げてみたときだ。返ってきた文章はたしかに日本語で、文法も正しい。でも、何も響かない。自分の経験も、葛藤も、悔しさも入っていない。書くべき中身がないのに、ペンだけが勝手に文章を書けるわけがないのだ。

コードの責任境界に気づけないと、AIのアウトプットを分解できない

ここにも罠がある。

AIが吐き出したコードを「はい、OK」と取り込むだけだと、どこからどこまでが何の責任なのか、境界線が見えなくなる。本来、コードには「ここが表示の責務」「ここがビジネスロジックの責務」といった境界がある。それを意識せずに一つの塊として受け取ってしまうと、あとでどう分解していいかわからなくなる。

分解できないということは、検証もできない。どこにバグが潜んでいるかも見えない。「動いてるっぽいから大丈夫」で通して、後日しっぺ返しを食らう。AIはコードの構造を提案するだけで、責任の境界を教えてはくれない。それを見抜くのは人間の仕事だ。

AIが出したコードをそのまま受け取ると、責任の境界が見えなくなる。あとからバグが起きても「この部分が原因だ」と切り分けられず、結局全部読み直すハメになる。分解できないと、トラブルシューティングもできない。

自分の責任で分解・統合できないと意味がない

分解できるだけでも足りない。最終的には、分解したパーツを自分の中で統合して、「これで大丈夫」と言える状態にしなければならない。

AIは部分を出力する。でも、それを一つのプロダクトとしてまとめ上げるのは人間の仕事だ。全体の絵を見て、つじつまが合っているかを確認し、抜けや漏れがないかを判断する。この統合の工程をAIに任せてしまうと、辻褄の合わないパッチワークができあがって、あとで全部崩れる。

分解も統合も、結局は「このコードが何をしているか理解できるか」という一点にかかっている。理解できなければ何もできない。AIが助けてくれるのは「理解する」という行為そのものではなく、理解した上で実行する面倒な作業の部分だけだ。

ボトルネックは人間側の理解力と、「描きたい未来」があるかどうか

ここまで考えて、やっとわかった。

結局、ボトルネックはAIの性能でも、プロンプトのテクニックでもない。人間の側に「何がしたいか」「何を作りたいか」というイメージがあるかどうかだ。agentic codingに「責任」だけは渡せないと書いたときと同じで、AIは手段でしかない。

そしてもう一つ。この「描きたい未来」をどれだけ育てられるかも、問われている。

AIに頼りすぎると、自分で考える力が落ちていく。AIに任せすぎて自分で考えられなくなったと感じたのは、その兆候だった。考える力が落ちれば、描ける未来も小さくなる。負のループだ。

逆に言えば、自分の理解力を育て、「これを作りたい」と思えるものを増やしていくことが、AI時代に人間ができる一番の投資なのかもしれない。

まとめ

AIはよくできたペンだ。だから、ペンを活かすために、自分が何を書きたいのかを問い続けるしかない。

コードの責任境界を見抜き、分解し、統合する。そして、もっと根本的には、「何をしたいのか」を自分の言葉で言えること。それがなければ、どんなに高性能なAIも、ただの置物で終わる。

今日、AIに投げる前に、自分が本当に作りたいものは何なのか、一度だけ立ち止まって考えてみてほしい。その答えがあるなら、AIはきっと、いままでよりずっと使えるペンになる。