概要
- Andrej Karpathyによる Software 3.0 の講演内容を日本語で要約
- ソフトウェアの進化、 1.0/2.0/3.0 という新たな分類
- LLM(大規模言語モデル)が 新しいOS的存在 となる現状
- 産業構造や開発パラダイムの 根本的変化 について解説
- 今後のエンジニアに必要な スキルと視点 を提案
Software 3.0時代の到来とその本質
- 現在は ソフトウェア産業 にとって極めてユニークかつ興味深い時代
- ソフトウェアは 70年間大きく変わらなかった が、ここ数年で2回急速に変化
- Software 1.0 :従来型のプログラムコードによる開発
- Software 2.0 :ニューラルネットワークの重み(パラメータ)を最適化する開発
- コードを書くよりも データセットのチューニング と最適化が中心
- Hugging Faceが GitHub的役割 を果たす
- Software 3.0 :LLM(大規模言語モデル)を活用し、 自然言語(英語)でプログラミング する新時代
- 製品やサービスは 人々をプログラムするプログラム となる
- コードと英語が混在し始める新たなプログラミングパラダイム
Tesla Autopilotに見る進化の実例
- Tesla在籍時、Autopilot開発で C++コード(1.0) と ニューラルネット(2.0) が混在
- 時間とともに ニューラルネットの役割が拡大 し、従来コードが削減
- 画像間の情報統合などをニューラルネットが担う
- 実際に 大量のC++コードを削除 できた事例
- 現在も同様に 新たなパラダイム(3.0) がソフトウェアスタックを刷新
新たな開発者像とスキルセット
- これからのエンジニアは 1.0/2.0/3.0全てに精通 する必要
- それぞれに 長所・短所 があり、適材適所で使い分け
- LLMの訓練やAPI利用、従来コードの統合など 流動的なスキル運用 が求められる
LLMと新しいエコシステムの形成
- LLMは ユーティリティ(公共事業) 的な性質
- OpenAI、Gemini、Fungiなどが API経由で知能を提供
- 低遅延・高稼働率 が求められる
- 停止時は「 知能の停電」が発生し、社会的影響が大きい
- LLM開発には 巨大な資本と研究開発力 が必要
- 電力インフラやクラウドのような 集中型構造 が進行
- 一方でソフトウェアなので 物理的制約は少ない
LLMは新しいOSであるという視点
- LLMは オペレーティングシステム(OS) に近い存在
- WindowsやmacOSのような クローズドソース と、Linux的な オープンソース が並立
- LLM自体だけでなく、 ツール連携やエコシステム が複雑化
- LLMは 新たなCPU、コンテキストウィンドウは メモリ という比喩
- LLMが 計算資源と記憶資源を統合的に管理
- アプリケーションも プラットフォーム間で柔軟に動作
- 例:VS CodeがWindows/Linux/Macで動作するように、LLMアプリも様々な基盤で動作
現状と今後の展望
- 現在は 1960年代の時分割計算機 のような状況
- LLMの計算コストが高く、 クラウド集中 型
- ユーザーは ネットワーク越しのクライアント として利用
- 今後、 LLMの普及と進化 により、より分散的・個別最適化された利用形態へ移行する可能性
まとめ
- ソフトウェアは 1.0→2.0→3.0 と進化し、 自然言語によるプログラミング が現実に
- LLMは OS的存在 として、産業構造や開発手法を大きく変革
- エンジニアには 多様なスキルと適応力 が求められる新時代の到来