1. AIの全体像とAI駆動開発
AI駆動開発を学ぶ出発点として、まず「AIとは何か」「従来のプログラムと何が本質的に違うのか」を正確に整理します。そのうえで、AIを開発プロセス全体へ組み込む「AI駆動開発」という考え方、AIを作る側と使う側のエンジニアの違い、機械学習やディープラーニングといった技術の中身、そしてAI・機械学習・ディープラーニング・生成AI・LLMの包含関係を体系的に整理します。ここで扱う用語と関係性は、この先のすべての章の土台になります。
1.1 AIとは何か — 従来プログラムとの本質的違い
AI(人工知能)とは、データや経験を通じてパターンを見つけ出し、判断・予測・生成などを行うコンピュータシステムです。難しく思うかもしれませんが、本質は「人間がすべてのルールを書き下ろすのではなく、データから学習する」という点にあります。
従来のプログラムとAIの決定的な違い
通常のコンピュータプログラムは、人間が書いたルール通りにしか動きません。たとえば「気温が30度以上なら『暑い』と表示する」というコードを書けば、その通りに動作します。書かれていない新しいパターンに出会っても、自分で判断を下すことはできません。
一方、AIはデータを与えることで、自分でパターンを学習します。人間が「こういう場合はこう処理せよ」というルールを一つひとつ書き下ろさなくても、大量のデータから規則性を自ら発見します。つまり、
- 通常のプログラム = 人間が書いたルール通りにしか動かない
- AI = 自分でパターンを学習する
という対比が本質です。通常のプログラムは人間が書いたルールに従い、AIはデータからパターンを学びます。両者を同じものとして扱わず、「ルールを人間が書くのか」「データから学習するのか」という違いで整理すると理解しやすくなります。
AIの代表的な能力
- 学習する力: 大量のデータから特徴やパターンを自動で見つけ出す力です。猫の画像を大量に見せれば、「耳が尖っている」「鼻の形」といった特徴をAIが学習し、未知の画像でも「これは猫だ」と判断できるようになります。人間がすべての特徴を言語化してルールを書く必要はありません。
- 推論する力: 学習したパターンを使って、これまで見たことのない新しい状況でも適切に判断・予測する力です。過去の気象データから学習したAIは、見たことのない明日の天気についても「この気圧配置なら雨になりやすい」と推論します。これは、人間が定義したルールで条件分岐する処理とも、大量のデータをそのまま記憶して一致検索する処理とも異なります。新しい状況に学習済みパターンを当てはめる点が「推論」です。
- 生成する力: 学習・推論の結果をもとに、文章・画像・コード・音声など新しい出力を作り出す能力で、生成AI(Generative AI) と呼ばれます。ChatGPTやClaudeのようなチャットツール、Midjourneyのような画像生成ツールはこの生成AIの能力で成果物を作り出しています。データを分類・判定するだけの識別AIや、決まった選択肢から最適なものを選ぶレコメンドエンジンとは異なり、コンテンツそのものを新しく作り出す点が「生成」です。
現在実用化されているAIは「特化型AI」
AIは大きく2タイプに分かれます。
- 特化型AI: 特定の目的や範囲に特化したAI。画像認識・音声認識・翻訳・文章生成などがこれにあたります。現在広く実用化されているAIは、この特化型AIの範囲 です。特定用途向けの画像認識AIに料理の実作業はできず、翻訳AIに医師として診断を任せることもできません。
- 汎用AI(AGI): 人間のようにあらゆるタスクをこなせるAI。映画に登場するような万能のAIですが、まだ実現していません。
したがって「あらゆるタスクに対応できる汎用AIがすでに実用化されている」「AIはあらゆる作業を同等の精度でこなせる万能なシステムである」という記述は実態とは異なります。AIには苦手な作業があり、万能ではありません。
ChatGPTやClaude Codeのようなテキスト生成AIは、質問への文章回答・プログラムコードの生成・メール下書きの作成はできますが、それ単体でキッチンに立って食材を切り、調理することはできません。AIは基本的には情報処理を担うソフトウェアであり、ロボットアームを動かしたり歩いたりといった物理的な動作には、機械工学・制御工学を扱うロボティクスや、適切なセンサー・アクチュエータ・安全制御との組み合わせが必要です。
「技術」と「モデル」の違い
機械学習・ディープラーニング・生成AIは、AIを実現するための 技術の種類(手法・アプローチ) を指す言葉です。これに対して モデル とは、それらの技術を実際に使い、大量のデータで学習を完了したAI自体(学習済みのAI)を指します。「機械学習という技術を使って学習させた結果がモデル」という関係です。
たとえばChatGPTはOpenAI社が提供するサービス名であり、その内部で動いているGPT系のAIがモデルです。モデルは「プログラミング言語や開発ツールの総称」でも「手動でルールを定義した設計図」でもありません。モデルごとに性能・速度・コストが異なるため、この区別は実務でモデルを使い分ける土台になります(詳細は1.5節)。
この章の要点
- 通常のプログラムは人間が書いたルール通りに動き、AIはデータから自分でパターンを学習する。この違いがAI理解の出発点。
- AIの代表的な能力は「学習する力/推論する力/生成する力」。生成AIは文章・画像・コード・音声などを新しく作り出す。
- 推論とは、学習済みパターンを未知の状況に当てはめて判断・予測すること。ルール分岐や丸暗記検索とは異なる。
- 現在広く実用化されているAIは特化型AIの範囲。汎用AI(AGI)は未実現で、万能なAIは存在しない。
- AIは基本的に情報処理を担うソフトウェアであり、物理操作にはロボティクスや制御系との組み合わせが必要。
- 機械学習・DL・生成AIは「技術の種類」、モデルは「それらの技術で学習を完了したAI自体」。
1.2 AI駆動開発とは — AIを開発するエンジニアとAIを活用するエンジニア
AI駆動開発の位置づけ
AI駆動開発 とは、AIを駆使してシステム開発の各プロセスを効率化する開発手法です。従来はエンジニアがコードやドキュメントの多くを手作業で作成していましたが、AI駆動開発ではコーディングをはじめとする作業をAIに支援させ、人間は要件や仕様を整理してAIに適切な指示を出します。要件定義・実装・テスト・コードレビュー・保守まで、開発のほぼ全フェーズでAIを活用できる点が特徴です。
これによりエンジニアの役割は「自分で手を動かす作業者」から「AIに指示を出し、その成果物を検証する設計者・レビュー担当」へと広がります。コードを書く作業の比重が下がる一方、顧客と会話して要件をまとめる上流工程のスキルと、AIを使いこなすスキルの重要性が高まります。「どう質問するか」だけでなく「何を達成したいか」という目標の言語化が重要になりますが、目標設定をしなくてよくなるわけでも、出力を確認しなくてよくなるわけでもありません。
責任は最終的に人間にある
AIがコードやドキュメントを生成しても、その成果物の品質・安全性に対する最終的な責任は人間のエンジニアが負います。AIはハルシネーション(もっともらしい実態と異なる理解)を起こすことがあり、脆弱性を含むコードや要件と異なるコードを生成する可能性があります。だからこそ人間によるレビューと検証が不可欠です。AIに任せきりにせず、最後に判断し責任を取るのは人間である、という原則を整理します。
AIエンジニアとAI駆動開発エンジニアの違い
「AIエンジニア」と「AI駆動開発エンジニア」は名前が似ていますが、役割はまったく異なります。一言で言えば、AIエンジニアはAIを作る人、AI駆動開発エンジニアはAIを使う人 です。
- AIエンジニア: 機械学習やディープラーニングの技術を用いて、AIモデルそのものを開発・研究する側の専門家。大規模言語モデルや画像認識AI、自動運転システムなどを作る人たちです。
- AI駆動開発エンジニア: ChatGPT・GitHub Copilot・Cursor・Claude Codeなどの既存のAIツールを活用し、ソフトウェア開発の生産性を高める側の専門家。AIを「作る」のではなく「使いこなす」人たちです。
必要な数学知識の違い
両者の違いは、求められる数学知識にも表れます。AIモデルを開発・研究するAIエンジニアには、モデルの学習アルゴリズムを理解・実装するために大学レベルの数学が強く求められます。具体的には次の分野です。
- 線形代数(行列・ベクトルを扱う)
- 微積分(関数の変化と最適化を扱う)
- 確率・統計(不確実性とデータの分布を扱う)
- 情報理論
これらはAIエンジニアが直接使う数学です。古典幾何学の作図問題のような中等教育の図形分野や、データベース設計・SQL、ネットワークプロトコル設計、プロジェクト管理・工数見積もりといった知識は、AIモデルの開発・研究に直接必要な数学知識ではありません。
一方、AI駆動開発エンジニアは既存のAIを使う側であるため、モデルを自作するレベルの高度な数学は必須ではありません。求められるのは上流工程の設計力とAIへの的確な指示・検証の力です。この非対称性が、両職種に必要なスキルセットの大きな違いです。
この章の要点
- AI駆動開発はAIで開発プロセス全体を効率化する手法。要件定義・実装・テスト・レビュー・保守まで広く活用できる。
- エンジニアの役割は作業者から、AIへの指示と成果物の検証を担う設計者・レビュー担当へ広がる。上流工程スキルとAI活用スキルが重要。
- AIエンジニア=AIを作る側(モデルの開発・研究)、AI駆動開発エンジニア=AIを使う側(既存ツール活用)。役割の向きを正確に区別する。
- AIエンジニアに必要な数学は線形代数・微積分・確率統計・情報理論。SQL・ネットワーク・工数見積もりは該当しない。
- AI出力には不正確な内容が含まれうるため、最終的な責任は人間にあり、レビューと検証が不可欠。
1.3 機械学習の3つの学習方式
機械学習(Machine Learning) とは、コンピュータが大量のデータからパターンや規則性を自分で見つけ出して学習する技術です。人間が明示的にルールを書かなくても、データから自動でルールを発見できる点が、人間がルールを書き下ろすルールベースプログラミングとの根本的な違いです。
機械学習は学習のさせ方によって、基本的に次の3つの方式で整理されます。
教師あり学習(ラベル付きデータで学習)
入力データに対する 正解ラベル をあらかじめ用意し、その正解を使ってモデルを学習させる方式です。正解データが「教師役」として機能することから、この名で呼ばれます。
代表例はスパムメール判定です。各メールに「スパム/正常」というラベルを付けた正解データを大量に用意し、入力と正解の対応関係をモデルに学習させます。画像が猫かどうかの分類も、正解ラベル付きで学習する教師あり学習の典型です。
教師なし学習(ラベルなしでグルーピング)
正解ラベルを一切与えず、データの中に潜む特徴や構造をAI自身に発見させる方式です。代表例はクラスタリング(グルーピング)です。
たとえばECサイトの顧客データから、似た購買行動をする顧客グループを正解ラベルなしで自動的に分類します。「このグループは高価格商品を好む」「このグループは頻繁に購入する」といった特徴を、AIが自ら見つけ出します。正解クラスが事前に与えられていない点が、教師あり学習との決定的な違いです。
強化学習(報酬で方策を学習)
AIが試行錯誤を繰り返し、行動の結果に応じて与えられる 報酬を最大化 するように最適な行動(方策)を学習する方式です。良い行動には報酬を、悪い行動にはペナルティを与えることで、徐々に最適な振る舞いを習得します。
代表例は囲碁AIなどのゲームAIで、対局を通じた試行錯誤によって、より勝ちやすい行動を学習します。AlphaGoのような囲碁AIは、教師あり学習や探索なども組み合わせていますが、強化学習が重要な役割を果たした例としてよく挙げられます。静的な正解ラベルを学ぶ教師あり学習とも、構造を発見する教師なし学習とも異なり、動的な意思決定の最適化を目的とする点が特徴です。
なお「人手転記学習」「自然学習」「進化学習」「補完学習」「暗記学習」といった用語は、この章で扱う機械学習の基本的な3分類には含まれません。ここでは、基本分類として「教師あり学習・教師なし学習・強化学習」を区別できることが重要です。
この章の要点
- 機械学習はデータからパターンを自動で学習する技術。人間がルールを書くルールベースとは逆の発想。
- 基本的な3方式は「教師あり学習・教師なし学習・強化学習」。それ以外の名称(進化学習・暗記学習等)は、この基本分類の名称ではない。
- 教師あり学習=正解ラベル付きで学習(スパム判定・画像分類)。
- 教師なし学習=ラベルなしで構造・グループを発見(顧客のクラスタリング)。
- 強化学習=試行錯誤と報酬/ペナルティで最適行動を学習(AlphaGo)。
1.4 ディープラーニングの構造と得意分野
ディープラーニング(Deep Learning) は機械学習の一種であり、人間の脳の神経細胞のネットワークから着想を得た ニューラルネットワーク を多層に重ねた構造を持ちます。参考にしているのはあくまで脳の神経細胞のネットワークであって、リレーショナルデータベースの表構造でも、OSのプロセススケジューラでも、TCP/IPの通信プロトコルスタックでもありません。
多層構造とは
「多層」とは、複数の層を重ねた構造を指します。各層は前の層から受け取った情報を処理して次の層へ渡します。画像認識を例にすると、浅い層では線や点といった単純な特徴を、層が深くなるにつれて角・曲線、さらには耳の形・目の形といった複雑な特徴を捉え、最終的に「猫である」という判断に必要な情報へ統合します。層が深い(多い)ほど複雑なパターンを学習でき、これが「ディープ(深い)」と呼ばれる理由です。
従来の機械学習に対する優位点
従来の機械学習では、多くの場合、人間がデータの 特徴量を手動で定義 する必要がありました。画像から猫を認識させるには、人間が「耳の形」「目の位置」「ひげの有無」といった着目点を事前に設計することが重要でした。
ディープラーニングの優位点は、この 特徴抽出までを自動で学習 できることです。画像データを大量に与えるだけで、「どこに注目すれば猫と判断できるか」をAI自身が発見します。これにより人間が特徴を定義する手間がなくなり、高い精度を実現できます。ただし、これは「学習データを必要としない」という意味ではありません。ディープラーニングはむしろ大量の学習データを必要とします。学習なしで初期状態から最高精度が出るわけでもありません。
得意な分野と苦手な分野
ディープラーニングは高次元のパターン認識で特に高い性能を発揮します。
- 画像認識(顔認証・物体検出)
- 自然言語処理(機械翻訳・テキスト生成)
- 音声認識(音声のテキスト変換)
一方で、表形式の構造化データ分析(売上予測・顧客分類など)では、ディープラーニングより勾配ブースティング(XGBoostなど)といった従来型の機械学習手法のほうが、性能・解釈性の面で優れる場合が多くあります。表形式データは必ずしもディープラーニングの得意分野ではない、という点は実務での判断にも役立ちます。
この章の要点
- ディープラーニングは機械学習の一種で、脳の神経細胞ネットワークから着想を得た多層ニューラルネットワーク。
- 着想元は脳の神経回路。DB表構造・OSスケジューラ・TCP/IPは無関係。
- 従来の機械学習は人間が特徴量を手動定義、ディープラーニングは特徴抽出まで自動学習する点が優位。
- ただし大量の学習データは必要。「データ不要」「学習なしで最高精度」は実態とは異なります。
- 得意分野は画像認識・自然言語処理・音声認識。表形式データはむしろ従来手法が優れることが多い。
1.5 AI・機械学習・ディープラーニング・生成AI・LLMの包含関係
これらの用語は対等に並ぶのではなく、外側が内側を含む入れ子(包含)の関係にあります。ここでは、代表的な関係として次の順序で整理します。
AI ⊃ 機械学習 ⊃ ディープラーニング ⊃ 生成AI ⊃ LLM
- AI が最も広い概念。
- その一部が 機械学習。
- 機械学習の一種が ディープラーニング。
- ディープラーニングを活用して、新しいコンテンツを生み出す代表的な技術が 生成AI。
- 生成AIの中でテキスト(言語)を中心に扱うものが LLM。
この順序を取り違えると、技術同士の関係を見誤ります。AIが最も広い概念で、その中に機械学習があり、さらにディープラーニング、生成AI、LLMへと狭くなっていく、という入れ子で理解します。機械学習・ディープラーニング・生成AIはAIに含まれる中核技術ですが、リレーショナルデータベース管理システムはデータの永続化と問い合わせを行うソフトウェアであってAIそのものではありません。
従来型のAIと生成AIの違い
- 従来型のAI: 主に 分類 と 予測 を行います。スパムか否かの判定、画像が猫かどうかの分類、過去データからの株価の上下予測などが典型です。
- 生成AI(Generative AI): ディープラーニングを基盤に、新しいコンテンツを生み出す ことに特化したAIです。文章・画像・音楽・プログラムコードなどを生成します。
両者の根本的な違いは「できること」にあります。従来型AIは分類・予測、生成AIは生成を中心に扱います。また両者の違いは動作するハードウェア(GPU/CPU)やデプロイ先(クラウド/オンプレミス)、処理速度の違いではありません。従来型AIもデータを使って学習するため、「従来型はデータを使わない」とは考えません。
生成AIは扱うコンテンツの種類によって、テキスト生成AI・画像生成AI・音声生成AI などに分類されます。「GPU生成AI」のような分類は存在しません(GPUはハードウェアであり生成対象ではない)。また生成AIが生み出せるのは新しいデジタルコンテンツであって、実在する第三者の個人情報を含む住所録のような実データを正しく「生成」することはできません。
LLMの位置づけ
LLM(Large Language Model、大規模言語モデル) は生成AIの一種で、特にテキスト(言語)の理解と生成を中心に扱うAIです。ChatGPT・Claude・Geminiなどは、LLMを基盤にしたサービスの例です。生成AI全体はテキスト・画像・音声と多様なコンテンツを扱いますが、LLMはその中の言語処理を中心とする位置づけです。
包含関係は「生成AI ⊃ LLM」です。LLMは生成AIと同義ではなく、画像生成AIや音声生成AIは生成AIに含まれますが、通常はLLMとは呼びません。LLMは画像のみを扱う技術でもありません。LLMはディープラーニングを基盤としており、ディープラーニングがLLMを支える技術基盤です。ディープラーニングのほうがLLMより広い概念です。
モデルの特徴を理解する実務的意義
1.1節で触れた通り、モデルとは各技術で学習を完了したAI自体を指します。モデルごとに性能・速度・コストの特性が異なるため、タスクの難易度・速度・コスト要件に応じて使うモデルを切り替えることで、開発効率と費用のバランスを取れます。これがモデルの特徴を理解しておく実務上の意義です。モデルを理解しても、エディタ設定が自動最適化されたり、ネットワーク帯域が物理的に拡張されたり、納期がひとりでに短縮されたりするわけではありません。
この章の要点
- 代表的な包含関係は「AI ⊃ 機械学習 ⊃ ディープラーニング ⊃ 生成AI ⊃ LLM」。順序を逆にすると、技術同士の関係を見誤ります。
- 従来型AIは分類・予測、生成AIは新しいコンテンツの生成。違いはハードや速度ではなく「できること」。
- 生成AIはディープラーニングが基盤。扱うコンテンツでテキスト/画像/音声生成AIに分類される。
- LLMは生成AIの一種で、言語処理を中心に扱う(生成AI ⊃ LLM)。生成AIと同義ではなく、画像専用でもない。
- モデルは性能・速度・コストが異なるため、タスクに応じて使い分け、効率と費用のバランスを取る。
ミニ例題
例題1 通常のコンピュータプログラムとAIの違いとして正しいものはどれですか。
- A. どちらもデータから自動でパターンを学習する
- B. 通常のプログラムは人間が書いたルール通りに動き、AIはデータからパターンを学習する
- C. 通常のプログラムは新しいパターンに自律対応でき、AIは固定ルールしか実行できない
- D. AIは人間が書いたルール通りに動き、通常のプログラムがデータから学習する
正解: B 解説: 通常のプログラムは人間が定義したルール通りにしか動かず、データから自分でパターンを学習するのはAIの特徴です。学習する主体を入れ替えた選択肢はすべて誤りです。
例題2 次の学習方式の組み合わせとして正しいものはどれですか。
- A. 教師あり学習=ラベルなしでグルーピング
- B. 教師なし学習=報酬で最適行動を学習
- C. 強化学習=試行錯誤と報酬で方策を学習
- D. 強化学習=正解ラベル付きデータで分類器を作る
正解: C 解説: 強化学習は行動の結果に報酬・ペナルティを与え、試行錯誤で最適な方策を学ぶ方式です。教師あり学習はラベル付き、教師なし学習はラベルなしのグルーピングであり、A・B・Dは方式の説明が入れ替わっています。
例題3 AI・機械学習・ディープラーニング・生成AI・LLMの包含関係として正しいものはどれですか。
- A. 機械学習 ⊃ AI ⊃ ディープラーニング ⊃ 生成AI ⊃ LLM
- B. AI ⊃ ディープラーニング ⊃ 機械学習 ⊃ LLM ⊃ 生成AI
- C. AI ⊃ 機械学習 ⊃ ディープラーニング ⊃ 生成AI ⊃ LLM
- D. ディープラーニング ⊃ 機械学習 ⊃ AI ⊃ 生成AI ⊃ LLM
正解: C 解説: AIが最も広く、その中に機械学習、さらにディープラーニング、それを活用した生成AI、言語処理を中心に扱うLLMという入れ子です。AIと機械学習、または機械学習とディープラーニングの順序を逆にした選択肢は誤りです。