こんにちは、鉄飛テクノロジーの岡田です。
最近、Claude Codeを狂ったように使っていて、いろいろ分かってきたことがあります。
まず言いたいのは、AIは、人間より、ずいぶん能力が高い、ということです。
感覚的には、十倍くらい。何をもって十倍かというと、脳みそのワーキングメモリのサイズが、桁違いに大きいんです。
人間のワーキングメモリは、限られています。だから私たちは、物事を分割して、小さな単位にして、抽象化して考える。「これを、こう分解して、それぞれをこう解いて、最後に合体させる」という工夫を、無意識にやっている。それは、人間の脳が小さいから、必要な技術です。
AIは、この工夫をしません。
なぜかというと、必要ないから。全部を同時に、頭に入れておける。分割しなくても、抽象化しなくても、全部見えてるから、そのまま解ける。
これは、便利なんです。十万行のプログラムに矛盾がないかチェックしてください、と頼むと、数秒で見つけてきます。人間だったら、何日もかかる。
ありがたい。
ただ、問題が二つ、あります。
ひとつめは、AIが考えていることを、人間が把握できないこと。
AIが「矛盾はなくなりました」と言ってきたら、多分正しいんだろうな、と思うしかない。確認する手段が、ほぼない。テストプログラムを書いて動かしてみれば、まあまあ正しそうだと分かるんですが、なぜそう動いているのかは、分からない。
大きいサイズになってくると、これが顕著になります。動くけど、なぜ動いているかは、私にも分からない。素晴らしいことなのか、怖いことなのか、判断がつかない。
ふたつめは、AIに全部任せると、メンテできないものが出来上がることです。
動くものはできます。AIにも、そのメンテはできます。でも、人間が理解して、人間の手でメンテできるレベルに落とすというのは、実は一番難しいんです。
だから、AIにフリーハンドを与えすぎない、というのが、大事だと思っています。
手綱を握る。「そこはやめろ」と言って、抑え込んで、一ステップずつやらせる。そうすると、実はそんなに速くない。速いのが取り柄だったのに、速さを捨てることになる。
でも、それをやらないと、いつか自分たちが、そのシステムをメンテできなくなる。AIに、依存し切ってしまう。
抑え込むためには、抑え込む側の人間に、経験と設計力が必要です。「ここまではAIに自由にやらせて、ここからは手綱を握る」という線を引くのは、経験がないと、できない。
AIは、便利な道具ですが、道具として使いこなすには、使う側に、それなりの力量がいる。「AIが使えるから、経験ゼロでもプログラマになれる」というのは、少なくとも大きなシステムでは、まだ嘘です。
むしろ、AI時代のほうが、経験と設計力の差が、拡大しています。
使いこなす人と、振り回される人の、二極化が始まっている。それが、私が最近、現場で感じていることです。