Image by Unsplash
November 9, 2026
清水 亮 ryo_shimizu
新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。
さきほど、ちょっとしたプログラムを作った。
名前は「mightyCode」。
GitHubで公開しているので、興味のある人は見てみてほしい。
https://github.com/shi3z/mightyCode
やっていることは、実に単純だ。
Apple Siliconを搭載したMacの上で、小さなローカルLLMを動かし、それをClaude Codeから利用できるようにする。ただそれだけのプログラムである。
使用するLLMは、DeepSeek-V4-Pro-Qwen3.5-9B-UNCENSORED-hereticという、名前だけはやたらと長いモデルだ。9B、つまり90億パラメータ程度のモデルである。これを4ビットに量子化し、AppleのMLXで動かす。DeepSeek-V4-ProをQwen3.5-9Bをベースに蒸留し、ガードレールを外したモノだ。ただしこのモデル自体の安全性はテストしていないため、使用する際にはハードディスクに見られては困る情報をおかないこと。
モデルの容量は約5GB。16GB程度のメモリを持つMacでも動かせる。
Claude Codeは本来、AnthropicのClaudeを利用するためのプログラミングエージェントだ。ところが、mightyCodeではClaude Codeが使用するAnthropicのAPIを、ローカルLLMが理解できるAPIに変換している。
つまり、頭脳だけを入れ替えているのだ。
Claude Codeという優秀な身体に、Macで動く小さなAIの頭脳を接続する。
これでファイルを読み、プログラムを書き、コマンドを実行し、テストを行い、失敗したら修正するという、一連の作業がローカルで実行できるようになる。
しかも、外部のAI APIを呼び出さないので、使えば使うほど料金がかかるということもない。5時間制限もなければ週次制限もない。
もちろん、小さな9Bモデルの知能は、本物のClaudeには遠く及ばない。複雑な仕事を一発でこなせるわけではない。
しかし、ここで重要なのは、モデルがどれほど賢いかということではない。
十分に安い知能が、十分に長い時間、試行錯誤を繰り返せるようになったということだ。
この意味について考え始めたとき、僕は少し恐ろしくなった。
これは、単にプログラミングが便利になるという話ではない。
ひょっとすると、ソフトウェア産業そのものが終わるかもしれないのである。
実は、今回作ったmightyCodeには、もう一つ重要な仕掛けがある。
それは、2026年11月3日に公開されたNVIDIAの研究者らによる論文「You don’t need long context(長いコンテキストは必要ない)」に基づく仕組みだ。
https://arxiv.org/abs/2611.05306
この論文は、僕にとってかなり衝撃的だった。
従来、AIエージェントに長い仕事をさせるためには、長いコンテキストウィンドウが必要だと考えられてきたし、僕もそう信じてきた。
コンテキストウィンドウというのは、LLMが一度に参照できる情報量のことである。
たとえばプログラミングエージェントに仕事を頼むと、AIはファイルを読み、ソースコードを編集し、コマンドを実行し、その結果を確認する。
この一連のやり取りが、すべて会話履歴として蓄積される。
仕事が長くなればなるほど、会話履歴も長くなる。
そして、コンテキストが長くなるほど計算量もメモリ使用量も増大する。
NVIDIAの研究では、256Kトークンのコンテキストを使うと、16Kトークンの場合に比べて、モデルによっては出力トークン当たりの計算コストが最大7倍になることが示された。
これは非常に重要だ。
ローカルLLMを動かす場合、モデルそのものをメモリに載せるだけでは済まない。会話履歴に対応するKVキャッシュもメモリを消費する。実際、僕は普段、DeepSeekV4-Flashを自作のサーバー(A100 80GBx4)で動作させている。これはもう僕にとっては今やなくてはならないものになっていて、僕のプロジェクトの半分くらいで常時使用している。ローカルで動作するし検閲されないので安心して色々な仕事を任せることができる。誰もが同じ環境を作れるわけではないが、手が届くならば是非とも備えておくべき環境だ。
このとき頭痛の種になるのがコンテキストサイズがどんどん長くなっていくということだ。複雑な仕事をさせると100万コンテキストという長大な作業の計算に大量のVRAMを消費する。もっとA100を回せればいいが今のところ他の4台( システムとしては合計8台のA100が繋がっている)には他の仕事をさせたい。だから100万コンテキストをサポートし続けるのはなかなか大変だ。
長大なコンテキストは、特にメモリの少ないコンピュータにとって大きな負担になる。
ところが、この論文の研究者たちは、ここで根本的な疑問を投げかけた。
そもそも、AIが長い仕事をするために、過去の会話をすべて覚えておく必要があるのだろうか。
人間のプログラマーを考えてみればいい。
一週間かかる仕事をしているとき、我々は一週間前からの思考をすべて頭の中に保持しているわけではない。
昨日何をしたか、何が完成しているか、何が問題なのか、次に何をすべきか。
それさえわかっていれば、仕事は再開できる。
途中で調べた細かい情報を忘れてしまったとしても、必要になればファイルやドキュメントをもう一度調べればいい。
NVIDIAの研究者たちは、これと同じことをLLMにやらせてみた。
まず、一定の長さまで仕事を進めたら、それまでの作業を短い文章にまとめる。
そして、古い会話履歴を捨てる。
次の会話では、最初に与えられた仕事の内容と、それまでの作業の要約だけを渡す。
これを繰り返す。
この方法をEnd-of-Conversation Compaction、略してEoCCと呼ぶ。
驚いたことに、複数のソフトウェア開発ベンチマークでは、長い履歴を保持し続ける方法と比較して、成功率がほとんど変わらないか、むしろ改善する場合すらあった。
さらに研究者たちは、もっと極端な実験を行っている。
AIに一つだけ作業をさせ、その結果を要約させ、その会話をすべて捨てる。
そして、要約だけを持って次の作業をさせる。
これをSingle-Action Compaction、SACと呼ぶ。つまり、AIは一度に一つのアクションしか実行しない。
そのたびに記憶を要約し、会話を最初からやり直す。こんなやり方でまともにプログラミングができるのだろうか。
ところが実験結果は驚くべきものだった。
Claude Opus 4.5を使ったSWE-bench Verifiedでは、会話履歴をすべて保存する従来方式の成功率が70.0%だったのに対し、SACでは70.2%だった。
ほぼ同じなのである。
Terminal-Benchでは、従来方式の47.2%に対し、SACは51.8%だった。
つまり長い会話履歴を持たない方が、むしろ成績が良いのだ。
もちろん、すべてのモデルですべての結果が改善したわけではない。しかし、長い履歴を持たなくても複雑なソフトウェア開発を続けられるという事実は、非常に大きな意味を持っている。
NVIDIAの研究者たちは、この発見をもとに、Semantic State Space Model、略してSSSMという新しい概念まで提案している。
これは、過去の会話を大量に覚える代わりに、現在の仕事の状態を自然言語で保持し、次に何をすべきか判断するという考え方だ。
コンピュータのプログラムが、過去に実行したすべての命令を覚えていなくても、現在のメモリやレジスタの状態から次の命令を実行できるのと似ている。
AIに必要なのは、過去の思考の完全な記録ではなく、現在の状態と次に取るべき行動なのかもしれない。
これは、AIの設計思想そのものを変える可能性がある。
僕がmightyCodeに組み込んだのは、この論文で検証されたEoCCという方式である。
Claude Codeが長時間動き続け、会話履歴が一定以上に増えたら、ローカルLLM自身に、それまでの仕事の要点をまとめさせる。
そして、古い履歴を破棄し、要約された情報から作業を再開させる。
これによって、会話履歴が際限なく膨らむことを防ぐ。
コンテキストが増大して、メモリを圧迫したり、推論が遅くなったりする問題を抑えられる。
mightyCodeでは、推定48Kトークンを閾値として、この処理を行うようにした。
実際にはClaude Codeのシステムプロンプトやツール定義だけでも相当なトークン数を消費するため、小型モデルではまだ改善の余地がある。
また、この9Bモデルで論文と同じ精度が再現されることを検証したわけではない。
しかし、この仕組みの方向性は明確だ。
これまでのAI開発では、巨大なモデルと巨大なコンテキストウィンドウを実現するために、莫大な計算資源が投入されてきた。
ところが、この論文は、少なくとも長時間にわたる作業の一部では、そのような巨大なコンテキストは必須ではないことを示している。
mightyCodeは、その知見を、小さなローカルLLMと既存のプログラミングエージェントの組み合わせに持ち込んだものだ。
重要なのは、AIの知能を単純に高めることではない。限られた知能と限られたメモリしか持たないAIでも、仕事を適切に分割し、状態を引き継ぎ、何度でも試行錯誤できる仕組みを作ることだ。
もちろん、会話履歴を短く保つだけでは、小さなLLMの推論能力そのものが高くなるわけではない。解けない問題を何万回繰り返しても、解けるとは限らない。
それでも、低コストなAIに長時間の作業を任せるための重要な障害が、一つ取り除かれようとしている。
ここに、mightyCodeの本当の可能性がある。
この論文の本当に恐ろしいところは、LLMの性能向上とは別の方向から、AIの実用性を劇的に高める道筋を示していることだと思う。
小さなAIでも、適切なハーネスがあれば長い仕事を続けられる。
長い仕事を続けるために、膨大なコンテキストをメモリに保持する必要もない。
必要な情報は外部のファイルに保存しておき、必要なときだけ読み込めばいい。
そして、仕事がうまくいかなければ、別の方法を試す。
それでもダメなら、また別の方法を試す。
ローカルLLMの場合、何回試行錯誤しても外部のAIサービスに追加のAPI料金を支払う必要はない。もちろん、電気代も時間もかかる。しかし、それは人間のプログラマーを何日も雇う費用とは、まったく異なるコスト構造だ。
NVIDIAの論文が示したのは、AIに長い記憶を与えなくても、長い仕事をさせられるということだった。
そしてmightyCodeが目指しているのは、その原理を使って、小さなローカルAIに、これまで高価だったプログラミング作業を任せることなのである。
もしもこれが、十分な信頼性を持って実現できるようになったら。
ソフトウェアの価値を支えてきた「作るのに膨大な時間がかかる」という前提そのものが、崩れ始める。
それは、ソフトウェア産業全体にとって、極めて重大な変化になるはずだ。
そもそも、ソフトウェアという商品は、かなり奇妙な存在である。
たとえば自動車を作るには、工場が必要だ。材料も必要だ。大量の部品を調達し、組み立て、品質管理をしなければならない。
ところがソフトウェアは、完成してしまえばコピーする費用がほとんどかからない。
極端な話、一人のプログラマーが数年かけて開発したプログラムも、それをコピーするだけなら数秒で終わる。
にもかかわらず、ソフトウェア産業が巨大な産業として成立してきたのはなぜか。
それは、プログラムを複製することは簡単でも、プログラムが何をしているか理解し、同じものを作り直すことは難しかったからだ。
ソフトウェアは、人間が読めるソースコードから、コンピュータが実行する機械語に変換される。
機械語から元のソースコードを完全に復元することは、一般にできない。
関数名や変数名、設計者が何を考えて作ったのかという情報は、コンパイルの過程で失われる。
もちろん、昔から逆アセンブラやデコンパイラという道具は存在した。GhidraやIDAのような優秀な解析ツールもある。
しかし、それらを使って数百万行にも及ぶプログラムを理解するには、膨大な専門知識と時間が必要だった。
そのため、ソフトウェアは実行形式のプログラムだけを配布しても、ある程度は商売として成立した。
重要な部分がブラックボックスのままだったからである。
ところが、この前提が崩れつつある。
従来のリバースエンジニアリングは、人間が根気よく機械語を読み、プログラムの意味を推測していく作業だった。
しかし、LLMはそもそもプログラムの意味を解釈することが得意だ。
デコンパイラが出力した読みにくいC言語風のコードを与えれば、何をしている処理なのか推測できる。
そこに実際の入出力や実行結果が加われば、推測が正しいかどうか検証できる。
そして、Claude Codeのようなハーネスを接続すると、解析、仮説、実装、テスト、修正という一連の工程をAIが繰り返せるようになる。
これは恐ろしいことである。
従来、リバースエンジニアリングに必要だったのは、高度な技術を持つ人間の膨大な労働時間だった。
しかし、ローカルLLMの場合、その労働時間に相当するものをコンピュータが供給できる。
人間なら途中で疲れるし、飽きるし、給料も必要になる。
だが、ローカルLLMは電気代さえ払えば働き続ける。
もちろん、今の小型LLMが任意の巨大な商用ソフトウェアを自動で完全再現できるという話ではない。解析が難しいプログラムも、外部サービスへの依存も、ハードウェア固有の処理もある。
しかし、重要なのはそこではない。
たとえば、あるソフトウェアが何らかのファイルを読み込み、加工して、別のファイルを書き出すものだったとする。
その入出力仕様を観察し、AIに互換プログラムを作らせ、元のプログラムと出力結果を比較する。
違っていたら修正する。
また比較する。
この作業を何千回、何万回でも繰り返せるとしたら、どうなるだろうか。
内部のアルゴリズムを完全に理解する必要すらないかもしれない。
同じ入力に対して、同じ出力を返すプログラムを作ればいいからだ。
もちろん、有限回のテストで完全な互換性が保証されるわけではない。しかし、利用者が必要とする範囲で十分に動くクローンを作ることなら、はるかに現実的になる。
これまで非常に高価だった「ソフトウェアの再実装」という行為が、劇的に安くなる可能性がある。
そして、その可能性を支えるのが、何十万円もするGPUサーバーではなく、普通のMacと、わずか数GBのLLMと、簡単なハーネスなのである。
ここで、もう一つ重要なことがある。
リバースエンジニアリングといえば、昔はソースコードを盗み出すようなイメージがあった。
しかし、AIがソフトウェアを再実装できるようになると、必ずしも元のソースコードを入手する必要がなくなる。
実際に動いているプログラムを観察し、その振る舞いを説明し、同じ振る舞いをする別のプログラムを書けばいい。
これは、ソフトウェア産業にとって本質的な脅威になる。
なぜなら、ユーザーが買っているのは、ソースコードそのものではないからだ。
ユーザーが買っているのは、機能である。
画像を編集したい。動画を変換したい。図面を描きたい。表計算をしたい。音楽を作りたい。
その機能さえ再現できるなら、内部のソースコードが元の製品と一致する必要はない。
しかも、AIが新しく書いたコードなら、人間が読める形でソースコードが存在する。
それを公開すれば、オープンソースの互換実装になる。
ここでいうオープンソース化とは、元の企業の著作権が消滅するとか、非公開のソースコードが自動的に公開されるという意味ではない。
市場で売られている機能が、独立したオープンソース実装に次々と置き換えられてしまうという意味である。
もちろん、著作権、特許、契約、技術的保護手段などの法的問題は残る。機能を再現できることと、それを合法的に配布できることは別だ。
しかし、法律が技術的な複製能力そのものを消してくれるわけではない。
実際問題、世界で最も広く利用されているOSの一つであるLinuxは、もともと商用のプロプライエタリなソフトウェアだったUNIXを、独立したコードで再実装するという思想の延長線上に生まれたものだ。
1983年、リチャード・ストールマンはGNUプロジェクトを立ち上げた。目的は明快だった。UNIXと同じように使えるOSを、誰もが自由に利用し、改変し、再配布できるソフトウェアとして、ゼロから作り直すことである。
1985年にはFree Software Foundation(FSF)が設立され、コンパイラ、シェル、各種コマンド、ライブラリといった、当時は商用UNIXの一部として提供されていた機能が、次々と自由ソフトウェアとして再実装されていった。
しかも彼らは、単に無料で配るだけではなかった。GPLという、改変したソフトウェアを再配布する場合にも利用者の自由を維持することを求める、強力なライセンスを用意した。
そして1991年、リーナス・トーバルズがUNIX互換のカーネルであるLinuxを開発した。これがGNUのソフトウェア群と組み合わされることで、商用UNIXに代わる、実用的な自由ソフトウェアのOSが成立した。
今やLinuxは、世界中のサーバー、スーパーコンピュータ、組み込み機器、そしてAndroidスマートフォンを支えている。
つまり、かつては高額なライセンス料を支払わなければ使えなかったソフトウェアが、独立したクローン実装によって置き換えられ、ついには世界を席巻するということは、すでに歴史上、何度も起きているのだ。
ただし、この革命には何十年もの時間と、世界中の優秀なプログラマーたちの膨大な献身と労力が必要だった。
ところが、今はどうだろう。
そのプログラマーたちの作業の一部を、ローカルLLMが代行できるようになり始めている。
かつて何十年もかかったソフトウェアの再実装を、AIエージェントが何日、あるいは何時間で実現するようになったら、何が起きるだろうか。
GNUが数十年かけて起こした革命が、今度はAIによって、あらゆるソフトウェア分野で同時多発的に起こる可能性がある。
では、あらゆるソフトウェアがすぐに無価値になるのだろうか。
僕は例外の一つとして、巨大なAAAタイトルのゲームを考えている。
もっとも、ゲームのプログラムが特別に解析困難だからではない。
むしろ、ゲームの本当の価値は、プログラム以外のところにあるからだ。
現代のAAAゲームは巨大である。
高解像度のテクスチャ、3Dモデル、音声、音楽、モーション、広大なマップ、膨大なイベントデータ。
その多くは、プログラムのロジックというよりも、人間や制作ツールによって生み出されたコンテンツである。
仮にゲームエンジンやゲームロジックをAIが再実装できたとしても、膨大なアセットを同じ品質で用意できるとは限らない。
また、数十GBから百GBを超えるようなゲームを世界中に配信するには、巨大な配信インフラが必要になる。
ダウンロードサーバー、CDN、アップデート配信、認証、マルチプレイヤーのサーバー運営。
これらは単なるソースコードの問題ではない。
Steamのようなゲーム配信プラットフォームが持つ価値も、実はゲームのプログラムそのものではなく、巨大なデータを効率よく配布し、ユーザーと開発者を結びつける仕組みにある。
だから、AAAゲームはソフトウェアのクローン化が進んでも、比較的長く生き残る可能性がある。
ただし、これは永遠の安全を保証するものではない。
生成AIによって3Dアセットや音声やモーションの生成コストまで下がっていけば、その優位性も少しずつ失われる。
また、オープンソースのゲームエンジンやAI生成コンテンツが組み合わされば、既存ゲームと同じ体験を、まったく別のソフトウェアとして再構成することも考えられる。
結局、最後に残るのはプログラムではなく、巨大なコンテンツ、配信基盤、オンラインコミュニティ、ブランドといったものかもしれない。
皮肉なことに、ゲーム産業が生き延びる理由は、ゲームがソフトウェアだからではなく、ソフトウェア以外の価値を大量に抱えているからなのである。
一方で、一般的なデスクトップアプリケーションや業務用ツールはどうだろうか。
僕は、かなり危険な状況にあると思う。
たとえば、特定の形式のファイルを変換するソフトウェア。
特殊な集計を行う表計算ツール。
画像を加工するためのプラグイン。
特定の業界で使われる専用アプリケーション。
これらは従来、ニッチな需要に対して、少数の開発者が作ったプログラムを販売することで成り立っていた。
利用者が自分で作るには難しすぎる。だから購入する。
しかし、その機能をAIに説明するだけで作れてしまったら、どうなるか。
あるいは、既存のプログラムを渡し、「これと同じ機能を持つものを作って」と指示するだけで、十分な互換品が完成してしまったらどうだろう。
そのとき、ソフトウェアの販売価格は、一体何を根拠に決めればいいのか。
これまでは、ソフトウェアを開発するために必要な専門技術と時間が、価格の根拠だった。
しかし、AIによって再実装の費用が限りなく小さくなれば、その根拠が失われる。
さらに厄介なのは、一度誰かがクローンを作ってオープンソースとして公開してしまえば、それを別の人が使って改良できることだ。
AIが改良する。
別のAIが移植する。
さらに別のAIが機能を追加する。
そのサイクルが進めば、非公開の商用ソフトウェアより、公開された互換ソフトウェアの方が速く進化する状況さえ考えられる。
ソフトウェアが大量に生産され、無限に複製され、改良される。
しかも、その開発者が人間である必要すらなくなる。
もちろん、すべてのソフトウェアを同じ容易さでクローン化できるわけではない。大規模なSaaS、独占的なデータを持つサービス、規制対応が必要な業務システムなどには、コード以外の参入障壁がある。
しかし、「プログラムを書けること」や「プログラムの中身を隠していること」だけを競争力としている企業は、極めて厳しい立場に置かれる。
これは、一部のプログラマーが失業するという程度の話ではない。
パッケージソフトウェアのライセンスを販売するというビジネスモデルそのものが、成立しなくなる可能性があるのだ。
ここで、mightyCodeの話に戻ろう。
僕が今回作ったものは、特別に賢いAIではない。
9Bというサイズは、現在のLLMとしては小型の部類に入る。
複雑な問題では間違えるし、堂々巡りになることもある。実際、Claudeのような大規模モデルとは、知能の差が歴然としている。
しかし、そのことを理由に安心するのは間違いだと思う。
なぜなら、この問題の本質は、一回の推論でどれだけ賢い答えを出せるかではなく、単位コストあたりにどれだけ多くの試行錯誤ができるかだからだ。
昔のコンピュータは、人間よりも遥かに計算が遅かった。
しかし、計算機は休まない。正確に、何度でも同じことを繰り返す。
今のコンピュータが人間とは比較にならない量の計算を実行しているのは、一回の計算が天才的だからではない。
大量に、安く、繰り返せるからである。
AIエージェントでも、同じことが起きるのではないか。
人間のプログラマーが何週間もかけて試行錯誤することを、AIが何万回もの小さな実験に分解して実行する。
重要なのは、その実験の一回あたりのコストである。
クラウド上の高性能LLMを利用すると、実験を繰り返すほどAPI料金がかかる。
しかし、ローカルLLMなら、その費用は主に電力と計算機の減価償却費になる。
高価なAPIを呼ぶ必要がない。
許可された範囲の作業を、何時間でも何日でも実行できる。
そのために必要なものが、特別なデータセンターではなく、家庭にあるMacだとしたらどうだろう。
計算速度やモデルの能力による限界はもちろんある。しかし、長い時間をかけて検証することが許される問題では、低コストな知能は非常に大きな武器になる。
これがローカルLLMの本当の恐ろしさだと僕は考えている。
知能が無料になるわけではなく、知能を使って試行錯誤することの限界費用が、極端に小さくなっていくのである。
この変化に対して、ソフトウェア企業は何ができるだろう。
ソースコードを秘密にする。
プログラムを難読化する。
実行時に認証を要求する。
重要な処理をクラウド側に移す。
もちろん、こうした対策には一定の意味がある。
特に、サーバー側にしか存在しないデータや計算機資源に依存するサービスは、ローカルの実行ファイルだけでは複製できない。
だから、すべてのソフトウェア企業が一夜にして消滅するわけではない。
しかし、プログラムが実際に動作している以上、外部から観測できる振る舞いは存在する。
十分な入出力例を収集でき、互換性を検証できるのであれば、ブラックボックスの内部を知らなくても、似た機能を実装できる可能性は残る。
そして、ローカルLLMが広く普及すれば、この作業を実行するためにクラウドAI企業の許可を得る必要さえない。
今回使用したモデルは、いわゆるUNCENSOREDと呼ばれる、応答制約を緩めた派生モデルである。
しかし、本当に重要なのは、そのモデルが何を拒否するかではない。
モデルがユーザーの手元にあり、ローカルで実行できるということだ。
クラウド上のAIであれば、サービス提供者が利用規約やアクセス制御によって利用方法を制限できる。
ローカルAIでは、そうした中央集権的な制御に依存した対策は通用しにくい。
しかも、mightyCodeのようなプログラムは、それほど複雑なものではない。
API形式を変換し、小さなLLMを起動し、既存のハーネスと接続する。
基本的にはそれだけだ。
こうした仕組みは、特定の一社だけが独占できる技術ではない。
仮にmightyCodeが存在しなくなったとしても、同じようなものを別の誰かが作ればいい。
LLMの研究は世界中で進んでいる。ローカル実行環境も、オープンウェイトのモデルも、すでに存在している。
一つのサービスを停止させたり、一つの製品に規制をかけたりしたところで、この技術的な方向性そのものを逆戻りさせることは難しい。
だから、僕はこの変化を止めることは、今さらほとんど不可能なのではないかと思っている。
もちろん、これはソフトウェアが不要になるという話ではない。むしろ逆に、ソフトウェアは、これまで以上に大量に作られるようになるだろう。
個人が自分専用のソフトウェアを持つ。
会社が自社専用のソフトウェアを持つ。
あるいは、その場で必要になった機能をAIが生成し、使い終わったら捨てる。
そういう時代になるかもしれない。
そのとき、ソフトウェアは製品というよりも、必要に応じて生成される一時的な道具になる。
かつて、計算するためには計算尺や専用の計算機を買う必要があった。
今では計算機能は、あらゆる電子機器の中に当たり前のように存在している。
同じように、特定の機能を持つソフトウェアを購入するという行為そのものが、古臭い習慣になる可能性がある。
生き残るのは、独自のデータを持つ企業、社会的な信用を提供する企業、複雑なサービスを継続運営する企業、巨大なコンテンツやコミュニティを持つ企業だろう。
ソフトウェアの品質保証、セキュリティ、法令対応、運用責任といったものも、依然として価値を持つはずだ。
しかし、それはもはや「プログラムを作って配布する」という、従来のソフトウェア産業とは別の商売である。
ソフトウェアそのものの希少性が失われ、ソフトウェアを取り巻くサービスや責任だけが商品として残る。
これは、産業の構造そのものが変わるということだ。
僕はこれまで長い間、プログラムを書くことを仕事にしてきた。
コンピュータを動かすためには、コンピュータが理解できる言葉で、人間が一生懸命に命令を書かなければならなかった。
だから、プログラムを書ける人には価値があった。
複雑なソフトウェアを設計し、実装し、動かせることは、大きな競争力だった。
しかし、AIがプログラムを理解し、書き、実行し、検証し、修正できるようになった。
そして今、そのAIを動かすために、必ずしも巨大なクラウドサービスが必要ではなくなりつつある。
手元のMacで動く、小さなLLM。
それを動かす、シンプルなハーネス。
たったそれだけの組み合わせから、これまで莫大な開発費を投じて作ってきたソフトウェアを、次々と再実装できる世界が見え始めている。
mightyCode自体が、あらゆるソフトウェアのリバースエンジニアリングに成功したわけではない。
現時点では、そのような万能の仕組みが完成したと主張するつもりもない。
しかし、考えてみてほしい。
もしもAIの知能が今のままでも、ハーネスが改善され、検証の仕組みが整い、何万回もの試行錯誤をほとんど追加料金なしに実行できるようになったら。
そして、その知能が今後さらに向上したら、そのときソフトウェアの機能を秘密にすることに、一体どれだけの意味が残るだろう。
ソフトウェアをコピーする時代から、ソフトウェアを理解し、作り直す時代へ。
これまでソフトウェア産業を守っていたのは、コピー防止技術や法律だけではなかった。
本当の防壁は、人間がプログラムを理解し、同じものを作り直すために必要な、途方もない時間と労力だ。
AIは今、その防壁を壊そうとしている。
これは、ソフトウェア産業全体が吹き飛ぶほどの変化になる可能性がある。
しかも、誰かが巨大なAIを開発して世界を支配するという話ではない。
普通のMacを持っている人間が、自分の机の上で、静かにそれを始められるようになったという話なのだ。
僕たちは、プログラムを作ることが特別な価値を持っていた時代の、最後の瞬間に立ち会っているのかもしれない。