本文へ移動
カテゴリ

Webマーケ

Webマーケの記事すべてSEOサイト運営データマネジメントビジネス・マーケ概論広告

インタビュー

インタビューの記事すべて

おすすめサービス

おすすめサービスの記事すべて

おすすめ勉強法

おすすめ勉強法の記事すべて

おすすめ書籍

おすすめ書籍の記事すべて

データサイエンス

データサイエンスの記事すべてデータ解析品質工学多変量解析機械学習生成AI統計学

プログラミング

プログラミングの記事すべてPythonRSQLプログラミングスクール

スタビジについて

記事一覧運営者情報お問い合わせ

Software 3.0とは?1.0・2.0との違いやバイブコーディングを分かりやすく解説!

目次
ウマたんウマたん

当サイト【スタビジ】の本記事では、「Software 3.0」について分かりやすく解説していきます!Software 1.0・2.0との違いから、バイブコーディング、これからの人の役割まで見ていきましょう!

こんにちは!ウマたんです!

ChatGPTに「この文を英語にして」と頼むと、すぐに英語にしてくれる。

Claude Codeに「ToDoアプリを作って」と話しかけると、AIがコードを書いて、アプリを形にしてくれる。

プログラミング言語を一行も書かずに、ふだんの言葉だけでコンピューターを動かせる時代になってきましたよね。

この変化を、ソフトウェアの歴史の大きな流れとして説明したのが「Software 3.0」という考え方です。

読者

Software 3.0って最近よく聞くけど、1.0や2.0と何が違うの?

読者

AIがコードを書く時代に、人は何をすればいいのか知りたい!

本記事では、次の4つを順番に解説していきます。

以下のYouTube動画でも解説していますので、あわせてチェックしてみてください!

YouTubeの動画

Software 1.0:人がコードを書く

まずは、Software 1.0から見ていきましょう!

「Software 1.0・2.0・3.0」を広めたのはカルパシー氏

この「Software 1.0・2.0・3.0」という呼び方を広めたのは、アンドレイ・カルパシー氏(Andrej Karpathy)です。

テスラやOpenAIで、AI開発の中心にいた研究者なんです。

カルパシー氏は、ソフトウェアの作り方の変化を「1.0 → 2.0 → 3.0」というバージョンになぞらえて説明しました。

ルールを一つずつ書いていく、これまでのソフトウェア

Software 1.0は、人がプログラミング言語で、ルールを一つずつ書いていく、これまでのソフトウェアのことです。

「もしこうなったら、こうする」という手順を、人がぜんぶ考えて書き込みます。

たとえば、ネットショップの送料を決めるプログラムなら、こんな感じです。

def shipping_fee(total):
    if total >= 5000:   # 5,000円以上なら
        return 0        # 送料は無料
    return 500          # それ以外は500円

ルールがはっきりしているので、同じ入力なら、いつでも同じ答えを確実に返してくれるのが1.0の強み。

計算や手続きのように、ルールがはっきりした仕事には、ぴったりなんです。

ルールで書けない判断もある

でも、Software 1.0には苦手なこともあります。

たとえば、写真に写っているのが猫かどうか、のような判断です。

「耳がとがっていたら猫?」のように、猫かどうかをルールで書くのはとても難しい

「耳がとがっていたら猫」と書いても、犬にも耳がとがった種類はいますよね。

「ひげがあったら」「目が丸かったら」とルールを足していっても、写真の角度や明るさが変わるだけで、すぐに例外が出てきてしまいます。

人が見ればすぐに分かるのに、ルールとして書き出すのはとても難しい。

これが、Software 1.0の限界なんです。

Software 2.0:データから学ばせる

そこで登場したのが、Software 2.0です!

プログラムの正体は「重み」

カルパシー氏は2017年に、「Software 2.0」という考え方を発表しました。

Software 2.0では、人はルールを書く代わりに、大量のデータと、「こうなってほしい」というゴールを用意します。

あとはAIがデータから学んで、自分で中身を作り上げるんです。

大量のデータとゴールを用意すると、AIが学んで中身を作る。プログラムの正体は「重み」という数字の並び

猫の例なら、「猫の写真」と「猫ではない写真」を大量に集めて、「猫を当てる」というゴールを決めておく。

すると、ニューラルネットワークが写真の特徴を自分で学んで、猫を見分けられるようになります。

このとき、プログラムの正体は、人が読めるコードではなく、ニューラルネットワークの膨大な数字、つまり「重み」なんです!

人は「なぜ猫と判断したのか」をコードで読み取ることはできません。

その代わり、ルールで書けなかった判断ができるようになりました。

ニューラルネットワークやディープラーニングの仕組みについては、以下の記事で詳しく解説しています。

【入門】ディープラーニング(深層学習)の仕組みとPython実装のやり方!当サイト【スタビジ】の本記事では、ディープラーニングの仕組みやPythonでの実装方法について解説していきます。ディープラーニングってなんとなくブラックボックスなイメージがあるかもしれませんが、実はシンプルなアルゴリズムなんですよー!

テスラの自動運転で起きたこと

実際に、カルパシー氏がAI部門を率いていたテスラの自動運転でも、この変化が起きました。

はじめは人が書いたルールで判断していた部分が、少しずつニューラルネットワークに置きかわっていったんです。

テスラの自動運転では、人が書いたルールが少しずつニューラルネットワークに置きかわっていった

それにつれて、エンジニアの仕事も変わっていきました。

コードを書くことから、データを集めて整えることへ。

エンジニアの仕事が、コードを書くことから、データを集めて整えることへ変わった

Software 2.0では、AIの出来を決めるのはデータです。

どんなデータを集めるか、正解のラベルをどう付けるかが、そのままプログラムの質になるんです。

コードを書く仕事が、データを育てる仕事に変わる。

これがSoftware 2.0なんです!

Software 3.0:言葉でAIを動かす

続いて、いよいよSoftware 3.0を見ていきましょう!

プロンプトそのものがプログラムになる

2025年、カルパシー氏は講演の中で、さらに新しい「Software 3.0」を紹介しました。

Software 3.0では、プログラムを書くための言葉が、なんと英語や日本語のような、ふだんの言葉になります。

1.0はコード、2.0は重み、3.0はふだんの言葉。プログラムを書くための言葉が変わってきた

LLM、つまり大規模言語モデルに、言葉で指示を出すだけで、AIが仕事をこなしてくれる。

つまり、プロンプトそのものがプログラムになるということなんです!

「この文を英語にして」というプロンプトが、そのままプログラムになる

たとえば、こんな一文がそのまま「翻訳プログラム」になります。

次の文を英語にしてください。
「明日の会議は10時からです」

Software 1.0で翻訳プログラムを作ろうとしたら、単語や文法のルールを山ほど書く必要があります。

Software 2.0でも、大量の対訳データを集めて、モデルを学ばせる必要があります。

それがSoftware 3.0なら、一文で済んでしまうんです!

ちなみに、Software 3.0の土台になっているLLMも、中身はデータから学んだニューラルネットワーク、つまりSoftware 2.0のかたまりです。

2.0で作られた賢いAIを、3.0ではふだんの言葉で動かしている、というイメージですね。

LLMの仕組みについては、以下の記事で詳しく解説しています。

大規模言語モデル(LLM)の仕組みや種類について分かりやすく解説!当サイト【スタビジ】の本記事では、大規模言語モデル(LLM)の仕組みや種類について分かりやすく解説していきます。ChatGPTなどの大規模言語モデルの基本を理解してこのAI時代の流れに乗り遅れないようにしましょう!

同じ仕事を1.0・2.0・3.0で作ると

違いをイメージしやすくするために、「お客さんからの問い合わせを、返品・配送・その他に分ける」という仕事を、それぞれのやり方で作ってみましょう。

作り方人がやること
Software 1.0「返品」という言葉が入っていたら返品、のようにルールを書くキーワードと分け方のルールを、ぜんぶ考えて書く
Software 2.0過去の問い合わせと、正解の分類をセットで学ばせる大量のデータを集めて、正解のラベルを付ける
Software 3.0「次の問い合わせを、返品・配送・その他に分けて」とLLMに頼むやってほしいことを、言葉で分かりやすく伝える

同じ仕事でも、人がやることがまったく違いますよね。

3.0では、「何を、どうしてほしいのか」をうまく言葉にできるかどうかが、プログラムの出来を左右します。

LLMへの指示の出し方のコツは、以下の記事でまとめています。

プロンプトエンジニアリングのコツや例文をまとめていく!テキスト版と画像版!当サイト【スタビジ】の本記事では、最近話題の生成系AIのアウトプットをハンドリングするのに大事なプロンプトエンジニアリングについてまとめていきます。AIに対する指示文をプロンプトと言いますが、このプロンプトが筋の良いアウトプットを出す上で非常に重要なのです。

バイブコーディング

さらにカルパシー氏は、「バイブコーディング」という言葉も生み出しました。

「バイブ(vibe)」は、英語で「雰囲気」や「ノリ」のこと。

作りたいものを言葉で伝えて、細かいコードはAIに任せながら、ノリよくアプリを作っていくスタイルのことです。

「ToDoアプリを作って!」と話しかけると、AIがコードをどんどん書いてくれる

たとえば、「ToDoアプリを作って!」と話しかけると、AIがコードをどんどん書いてくれる。

動かしてみて気になるところがあれば、「ボタンをもっと大きくして」「終わったタスクに線を引いて」と、また言葉で頼むだけ。

今では、Claude CodeやCursorのような、AIといっしょにコードを書くツールも登場しています。

プログラミングの経験が少ない人でも、アプリを形にできるようになってきたんです!

Claude Codeの使い方については、以下の記事で詳しく解説しています。

Claude CodeでサブエージェントやMCPを駆使する使い方を伝授!当サイト【スタビジ】の本記事では、話題の「Claude Code」を徹底解説します。コーディングでの活用方法に加えて、最近注目されているサブエージェントやMCPを駆使した高度な使い方も紹介していきます!

これからどうなる?1.0・2.0・3.0の使い分けと人の役割

最後に、これからどうなるのかを考えていきましょう!

3.0が出ても、1.0や2.0はなくならない

大事なのは、3.0が出てきたからといって、1.0や2.0がなくなるわけではないということです。

それぞれに、得意なところがあります。

1.0は計算・決まった処理、2.0は画像・音声の認識、3.0は言葉で柔軟に。1つのアプリの中で組み合わせる

プログラムの正体人がやること得意な仕事
Software 1.0コードルールを一つずつ書く計算のように、ルールがはっきりした処理
Software 2.0ニューラルネットワークの重みデータとゴールを用意する画像や音声の認識
Software 3.0言葉(プロンプト)言葉で指示を出す言葉で柔軟にこなしたい仕事

たとえば、計算のようにルールがはっきりした処理は、同じ答えを確実に返せる1.0に任せたほうが安心です。

これからは、それぞれの得意なところを、1つのアプリの中で組み合わせて使っていく時代なんです。

AIが作ったものを確かめるのは人の仕事

そして、AIがコードを書く時代だからこそ、人の役割も変わってきます。

AIが書いたコードが、ちゃんと動くか、安全かを確かめるのは人の仕事

AIが作ったものを、そのまま信じてはいけません。

カルパシー氏も、AIにどこまで任せるかを、人が調整できるようにすることが大切だと話しています。

つまみ(スライダー)を回すように、簡単な作業はAIに多めに任せ、大事なところは人がしっかり確かめる。

そんなふうに、任せる度合いを選べることが大切なんです。

「何を作りたいのか」を言葉にする力

そしてもうひとつ。

Software 3.0では、言葉がプログラムになります。

だからこそ、「何を作りたいのか」をはっきり言葉にできる力が、これからますます大切になるんです!

「いい感じのアプリを作って」と頼むより、「誰が、どんなときに使う、何ができるアプリなのか」を伝えたほうが、AIはずっと思いどおりのものを作ってくれます。

Software 3.0のまとめ

最後に、今回のポイントをおさらいしましょう!

ウマたんウマたん

要は、プログラムを作る主役が、コードからデータ、そして言葉へと広がってきた、ということなんです!ぜひ、言葉でAIに頼むところから、Software 3.0を体験してみてください!

生成AIやデータサイエンスを体系的に学びたいのであれば、当メディアが運営するスクール「スタアカ」がオススメです!

スポンサーリンク

ウマたんスタビジ編集長

大学院は理系の統計科学研究室で、ベイズ統計学・時系列分析・異常検知を研究。日系・外資の消費財メーカーのデータサイエンティストを経て、現在は会社を経営しながらデータサイエンティストとして働いています。

スタビジアカデミー

読んだ内容を、スタアカの「大規模言語モデル(LLM)・生成系AI」コースで身につける

データサイエンス・AIを、動画と課題で体系的に学べるオンラインスクール。最初のレッスンは無料で見られます。