0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【国立大学と研究したテックリードが語るAIの裏側 第4回】ChatGPTはなぜ世界を制した?「Attention」の魔法とプロンプトエンジニアリングの終焉

0
Posted at

前回の「なぜAI開発は地獄なのか?」では、現場のエンジニアが泣く泥臭い実態をお届けしました。今回は少し視点を変えて、現在のAIがなぜ急激に賢くなり、世界を制したのか、その技術的なパラダイムシフトの裏側に迫ります。

「AIの進化が早すぎて追いつけない」「プロンプトエンジニアリングって結局どうなったの?」と感じているエンジニアの方へ向けて、歴史と技術(Attention)の交差点から解説します。

image.png

導入部:この記事の概要と前提環境

この記事では、2016年の特化型AIから、現在の汎用推論AI(ChatGPTなど)に至るまでの技術的ブレイクスルーを解説します。

  • 対象読者: AIの内部構造や進化の歴史に興味があるエンジニア
  • 扱う技術スコープ: Transformerアーキテクチャ、Attention機構、Chain of Thought (CoT)
  • 前提知識: APIやJSONの基本的な概念がわかること

第1章:頭脳の進化より「神UI」の採用というパラダイムシフト

【起結】⏱ 10秒まとめ:本章の結論

ChatGPTが爆発的に普及した最大の理由は、AIの頭脳が突然良くなったからではなく、万人が使える「チャット画面」というインターフェースを採用したからである。

【承】🌩 課題:こんなこと困るよね。難しいよね。

2016年、AlphaGoがプロ棋士を倒した時は「遠い世界の技術」でした。
実は、ChatGPTの土台となる「GPT-3」は2020年の時点で完成しており、凄まじい文章生成能力を持っていました。しかし、当時の現場ではこんな課題がありました。

「API経由でしか触れないし、パラメータ調整(Temperatureなど)がシビアすぎる」
「どう命令すればいいか分からず、ただの『気難しい天才』になっている」

研究者や一部のエンジニアしか扱えず、ビジネスの現場に導入するには「AIと対話するための専用アプリ」を自作する必要があり、敷居が高すぎたのです。

【転】💡 解決策:採用理由と他の選択肢

OpenAIが2022年末に下したアーキテクチャ・プロダクト観点での意思決定です。

  • 選択肢A:BtoB向けのAPI提供に特化する(見送り)
    • 理由: 開発者しか使えないため、社会への浸透スピードが遅い。AIの「何でもできる(汎用性)」という強みが一般層に伝わらない。
  • 採用案:誰もが使い慣れた「チャット画面」を被せて無料で一般公開する
    • 理由: LINEやメッセンジャーと同じUIであれば、プログラミング知識ゼロのユーザーでも直感的にAIを操作できる。結果として、公開からわずか5日で100万人ユーザーを獲得する歴史的快挙に繋がった。

【結】💻 具体例・サンプルコード

GPT-3時代の「開発者向けAPI利用」と、ChatGPT時代の「エンドユーザーの体験」の差を疑似コードで表現します。

// 【GPT-3時代(2020年)】
// 開発者が細かいパラメータを設定し、APIを叩く必要があった
const requestBody = {
  "model": "text-davinci-003",
  // ユーザーの入力だけでなく、前提条件を全てシステム側で組み立てる必要がある
  "prompt": "Translate the following English text to French: 'Hello, how are you?'",
  "temperature": 0.7, // ランダム性の制御(素人には意味不明)
  "max_tokens": 60,
  "top_p": 1.0
};
// 戻り値もJSONで返ってくるため、パースするプログラムが必要だった
// 【ChatGPT時代(2022年〜)】
// ユーザーはブラウザのテキストボックスに日常言語を打ち込むだけ
ユーザー: 「Hello, how are you? をフランス語にして」
AI: 「Bonjour, comment allez-vous ? です。」
// 複雑なパラメータ制御や状態管理は、すべてシステムの裏側に隠蔽された

🔰 初心者向け解説:汎用型AIとは?
AlphaGoなどの「特化型AI」が、囲碁しか切れない「超高性能な刺身包丁」だとすれば、ChatGPTなどの「汎用型AI」は何でも切れる「スイスアーミーナイフ(十徳ナイフ)」です。用途を限定せず、ユーザーの工夫次第で料理(翻訳)から工作(プログラミング)までこなせるのが特徴です。

第2章:AIに革命を起こした「Attention(注目)」の魔法

【起結】⏱ 10秒まとめ:本章の結論

AIが「長文の文脈」を理解し、爆発的な速度で学習できるようになったのは、Googleが発表したTransformerの「Attention(注目)機構」のおかげである。

【承】🌩 課題:こんなこと困るよね。難しいよね。

2017年以前、言語を扱うAI(RNNなど)の最大の弱点は「記憶力」と「処理速度」でした。
例えば、長い文章を翻訳させようとすると、最初のほうの単語を忘れてしまい、意味不明な出力をすることが現場での大きな悩みの種でした。

また、文章を「前から順番に1単語ずつ」処理する構造だったため、計算を並列化できず、大量のインターネット上のテキストを学習させるのに途方もない時間がかかっていました。

【転】💡 解決策:採用理由と他の選択肢

自然言語処理におけるアーキテクチャの意思決定です。

  • 選択肢A:RNN(Recurrent Neural Network)の拡張(見送り)
    • 理由: 順番に処理する構造上、並列処理の限界があり、長文の記憶消失問題も根本的には解決できなかった。
  • 採用案:Transformer(Attention機構に全振りした構造)の採用
    • 理由: 「文章全体を一度にパッと見渡し、単語間の関連度(Attention)を計算する」アプローチ。これにより、①離れた単語の文脈も正確に捉えられ、②順番処理が不要になったためGPUによる並列処理(超高速学習)が可能になった。

【結】💻 具体例・サンプルコード

Attention機構が、文脈の中でどの単語に「注目」しているかを、仮想的なJSONデータで表現してみます。

// 対象文: 「その動物は道を渡らなかった。あまりにも疲れていたからだ。」
// AIが後半の文章を処理する際、「誰が疲れていたのか(省略された主語)」を推論するための
// 「疲れていた」という単語のAttention(注目度)内部ステータス例

{
  "target_word": "疲れていた",
  "attention_scores": {
    "その": 0.01,
    "動物": 0.85,         // ⬅️ ここに強く注目!「疲れるのは『道』ではなく『動物』だ」と文脈から判断
    "は": 0.01,
    "道": 0.02,           // (道は疲れないのでスコアが低い)
    "を": 0.01,
    "渡らなかった": 0.15, // (疲れていたから「渡らなかった」という因果関係にも注目)
    "あまりにも": 0.10,
    "からだ": 0.01
  }
}
// 離れた位置にある「動物」と「疲れていた」を瞬時に結びつける、
// この「注目度のスコアリング」を全単語間で同時に計算するのがAttention機構の正体

🔰 初心者向け解説:Attention機構とは?
人間がミステリー小説を読むとき、すべての文字を均等に読むわけではなく、「あれ?この犯人の動機、3ページ前の『あの会話』に関係あるぞ」と無意識に関連付けて(注目して)読みますよね。この「離れた情報同士の関連性に気づく能力」をAIに持たせたのがAttention機構です。

第3章:自問自答するAIと「プロンプトエンジニアリング」の終焉

【起結】⏱ 10秒まとめ:本章の結論

最新のAI(推論モデル)は内部で自律的に思考プロセスを回すようになったため、人間側が細かい指示を出す「プロンプトエンジニアリング」の重要性は薄れつつある。

【承】🌩 課題:こんなこと困るよね。難しいよね。

初期のChatGPT(2022〜2023年)を業務で組み込もうとしたエンジニアは、誰もが「プロンプト地獄」を味わいました。
「あなたはプロのエンジニアです」「ステップ・バイ・ステップで考えてください」「出力は必ずJSON形式で…」と、おまじないのような長文(システムプロンプト)を書かないと、AIがサボったり見当違いな回答をしてしまう問題がありました。プロンプトのバージョン管理だけで日が暮れる現場も多かったです。

【転】💡 解決策:採用理由と他の選択肢

精度の高い回答を得るためのアプローチの変化(AIモデル側の進化)です。

  • 選択肢A:人間側が複雑なプロンプト技術(Few-shotなど)を駆使し続ける(見送り)
    • 理由: ユーザーのスキルに依存しすぎている。また、プロンプトが長くなるほど不要なノイズが混じり、かえって精度が落ちるリスクがある。
  • 採用案:推論モデル(Chain of Thoughtの自動化)の導入(OpenAI o1モデルなど)
    • 理由: AI自身が回答を出力する前に、見えないバックグラウンドで「ユーザーの意図は?」「まずAを解いて、次にBだな」「いや、このアプローチは間違っているからやり直そう」という自問自答(推論)を行う。人間はシンプルな指示を投げるだけで良くなる。

【結】💻 具体例・サンプルコード

旧モデルと最新の推論モデルでの、プロンプト実装の違いを見てみましょう。

// 【旧世代モデル:緻密なプロンプトが必要だった時代】
string oldPrompt = @"
あなたは熟練のC#エンジニアです。
以下の要件を満たすクラスを設計してください。
条件1: メモリリークに気をつけること。
条件2: IDisposableを実装すること。
条件3: ステップ・バイ・ステップで思考過程を説明してからコードを出力すること。
要件: データベース接続を管理するラッパークラス
";

// 【最新推論モデル(o1など):人間はシンプルに要件を伝えるだけ】
// ※AI内部で勝手に「DB接続ならIDisposableが必要だな。設計手順は…」と思考してくれる
string modernPrompt = @"
データベース接続を安全に管理するC#のラッパークラスを書いて。
";

🔰 初心者向け解説:Chain of Thought(思考の連鎖)とは?
複雑な算数の文章題を解くときに、頭の中だけで一気に答えを出そうとすると間違えますよね。「途中式」を紙に書き出しながら、1歩ずつ確認して進めることで正確に解けるようになります。AIにこの「途中式を書き出しながら考える」プロセスをやらせるのがChain of Thoughtです。

単語一覧 (Glossary)

  • パラダイムシフト (Paradigm Shift): その時代や分野において当然と考えられていた認識や思想、社会全体の価値観などが劇的に変化すること。
  • Transformer (トランスフォーマー): 2017年にGoogleが発表した深層学習のモデル。現在のLLM(大規模言語モデル)のほぼ全ての基礎となっているアーキテクチャ。
  • Chain of Thought (CoT): AIに対して「順序立てて推論せよ」と促すことで、論理的思考力や計算精度を向上させる手法。近年はこれをAIが自律的に行うモデルが登場している。
  • 推論モデル: 単に確率で次の単語を予測するだけでなく、回答を生成する前に内部で推論(計画、検証、修正)の計算リソースを費やすように設計されたAIモデル。

いかがでしたでしょうか。AIが急激に発展した裏には、「Attention」という技術的ブレイクスルーと、UIや運用における数々のアーキテクチャの意思決定がありました。

しかし、この超絶賢いAIと「長文で会話する」裏側では、インフラエンジニアたちが悲鳴を上げています。次回は、「AIは毎回『記憶喪失』になっている?長文チャットを破綻させないインフラ技術とRAG」と題して、泥臭いシステム運用の裏側に迫ります。お楽しみに!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?