AI Fundamentals for AI-Assisted Development · Chapter 3

第3章 AIサービスを外から見る

Type
Book
Edition
Version 1
Language
Japanese
Format
Web
Author
mars70
Chapter 3

まず、見えるものから始める

AIサービスを使うとき、利用者から最も分かりやすく見えるのは、

利用者が直接確認できるinputとoutput、そしてその間の処理を同じようには確認できないことを示す境界図
利用者はinputとoutputを直接確認できますが、その間の内部処理まで同じように観測できるとは限りません。

という流れです。しかし第1章で見たように、AIサービスとmodelは同じものとは限りません。そこで、この章では「内部で何が起きているはずか」を推測するのではなく、外から何を確認できるかという視点からAIサービスを見ます。

利用者が直接観測できるもの

少なくとも、自分がサービスへ与えたinputと、サービスから返されたoutputは利用者自身が観測できます。たとえば、

利用者が直接確認できる入力した内容と返された内容を二つのカードで示す図
入力した内容と返された内容は、利用者が直接確認できる対象です。

は直接確認できます。一方、その二つの間で何が行われたのかは、同じようには見えません。公開APIやdocumentationがある場合には、input/outputの構造などについて、さらに確認できることがあります。ただし、公開情報は製品やversionによって変わる可能性があるため、「以前そうだったから現在も同じ」とは自動的には考えません。

Generationだけとは限らない

AIサービスでは、modelによるGeneration以外の機能がoutputに関係する場合があります。たとえば、

  • Search
  • Retrieval
  • external tool

などです。Search、Retrieval、Toolが何を意味し、どう違うのかについては、後の章で詳しく扱います。

この章では、

modelによる生成以外の要素が関係するAIサービスも存在する

という位置だけ確認します。

概念図と実際の内部構造を分ける

教材では、理解しやすくするために次のような図を使うことがあります。

AIサービスとモデルの関係に加え、Search、Retrieval、Toolが使用されたか確認できない場合があることを示す図
Search、Retrieval、Toolの存在や関与は、通常のinputとoutputだけでは仮定しません。

この図の ? は重要です。Search、Retrieval、Toolが関係するかどうかを、外から確認できるとは限らないことを表しています。

外部アクセスを確認できる場合

AIサービスによっては、SearchやToolの利用に関する記録や表示を利用者が確認できる場合があります。たとえば、外部情報へアクセスしたことを示すartifactと、最後に生成された文章が区別されている場合があります。そのような記録があれば、

「このやり取りでは外部アクセスに関する観測可能な情報がある」

という判断材料になります。しかし、AIが「検索しました」と書いたという文章だけと、検索に関する外部から確認可能なartifactがあることは同じではありません。

この違いは、後のVerificationの章で非常に重要になります。

見た目だけでは内部を一つに決められない

利用者から見えるinputとoutputだけでは、公開されていないbackendの構造を一つに決められない場合があります。同じようなoutputを返す二つのサービスが、内部でも同じ構造になっているとは限りません。公式に公開されたarchitectureやAPIの挙動は、公開されている範囲では確認材料として使えます。

一方、Evidenceがない状態で、

  • prompt assembly
  • routing
  • storage
  • internal model selection

などについて「きっとこうなっている」と決めることはしません。そのような部分は、この本では UNKNOWN / UNDISCLOSED として扱います。

UNKNOWNは失敗ではない

UNKNOWN / UNDISCLOSED は、「まだ説明を考えて埋めなければならない穴」という意味ではありません。むしろ、

ここまでは確認できる
ここから先は確認できない

という境界を示します。分からないものを分からないまま残すことは、確認作業では重要です。もっともらしい推測を追加してしまうと、どこまでが確認済みで、どこからが想像なのか分からなくなってしまいます。

4つの利用パターンで考える

AIサービスの利用を、理解のために四つのパターンに分けてみます。

パターン 利用者が確認できるもの 確認できないことがあるもの
単純な生成 input / output 公開されていない内部処理
Searchが関係する場合 input / output、場合によってSearchのartifact 実際の検索方法や未公開内部処理
Retrievalが関係する場合 input / output、場合によって取得を示すartifact 取得範囲や未公開処理
external toolが関係する場合 input / output、場合によってtool利用を示すartifact tool callの内部的な扱いなど

この四つは、外から確認できるものと、確認できないことがあるものを考えるための練習用の整理です。

AIの説明とは別に、結果を確認する

AI補助開発では、outputだけを見るのではなく、その仕事の結果を別の方法で確認できることがあります。たとえばAIが、

AIが生成した説明と、別の手段で確認した結果は同じものではないことを示す比較図
AIの説明と、別の手段で確認した結果は同じものではありません。

「ファイルを変更しました」

「テストはPASSしました」

「Webを検索しました」

と報告した場合、その報告文と、実際のファイル、テスト結果、検索artifactなどは別の対象です。この章ではまだVerificationの詳しい方法までは扱いません。まず、

という区別を覚えてください。AIの説明と、別の手段で確認した結果は同じものではありません。

この章のまとめ

この章では、AIサービスを内部構造の推測からではなく、外から確認できる範囲から見ました。

重要なのは次の点です。

  • 利用者は少なくとも自分のinputと返されたoutputを観測できる
  • 公開APIやdocumentationがあれば、さらに確認できる場合がある
  • AIサービスにはGeneration以外にSearch・Retrieval・Toolが関係する場合がある
  • concept diagramをvendorの実際の内部architectureとして扱わない
  • AI自身の自己申告と、外部から確認可能なartifactを区別する
  • 公開Evidenceがないbackend内部は UNKNOWN / UNDISCLOSED として残す
  • UNKNOWNは推測で埋めるべき失敗ではなく、確認可能範囲の境界である
  • generated outputとindependently confirmable resultは同じものではない

次の章では、AIサービス全体からmodelへ視点を移し、入力された情報からモデルがどのようにoutputを生成するのかを、Tokenトークンは、テキストなどの入力をモデルが扱うときに使う単位です。トークナイザやモデルによって、単語全体、単語の一部、文字、バイトなどに対応するため、トークンと単語は同じとは限りません。 → Tokenization・数値表現・Transformer・次トークン生成という観点から見ていきます。