旧世代の異物とされながらも、これまで淘汰されることがなかったCOBOLだが、ついにAIに息の根を止められるかもしれない。アンソロピックが「COBOLは近代化できる」と発表したことで、IBMの株価が下がったそうだ。下落率は前週末比13.2%安だったそうで、壊滅的な打撃と言える。しかしこのニュースは、むしろ旧来のCOBOLエンジニアにとって朗報なのではないか。
最近、個人的に面白い経験をした。かつて社内で情報システム教育を受けたことがある。このときの開発言語はCOBOLだったのだが、その後すぐに「プログラミング言語は忘れろ」と言われた。「そういうのは協力会社さんの仕事」だからである。1990年代の社内SE教育とは、そんなものだった。結果的に、プログラミングも中途半端で、仕様書もまともに作れず、社内調整だけがスキルという社内SEが大量に作られた。
そのため今でも簡単なプログラミングはやるのだが、情報のアップデートについていけず(そもそも「オブジェクト指向って何?」がよくわかっていない)、結果的に使えなくなったプログラムが大量にある。
最近、このプログラムの一つをGeminiに渡したところ、数秒で「ああ、こういうことがやりたかったんですね」と理解され、今のモダンなやり方に変えましょうと提案された。つまり、動かなかったプログラムが動くようになったのである。ここから「プログラムには仕様書が内包されている」ということがわかる。そして、それを無理にドキュメントに落とす必要はない。コードをフィードしてやれば、業務理解はAIが担当してくれる。ドキュメントは、あくまでも人間が分かる形式に落とし込んだフォームであり、本質ではない。
こうした考え方はすでに一般に浸透しつつある。様々なプロトタイプの概念があるが「AI-Augmented Development(AI補強型開発)」などと一般化されている。
- 「Conversational Development(対話型開発)」
- 「Specification by Example(例による仕様定義)」
- 「Living Documentation(生きたドキュメント)」
しかしIT開発には仕様書が必要という意識も強いため、大企業や金融・医療・インフラ系では導入が遅れている。またそもそも要求仕様も作らずにとりあえずAIにやらせてみるバイブコーディングという手法を採用する人もいる。
途中まで「これはAIがボランティアでやっているのだろう」と考えていた。つまり、今後AIが一般化すれば、こうしたサービスが受けられなくなるのだから、いつまでもAIに頼るべきではないと考えたのだ。だが、この考えは間違っているかもしれない。
その後、Macに不具合が生じ、一から動作環境を別のMacに移す必要が出てきた。Unix系サーバーの構築は難易度が高く、失敗すると収拾がつかなくなる。これもGeminiにお願いして最初からやってもらった。つまりここでも、「どんな環境が作られるのか」という知見はGeminiに蓄積する形になる。
具体的にはHomebrewを使って導入するのだが、MySQLだけは、手元にあった少し古いインストーラーを使った。以前、Homebrewで失敗したことがあったからだ。サーバーはMontereyである。現在、HomebrewはこれをTier3(保証がない状態)として扱っている。
ここで気がついたことがある。Geminiの対応は概ね正確なのだが、ときどきとんでもない間違いを犯すことがある。そのたびに「これは間違っているのでは?」と指摘する必要があった。そこで「ああ、これはトレーナーとして無料奉仕させられているんだな」と気がついた。
無料でAIを使わせてもらう代わりに、ユーザーは次のような貢献をしている。
- 何がやりたいのかという要求仕様の提供
- Geminiの提案のトライ&エラーの提供
- UIに対するフィードバック
- 問題に対する適切なアプローチの提示
この知見が溜まっていけば、それを有料版に展開するのだろう。今はバイブコーディングの成功率は高くないが、やがて「だいたいこういうことがやりたいんだな」とAIが先回りして理解する時代も来るのではないか。
やがて「トレーニングが終了すれば、無料奉仕の価値も減るだろう」と思った。しかしよく考えてみれば、技術は日進月歩で進化するのだから、ユーザーが直面する問題も変化する。例えば、Montereyという少し古いOSにUNIXサーバーを立てたいという人が現れれば、そこには固有の問題が出てくる。
こうした経験を通じて感じたことがある。かつて長い時間をかけて獲得した中途半端なCOBOLの知識、UNIXサーバー構築講座の知識などは、ほとんど意味がなくなった。しかし、アルゴリズムの作り方、エラー処理をしてメッセージを確認する方法、変数の内容をアラートで出して確認するやり方などのユニバーサルな知識は、今でも十分に使える。
つまり、獲得した経験がすべて無駄になるということはない。むしろ、こうした体験を経ずにAIにすべてを聞いて即座にプログラミングができるようになった人たちに比べると、「試行錯誤」を積んできた世代のほうが優位な点も多いのではないかと感じる。
そう考えると、これまでのCOBOLエンジニアや社内SEたちが活躍できる領域は、むしろ増えているのではないだろうか。

コメントを残す