/note/tech

ソフトウェア産業が消滅する日──小さなローカルAIが暴く「プログラムを売る」という商売の終焉

要約:

■ 1. mightyCodeの概要

  • mightyCodeとは:
    • Apple Silicon搭載Mac上で小さなローカルLLMを動かし、Claude Codeから使えるようにするプログラム
    • GitHubで公開している
  • 使用モデル:
    • DeepSeek-V4-Pro-Qwen3.5-9B-UNCENSORED-hereticという約90億パラメータのモデル
    • DeepSeek-V4-ProをQwen3.5-9Bベースに蒸留し、ガードレールを外したもの
    • 4ビットに量子化し、AppleのMLXで動かす
    • 容量は約5GBで、16GB程度のメモリのMacでも動く
  • 安全性の注意:
    • モデル自体の安全性は未検証
    • 使用時はディスクに見られて困る情報を置かないこと
  • 仕組み:
    • Claude Codeが使うAnthropicのAPIを、ローカルLLMが理解できるAPIに変換する
    • Claude Codeという優秀な身体に、小さなAIの頭脳だけを入れ替えて接続する
    • ファイル読み込み、コード記述、コマンド実行、テスト、修正の一連の作業がローカルで完結する
  • コスト面の利点:
    • 外部APIを呼ばないため、使うほど料金がかかることがない
    • 5時間制限も週次制限もない
  • 能力の限界:
    • 9Bモデルの知能は本物のClaudeに遠く及ばず、複雑な仕事を一発ではこなせない
  • 本質的な意味:
    • 重要なのはモデルの賢さではなく、十分に安い知能が長時間試行錯誤を繰り返せるようになったこと
    • これは単なる利便性の話ではなく、ソフトウェア産業そのものを終わらせうる

■ 2. NVIDIA論文「You don't need long context」

  • 論文の位置付け:
    • 2026年11月3日にNVIDIAの研究者らが公開した論文で、mightyCodeのもう一つの仕掛けの基礎
    • AIエージェントの長い仕事には長いコンテキストが必要という従来の通念を覆す内容
  • 長いコンテキストの問題:
    • エージェントの作業履歴はすべて会話履歴として蓄積され、仕事が長いほど膨らむ
    • コンテキストが長いほど計算量とメモリ使用量が増大する
    • 256Kトークンでは16Kトークン比で、出力トークン当たりの計算コストが最大7倍になるモデルもある
    • ローカルLLMではモデル本体に加え、会話履歴に対応するKVキャッシュもメモリを消費する
  • 自身の運用経験:
    • 普段DeepSeekV4-Flashを自作サーバー(A100 80GBx4)で動かし、プロジェクトの半分ほどで常用している
    • ローカルで検閲されないため安心して仕事を任せられ、手が届くなら備えるべき環境
    • 複雑な仕事では100万コンテキストの計算に大量のVRAMを消費する
    • 残り4台のA100は別の仕事に使いたいため、100万コンテキストの維持は負担が大きい
  • 人間のプログラマーとの類比:
    • 一週間の仕事でも、過去の思考をすべて頭に保持しているわけではない
    • 昨日の作業、完成部分、問題点、次の作業さえ分かれば仕事は再開できる
    • 忘れた細部は必要時にファイルやドキュメントを再度調べればよい
  • EoCC(End-of-Conversation Compaction):
    • 一定の長さまで作業したら要約し、古い会話履歴を捨てる
    • 次の会話には最初の仕事内容と作業要約だけを渡し、これを繰り返す
    • 複数のソフトウェア開発ベンチマークで、成功率は履歴保持方式とほぼ同等か、むしろ改善する場合もあった
  • SAC(Single-Action Compaction):
    • 一つのアクションだけ実行させ、結果を要約し、会話をすべて捨てて次へ進む極端な方式
    • Claude Opus 4.5のSWE-bench Verifiedで、従来方式70.0%に対しSACは70.2%とほぼ同じ
    • Terminal-Benchでは従来方式47.2%に対しSACは51.8%と、履歴を持たない方が好成績
    • 全モデルで全結果が改善したわけではないが、長い履歴なしで複雑な開発を続けられる事実の意味は大きい
  • SSSM(Semantic State Space Model):
    • 研究者らがこの発見をもとに提案した新概念
    • 過去の会話を大量に覚える代わりに、現在の仕事の状態を自然言語で保持し次の行動を判断する
    • プログラムが過去の全命令でなく、現在のメモリやレジスタの状態から次の命令を実行するのに似ている
    • AIに必要なのは過去の思考の完全な記録ではなく、現在の状態と次の行動なのかもしれない
    • AIの設計思想そのものを変える可能性がある

■ 3. mightyCodeへのEoCCの実装

  • 実装内容:
    • 会話履歴が一定以上に増えたら、ローカルLLM自身にそれまでの仕事の要点をまとめさせる
    • 古い履歴を破棄し、要約から作業を再開させる
    • 推定48Kトークンを閾値として処理する
  • 効果:
    • 会話履歴の際限ない膨張を防ぐ
    • メモリ圧迫や推論の遅延を抑える
  • 現状の課題:
    • Claude Codeのシステムプロンプトやツール定義だけで相当なトークンを消費し、小型モデルには改善の余地がある
    • 9Bモデルで論文と同じ精度が再現されるかは検証していない
  • 方向性の明確さ:
    • これまで巨大なモデルと巨大なコンテキストの実現に莫大な計算資源が投入されてきた
    • 論文は、長時間作業の一部では巨大なコンテキストが必須でないことを示した
    • mightyCodeはその知見を小さなローカルLLMと既存エージェントの組み合わせに持ち込んだもの
  • 重要な点:
    • AIの知能を単純に高めることではない
    • 限られた知能とメモリでも、仕事を分割し、状態を引き継ぎ、何度でも試行錯誤できる仕組みを作ること
  • 限界と可能性:
    • 履歴を短く保っても小さなLLMの推論能力自体は上がらず、解けない問題は何万回繰り返しても解けるとは限らない
    • それでも低コストAIに長時間作業を任せる上での重要な障害が一つ取り除かれつつある

■ 4. ローカルAIに与えられる「時間」という武器

  • 論文の恐ろしさ:
    • LLMの性能向上とは別の方向から、AIの実用性を劇的に高める道筋を示した
  • 小さなAIで長い仕事を続ける条件:
    • 適切なハーネスがあれば長い仕事を続けられる
    • 膨大なコンテキストをメモリに保持する必要はない
    • 必要な情報は外部ファイルに保存し、必要時だけ読み込めばよい
    • うまくいかなければ別の方法を試すことを繰り返せる
  • コスト構造の違い:
    • ローカルLLMは何回試行錯誤しても追加のAPI料金が不要
    • 電気代と時間はかかるが、人間のプログラマーを何日も雇う費用とはまったく異なる
  • 前提の崩壊:
    • これが十分な信頼性で実現すれば、ソフトウェアの価値を支えてきた「作るのに膨大な時間がかかる」という前提が崩れる
    • ソフトウェア産業全体にとって極めて重大な変化になる

■ 5. ソフトウェアという商品の奇妙さ

  • 物理製品との違い:
    • 自動車には工場、材料、部品調達、組み立て、品質管理が必要
    • ソフトウェアは完成すればコピー費用がほぼかからず、数年分の開発成果も数秒で複製できる
  • 産業が成立してきた理由:
    • 複製は簡単でも、何をしているか理解し同じものを作り直すことは難しかった
  • コンパイルによる情報の喪失:
    • 機械語から元のソースコードを完全に復元することは一般にできない
    • 関数名、変数名、設計者の意図はコンパイル過程で失われる
  • 既存の解析ツールの限界:
    • 逆アセンブラ、デコンパイラ、GhidraやIDAなど優秀なツールは昔から存在する
    • それでも数百万行のプログラムの理解には膨大な専門知識と時間が必要だった
  • ブラックボックスによる商売:
    • 実行形式だけの配布でも、重要部分がブラックボックスのままだったため商売が成立した
    • この前提が崩れつつある

■ 6. AIによるリバースエンジニアリング

  • LLMの適性:
    • 従来は人間が根気よく機械語を読み、意味を推測する作業だった
    • LLMはプログラムの意味の解釈が得意で、デコンパイラ出力の読みにくいコードから処理内容を推測できる
    • 実際の入出力や実行結果が加われば推測の正否を検証できる
    • Claude Codeのようなハーネスを接続すれば、解析、仮説、実装、テスト、修正を繰り返せる
  • 労働時間の代替:
    • 従来必要だったのは高度な技術を持つ人間の膨大な労働時間
    • ローカルLLMはその労働時間に相当するものをコンピュータで供給できる
    • 人間は疲れ、飽き、給料が必要だが、ローカルLLMは電気代だけで働き続ける
  • 現状の限界:
    • 今の小型LLMが任意の巨大商用ソフトを自動で完全再現できるわけではない
    • 解析困難なプログラム、外部サービス依存、ハードウェア固有の処理もある
  • 入出力比較による互換実装:
    • ファイルを読み加工して書き出すソフトなら、入出力仕様を観察しAIに互換プログラムを作らせる
    • 元のプログラムと出力を比較し、違えば修正し、また比較する
    • これを何千回、何万回と繰り返せれば、内部アルゴリズムの完全な理解すら不要かもしれない
    • 有限回のテストで完全な互換性は保証されないが、利用者に必要な範囲で動くクローンは現実的になる
  • 再実装コストの激減:
    • 非常に高価だった「ソフトウェアの再実装」が劇的に安くなる可能性がある
    • それを支えるのは高価なGPUサーバーではなく、普通のMac、数GBのLLM、簡単なハーネス

■ 7. 「ソースコード非公開なら安全」の終わり

  • ソースコード入手の不要化:
    • かつてのリバースエンジニアリングはソースコードを盗むイメージだった
    • AIが再実装できれば、動作を観察し、振る舞いを説明し、同じ振る舞いの別プログラムを書けばよい
  • ユーザーが買っているもの:
    • ソースコードではなく機能
    • 画像編集、動画変換、図面作成、表計算、作曲などの機能さえ再現できれば内部コードの一致は不要
  • オープンソース互換実装の誕生:
    • AIが新たに書いたコードは人間が読める形で存在し、公開すればオープンソースの互換実装になる
    • 元企業の著作権消滅や非公開コードの自動公開を意味するのではない
    • 市場で売られる機能が独立したオープンソース実装に次々と置き換わるという意味
  • 法的問題:
    • 著作権、特許、契約、技術的保護手段などの問題は残り、機能の再現と合法的な配布は別
    • しかし法律が技術的な複製能力そのものを消すわけではない
  • GNUとLinuxの歴史:
    • 1983年、リチャード・ストールマンがUNIX同様に使える自由なOSをゼロから作るためGNUプロジェクトを立ち上げた
    • 1985年にFSFが設立され、コンパイラ、シェル、コマンド、ライブラリが自由ソフトウェアとして再実装された
    • 改変再配布時も利用者の自由維持を求める強力なライセンスGPLを用意した
    • 1991年、リーナス・トーバルズがUNIX互換カーネルLinuxを開発し、GNUと組み合わせて実用的な自由OSが成立した
    • 今やLinuxはサーバー、スーパーコンピュータ、組み込み機器、Androidを支えている
  • 歴史の示唆:
    • 高額ライセンスのソフトウェアが独立したクローン実装に置き換えられ世界を席巻することは何度も起きている
    • ただしその革命には何十年もの時間と、世界中の優秀なプログラマーの膨大な献身が必要だった
  • AIによる加速:
    • 今やプログラマーの作業の一部をローカルLLMが代行し始めている
    • 何十年もかかった再実装をAIエージェントが何日、何時間で実現すれば状況は一変する
    • GNUが数十年かけた革命が、AIによってあらゆるソフトウェア分野で同時多発的に起こりうる
    • これこそがソフトウェア産業にとって本当に恐ろしいこと

■ 8. AAAゲームが比較的生き延びる理由

  • 例外としてのAAAゲーム:
    • プログラムが特別に解析困難だからではない
    • ゲームの本当の価値がプログラム以外にあるから
  • 膨大なアセット:
    • 高解像度テクスチャ、3Dモデル、音声、音楽、モーション、広大なマップ、膨大なイベントデータ
    • その多くはロジックではなく、人間や制作ツールが生み出したコンテンツ
    • エンジンやロジックを再実装できても、同品質のアセットを用意できるとは限らない
  • 配信インフラ:
    • 数十GBから百GB超のゲームの世界配信には巨大なインフラが必要
    • ダウンロードサーバー、CDN、アップデート配信、認証、マルチプレイヤーサーバー運営など
    • Steamの価値もプログラムではなく、巨大データの効率的配布とユーザーと開発者を結ぶ仕組みにある
  • 永遠の安全ではない:
    • 生成AIで3Dアセット、音声、モーションの生成コストが下がれば優位性も失われていく
    • オープンソースのエンジンとAI生成コンテンツの組み合わせで、同じ体験を別のソフトとして再構成しうる
  • 最後に残るもの:
    • プログラムではなく、巨大なコンテンツ、配信基盤、オンラインコミュニティ、ブランド
    • ゲーム産業が生き延びるのは、ソフトウェア以外の価値を大量に抱えているからという皮肉

■ 9. あらゆるソフトウェアのオープンソース化

  • 危険な状況にある分野:
    • 一般的なデスクトップアプリケーションや業務用ツール
    • ファイル変換ソフト、特殊な集計ツール、画像加工プラグイン、業界専用アプリなど
  • 従来の成立構造:
    • ニッチな需要に対し少数の開発者が作ったプログラムを販売していた
    • 利用者が自作するには難しすぎるため購入されていた
  • 価格根拠の喪失:
    • 機能をAIに説明するだけで、または既存プログラムを渡して同機能を指示するだけで互換品ができれば状況が変わる
    • 従来は開発に必要な専門技術と時間が価格の根拠だった
    • 再実装費用が限りなく小さくなれば、その根拠が失われる
  • 公開クローンの進化:
    • 一度オープンソースで公開されたクローンは、他者が使って改良できる
    • AIが改良し、別のAIが移植し、さらに別のAIが機能を追加する
    • 非公開の商用ソフトより公開互換ソフトの方が速く進化する状況すら考えられる
    • 開発者が人間である必要すらなくなる
  • コード以外の参入障壁:
    • 大規模SaaS、独占的データを持つサービス、規制対応が必要な業務システムは同じ容易さではクローン化できない
  • 厳しい立場の企業:
    • 「プログラムを書けること」や「中身を隠していること」だけを競争力とする企業
    • 一部のプログラマーの失業にとどまらず、パッケージソフトのライセンス販売というビジネスモデル自体が成立しなくなりうる

■ 10. 本質は知能ではなくコスト

  • mightyCodeの知能:
    • 9Bは現在のLLMとして小型の部類
    • 複雑な問題では間違え、堂々巡りもし、Claudeのような大規模モデルとの知能差は歴然
  • 安心は誤り:
    • 問題の本質は一回の推論の賢さではなく、単位コストあたりの試行錯誤の量
  • 計算機との類比:
    • 昔のコンピュータは人間より計算が遅かったが、休まず正確に何度でも繰り返した
    • 今のコンピュータが膨大な計算をこなすのは、一回が天才的だからではなく大量に安く繰り返せるから
  • AIエージェントへの適用:
    • 人間が何週間もかける試行錯誤を、AIが何万回もの小さな実験に分解して実行する
    • 重要なのは実験一回あたりのコスト
  • クラウドとローカルの違い:
    • クラウドの高性能LLMは実験を繰り返すほどAPI料金がかかる
    • ローカルLLMの費用は主に電力と計算機の減価償却費
    • 許可された範囲の作業を何時間でも何日でも実行できる
  • 家庭のMacという武器:
    • 必要なのが特別なデータセンターではなく家庭のMacである点が重要
    • 速度や能力の限界はあるが、時間をかけて検証できる問題では低コストな知能が大きな武器になる
  • ローカルLLMの本当の恐ろしさ:
    • 知能が無料になるのではなく、知能を使った試行錯誤の限界費用が極端に小さくなる

■ 11. 変化を止められない理由

  • ソフトウェア企業の対策:
    • ソースコードの秘匿、難読化、実行時認証、重要処理のクラウド移行
    • 一定の意味はあり、サーバー側のデータや計算資源に依存するサービスはローカル実行ファイルだけでは複製できない
    • すべての企業が一夜で消滅するわけではない
  • 観測可能な振る舞い:
    • プログラムが動作する以上、外部から観測できる振る舞いは存在する
    • 十分な入出力例を集め互換性を検証できれば、内部を知らずに似た機能を実装できる可能性は残る
  • ローカルAIと中央集権的制御:
    • ローカルLLMが普及すれば、作業にクラウドAI企業の許可すら不要
    • 今回のモデルはUNCENSOREDと呼ばれる応答制約を緩めた派生モデル
    • 重要なのはモデルが何を拒否するかではなく、ユーザーの手元でローカル実行できること
    • クラウドAIは利用規約やアクセス制御で制限できるが、ローカルAIにはそうした対策が通用しにくい
  • 技術の非独占性:
    • mightyCodeはAPI形式を変換し、小さなLLMを起動し、既存ハーネスと接続するだけの単純なもの
    • 特定の一社が独占できる技術ではなく、消えても別の誰かが作ればよい
    • LLM研究は世界中で進み、ローカル実行環境もオープンウェイトモデルもすでに存在する
    • 一つのサービス停止や製品規制で、この技術的方向性を逆戻りさせることは難しい
    • この変化を止めることは今さらほぼ不可能

■ 12. ソフトウェアは残り、ソフトウェア会社は消える

  • ソフトウェアの大量生産:
    • ソフトウェアが不要になるのではなく、これまで以上に大量に作られる
    • 個人も会社も専用ソフトウェアを持つ
    • 必要な機能をその場でAIが生成し、使い終わったら捨てる時代になりうる
  • 一時的な道具としてのソフトウェア:
    • ソフトウェアは製品というより、必要に応じて生成される一時的な道具になる
    • かつて計算には計算尺や専用計算機の購入が必要だったが、今は計算機能があらゆる機器に当たり前にある
    • 同様に、特定機能のソフトウェアを購入する行為自体が古臭い習慣になりうる
  • 生き残る企業:
    • 独自のデータを持つ企業
    • 社会的な信用を提供する企業
    • 複雑なサービスを継続運営する企業
    • 巨大なコンテンツやコミュニティを持つ企業
  • 残る価値:
    • 品質保証、セキュリティ、法令対応、運用責任は依然として価値を持つ
    • ただしそれは「プログラムを作って配布する」従来のソフトウェア産業とは別の商売
    • ソフトウェア自体の希少性が失われ、周辺のサービスや責任だけが商品として残る
    • 産業構造そのものが変わる

■ 13. ソフトウェアの最後の時代

  • プログラマーの価値の変遷:
    • 長い間、コンピュータが理解できる言葉で人間が懸命に命令を書く必要があった
    • そのためプログラムを書ける人、複雑なソフトを設計し動かせることには大きな価値があった
    • しかしAIがプログラムを理解し、書き、実行し、検証し、修正できるようになった
    • そのAIを動かすのに巨大なクラウドサービスが必ずしも必要でなくなりつつある
  • 見え始めた世界:
    • 手元のMacで動く小さなLLMとシンプルなハーネスだけで、莫大な開発費のソフトウェアを次々再実装できる
  • mightyCodeの位置付け:
    • あらゆるソフトのリバースエンジニアリングに成功したわけではなく、万能の仕組みが完成したとも主張しない
  • 将来への問い:
    • 知能が今のままでも、ハーネス改善、検証の整備、追加料金なしの何万回もの試行錯誤が実現したらどうなるか
    • さらに知能が向上したとき、ソフトウェアの機能を秘密にすることにどれだけの意味が残るか
  • 本当の防壁の崩壊:
    • ソフトウェアをコピーする時代から、理解し作り直す時代へ移る
    • 産業を守っていたのはコピー防止技術や法律だけでなく、理解と再作成に必要な途方もない時間と労力
    • AIは今その防壁を壊そうとしている
  • 変化の性質:
    • ソフトウェア産業全体が吹き飛ぶほどの変化になりうる
    • 巨大AIが世界を支配する話ではなく、普通のMacを持つ人が自分の机で静かに始められるようになった話
    • プログラムを作ることが特別な価値を持った時代の最後の瞬間に立ち会っているのかもしれない

MEMO: