将棋AI界隈にも、Coding Agentの波がやってきた。将棋AI開発者のコミュニティでもGPT-5.3-Codex(以下Codexと略す)やClaude Opus 4.6(以下Claudeと略す)を活用している人たちが目立つ。
そんななか、tanuki-の開発者である野田さんがCodexを用いてやねうら王をC#に移植した。やねうら王はC++で書かれているが、それをCodexがプロンプトで指示するだけでC#に移植して、実際に対局ができるところまで持っていけたということである。
私はいまCodexを使って、弊社で数百万円で受注した開発案件をやらせているところだが、おおよそ9割程度のコードは自動生成できている。残り1割は仕方がないので自分で書いているが、経験年数5~10年ぐらいのエンジニアぐらいに相当する程度の仕事はCodexがこなせそうである。
また、Codexは5.2から5.3で大幅に進化を遂げた。バージョンが0.1上がるだけでこんなに変わるか?というぐらい生成されるコードの質が向上した。OpenAIやGoogleの社内には、いま公開されているCodexやClaudeの2,3つ先のバージョンがあるのだろうから、そんなものを目の当たりにすれば、経営者なら「もう半数ぐらいのエンジニアはいらんかな?」という気持ちになるのも無理はない。
AIでエンジニアが大量に失職する時代がくるの、思ったより早そうだなという気持ちもある。しかし、冷静に考えてみれば、予兆は十分にあった。
今回のようにC++のコードをC#に移植するのは、言語間の翻訳である。この翻訳を行うときに、等価になるようにするためには計算機的に等価になる変換でなければならないが、そうは言っても、自然言語である英語から日本語への翻訳にしても、文化的な違いや、価値観の違いなどを前提に翻訳しなければならないので、やることは、さほど変わらない。
つまり、我々が知的作業と思っているエンジニアリングの作業は、言うなれば翻訳行為なのだ。いま機械翻訳は、Transformerを使うのが主流である。Transformerで有名な論文『Attention Is All You Need』は、もともと機械翻訳のために提案されたものであったが、その後、この翻訳能力そのものが、さまざまな下流タスクに適用可能な基盤的能力であることが明らかになっていった。その時点で、エンジニアリング作業もまた翻訳行為にすぎない以上、Transformer型のAIによってプログラミング行為は代替されると気づくべきであったのだ。
私見になるが、我々が知性だと思っているものの正体のほとんどは、このような翻訳行為なのだ。この翻訳行為をTransformerができるって言うんだから、つまりは、Transformerは、少なくとも我々が知性と呼んできた能力の中核部分を担っていると言える。
「いまのLLMは確率的オウム(stochastic parrot)」だと主張する言語学者・計算機学者も数多くいるが、この確率的オウムには翻訳ができ、翻訳ができることこそが知能を有することの証明だと私は考えている。
もし知性が、世界を別の表現へと写し替える能力のことだとするならば、我々は長いあいだ、その能力を人間固有のものだと錯覚してきた。翻訳する機械が現れたのではない。翻訳こそが知性であるという事実が、ようやく可視化されたにすぎないのだ。
やはりSE、PGの大量失業は必然になんですね。
そうなると今のSE、PGが生き残るにはどうすればいいのでしょうか?
AIを活用できるエンジニアになればAIの力で従来の10倍ぐらいの速度で仕事ができるので、現在の10倍の収入も不可能ではない…かも…。
10年くらい前まではソフトエンジニアは一番安定した職業だと思っていましたが、とんでもなかったですね。
補足) 本文で最初、stochastic parrotを「統計的オウム」と私が書いたのは、(直訳である)「確率的オウム」と訳するとこの「確率的」をprobabilisticの意味と勘違いされうるかと思って「統計的」と書いたのだけども、これはさすがに誤訳だと思ったので、「確率的オウム」と修正しました。
結局、人間の知性も1個の神経細胞という知的ではない素子の集合からなる創発現象ですからね。人間の知性を特別視したがる背景は人間の棋士を特別視したがっていた層と重ねって見えます。
ああ言えばじょうゆ(略)みたいなトランスフォームは真理教的オウムってことでいいんですか?w
30年前からインターネットに常駐してる人のコメントだ…。
「私見になるが、我々が知性だと思っているものの正体のほとんどは、このような翻訳行為なのだ。」
なるほど!と思いました。
個人的には、AIに問いをなげかけると、翻訳行為にくわえて連想のような行為もある程度やってくれると思います。
例)
○○とは何かおしえて!
↓
翻訳行為
↓
○○とは△△のことです。
これにくわえて、
関連してこんな話題はどうですか、
さらにこんな機能も追加できますよ、
などと、最後に付け加えてくる。
質問なのですが、
関連項目や、問いで考慮されていない部分を提起する、連想のような行為は、翻訳行為とは別の知性のひとつだと思いますがいかがでしょうか?。
連想のような行為も、AIがやってくれるようになっている、その範囲は、思ったより広くなってきてるかも、と思いますがいかがでしょうか?
もしよろしければ、お考えを教えていただけるとうれしいです。
> 問いで考慮されていない部分を提起する、連想のような行為は、翻訳行為とは別の知性のひとつだと思いますがいかがでしょうか?
私の考えを一言で言うと、それも翻訳行為です。(Aという会話のあとは、Bという会話になりやすいというのがわかっているとして、Aという言語をBという言語に翻訳しているとみなせます。)
回答ありがとうございます!
> Aという会話のあとは、Bという会話になりやすい
飛躍してるかもしれませんが、検索時のサジェストとか広告表示のアルゴリズムを連想しました。
翻訳行為以外の知性を探してみると、けっこう狭い気がしてきました。
たとえば、
・みんなが「どう解くか」しか考えていないときに、「そもそもこの前提は正しいのか?」という問いを立てる。
・「速さ」か「安さ」か、という軸で競っている市場で、「安心感」みたいな第三の軸を勝負どころに据える。
などといった、考慮すべき範囲が広そうな場合でも、
似た事例で、その解法の成否の傾向がわかるように、大量に過去の事例や経営戦略などを大量に学習できるなら、
「この課題の解決方法は?」という会話のあとには「解法はこのパターン1,2,3…などがあります」という会話になりやすい、と回答できるようにいずれなるということかもしれませんね。
翻訳行為以外の知性で残りそうなのは、
・「出世したい」と思っていたけれど、「本当に欲しいのは肩書きではなく、時間と人間関係だ」と気づき、生き方の基準を変える。
・リンゴが落ちるのを見て「重力」という言葉を当てるのは翻訳。「なぜ空の月は落ちてこないのか?」まで飛躍して考える。
などでしょうか。
連続投稿すみません。
>さらにこんな機能も追加できますよ
と書いたのは、
こんなコードを書いてみて!と質問したときに、要求した内容だけではなく、機能追加の提案もしてくる、という意味です。