AI Fundamentals for AI-Assisted Development · Introduction

はじめに — AIを使う前に、AIの全体像をつかむ

Type
Book
Edition
Version 1
Language
Japanese
Format
Web
Author
mars70
Introduction

AIAI(人工知能)は、コンピュータなどで知的な課題に取り組むための技術や仕組みを広く扱う分野・概念です。予測・分類・生成などはその例で、機械学習はAIに関わる代表的な方法の一つです。AI全体は機械学習や生成AI、LLMと同じ意味ではありません。を使って文章を書いたり、コードを生成したり、調査や開発を手伝ってもらったりすることは、すでに特別なことではなくなりました。では、私たちが日常的に使っているAIは、本当に「考え」、「判断している」のでしょうか。なぜ、もっともらしく誤ったことを答えたり、実際には確認していないことを「確認した」と説明したりするのでしょうか。

「AI」と「LLM大規模言語モデルは、現代の技術文脈で大規模と扱われる言語モデルで、広い言語関連の用途に使われることがあります。ここでいう「大規模」には、パラメータ数やデータ量による、すべての場面に共通する固定の数値基準はありません。LLMはAI全体、Chat Model、Foundation Model、Transformerそのものと同じ意味ではありません。 → Language Model」は同じものなのでしょうか。AIが「検索しました」と答えたとき、本当に検索したことまで確認できるのでしょうか。「覚えています」と答えたとき、何がどこに保存されているのでしょうか。「テストしました。PASSです」と報告されたとき、その文章だけで作業完了と判断してよいのでしょうか。

この本は、こうした疑問を理解するための基礎を扱います。

この本の目的

本書は、AIそのものを専門的に研究するための教科書ではありません。目標は、AI-assisted development(AI補助開発)でAIを使うときに、

  • AIが何をしているのか
  • 何が外から確認できるのか
  • 何が推論にとどまるのか
  • 何がまだ分からないのか
  • 最後に何を人間が判断する必要があるのか

を自分で整理できるようになることです。

AIやLLMの基本から始め、モデルが出力を生成する仕組み、TrainingTraining(学習)は、データと学習の目的に基づいて、モデルのパラメータや学習された状態を調整するプロセスです。学習は、訓練済みのモデルを使って予測や出力を得るInference(推論)とは区別します。学習全体がFine-tuning(微調整)だけを指すわけではありません。 → Parameter、Inference、Fine-tuningInferenceInference(推論)は、訓練済みのモデルに入力を与え、予測や出力などを得るためにモデルを使うことです。モデルのパラメータを調整するTraining(学習)とは役割が異なり、テキスト生成だけを指す言葉でもありません。 → Training、Input、OutputContextコンテキストは、モデルやシステムが現在の処理・推論で利用できる情報です。現在の入力やプロンプト、会話の履歴などが含まれることがありますが、何が含まれるかはシステムによって異なります。コンテキストは、処理できる量の上限であるコンテキストウィンドウや、後で再利用するために保持するメモリ、学習データそのものとは別の概念です。 → Context Window、Prompt、MemoryとMemory、SearchSearch(検索)は、情報や文書などの集合に対してquery(検索条件)を与え、目的に関係する情報や結果を探す処理・機能です。Web検索はSearchの一例ですが、Searchが常にWebだけを対象とするわけではなく、Generation(生成)やRetrieval(情報取得)と同じ意味でもありません。 → Retrieval、GenerationやTool、EvidenceEvidenceは、Claimを確認するための根拠や観測結果です。この本では、対象、方法、範囲、条件などに照らして、どこまで確認できるかを考えます。AIが生成した文章、確信の強い表現、複数のAIの一致、生成された引用だけでは、外部の事実を独立に確認したEvidenceにはなりません。Source of TruthSource of Truthは、ある質問やClaimについて、確認の基準として選ぶ情報源です。何を知りたいかによって、仕様、リポジトリのファイル、Gitの状態、テスト結果、CIの結果、設定、実行時の観測、ログなど、適切な確認先は変わります。普遍的に一つだけのSource of Truthがあるわけではなく、AIが自分で確認先を決めて権限を得るわけでもありません。、Verificationへと進みます。読み終えたとき、単にAI用語を知っているだけではなく、AIが生成した説明と、実際に確認できたことを分けて考えられることを目指します。

AIを理解することと、AIを確認すること

AIが何かを「言った」ことと、その内容が実際に正しいことは同じではありません。たとえば、

テストを実行しました。すべてPASSしました。

という文章が生成されたとしても、その文章だけでは、どのテストを、どの対象に、どんな条件で実行したのかまでは確認できません。一方で、外から確認できないものを、すべて間違いだと決めることも適切ではありません。

そこで本書では、

  • 確認・観測できたこと
  • 根拠から推論したこと
  • まだ確認できていないこと

を分けて考えます。後の章では、これを VERIFIED / OBSERVEDINFERENCEUNKNOWN / UNDISCLOSED という分類として整理します。今は用語を覚える必要はありません。まずは、

「AIがそう答えたこと」と「外部から確認できたこと」は別かもしれない

という感覚だけ持って読み進めてください。

この本の対象読者

本書は主に、

  • AI補助開発をこれから使い始める人
  • AIやITを基礎から学び直している人
  • 開発・インフラ・運用などでAIを利用したい人

を対象にしています。AIやMachine Learningの専門書を読んだ経験は前提にしません。Transformerの数式、ニューラルネットワークの数学、AgentやRAG検索拡張生成は、外部の情報源から関連情報を取得し、その情報を利用して生成を行う方法・構成です。RetrievalとGenerationを組み合わせる考え方ですが、RAGを使うだけで出力の事実性が保証されるわけではなく、モデルを再学習することと同じでもありません。 → Retrieval、Generation、Grounding、Factualityの実装経験、MLOpsや特定ベンダーの資格知識がなくても読み進められる構成を目指します。

本書だけで基本の流れを追えるようにする

AIについて学んでいると、知らない言葉が次々に現れます。そのたびに外部サイトを検索しなければ先へ進めない教材は、初学者には負担になります。Version 1では、基本的な学習目標までは、できるだけ本書だけで読み進められる構成を目指します。外部資料や一次資料は重要ですが、本文とは別に、確認や発展学習のための根拠として扱います。

本文の用語や区別で迷ったときは、巻末のAppendixを参照できます。Appendix AはAI基礎用語を調べるための用語集で、Appendix Bは本書固有の確認・Evidence・Source of Truth・Human authorityなどの意味を確認するための定義集です。第13章と第14章では、repository、commit、push、test、deployなどの基本的なソフトウェア開発の言葉を使います。この本はバージョン管理そのものを教えるのではなく、それらの状態がAIと作業するときにどう関係するかに焦点を当てます。

本書の図・分類・内部構造の読み方

本書の概念図は、考え方や関係を整理するためのものであり、特定サービスの実際の内部構造や処理順序を示すものではありません。また、学習のために使う分類は、業界共通の正式な分類とは限りません。公開情報や観測可能なEvidenceがない内部の仕組みは、推測で補わず UNKNOWN / UNDISCLOSED として扱います。

この本で扱わないこと

Version 1では、次のことを目的にしません。

  • Transformerやニューラルネットワークの数式を詳しく説明する
  • AIの完全な歴史を書く
  • 特定AIサービスの非公開内部構造を推測する
  • 特定製品の操作マニュアルを作る
  • すべてのAIサービスが同じ構造で動いていると仮定する
  • AIに関する未確認事項を、もっともらしい説明で埋める

公開されていない仕組みについては、必要に応じて UNKNOWN / UNDISCLOSED として残します。

この本の進み方

最初に、AIについて考えるための地図を作ります。第1章では、AI、Machine Learning、Model、LLM、サービスなど、混同しやすい言葉を分けます。第2章では、現在のAIにつながる歴史を、単純な「古い技術から新しい技術への置き換え」としてではなく、複数の考え方が重なりながら発展してきた地図として見ます。第3章では、AIサービスを利用者の側から見て、何が観測でき、何が確認できずに残るのかを整理します。

その後、モデルによる生成、TrainingとInference、AIに任せやすい仕事と外部確認が必要な仕事、ContextとMemory、Search・RetrievalRetrieval(情報取得)は、情報要求に関連する文書や情報を、collection(集合)やindexなどから見つけて取り出すことです。検索と密接に関係しますが、Generationそのものではなく、RetrievalだけでRAG全体を意味するわけでもありません。 → Search、RAG、Generation・Tool・Agent、AIが動く物理的な環境へと進みます。後半では、現在のAIに残る問題、Evidence、Source of Truth、AI補助開発での使い方を学び、最後に一つのAI補助開発を最初から最後まで追います。最初からすべて理解する必要はありません。前の章で作った区別を、後の章で少しずつ使っていきます。

この本自身も、根拠を確認しながら作る

本書では、教材本文を先に書いて、あとから都合のよい根拠を探す方法を基本にはしていません。おおまかには、

何を学ぶべきか決める
        ↓
調べるべき問いを決める
        ↓
Evidenceを集める
        ↓
Evidenceが支える範囲でClaimを決める
        ↓
初学者向け本文を書く
        ↓
内容と表現をReviewする
        ↓
Humanが最終判断する

という順序で制作しています。この制作工程そのものを覚える必要はありません。重要なのは、この本の説明についても、「もっともらしいから正しい」とは扱わないことです。

まずは、言葉を分けるところから

AIについて考えるとき、最初につまずきやすいのは、異なる対象を指す言葉を同じものとして扱ってしまうことです。

第1章では、まず「AIとは何を指す言葉なのか」から整理します。