Stack Map新人 Web エンジニアの地図

チャット・要約・分類・社内の資料の検索など、アプリに AI の機能を組み込むときの基本です。
Laravel の公式の AI SDK を例に、作り方・確かめ方・お金と速さ・守り方をまとめました。

AI の機能は、こう組み込む

アプリが AI の API に「指示・会話・道具・答えの形」を渡し、返ってきた答えを確かめてから使います。AI に向く仕事と、人やふつうのプログラムが受け持つ仕事を分けるのが、最初の設計です。

Laravel の AI SDK で作る

Laravel の公式の AI SDK(laravel/ai)は、Anthropic・OpenAI・Gemini などを同じ書き方で呼べます。タブを押すと、コードが変わります。

RAG(調べてから答える)

AI は、社内の決まりを知りません。質問に近い資料を探して添えてから答えさせるのが RAG です。質問を選ぶと、探した資料・AI に渡す文・答えが変わります。文書と点数は作り物です。

    探した資料(近い順)

      AI に渡す文

      
              

      AI の答え

      Laravel では

      PostgreSQL の pgvector か MariaDB に、ベクトルの列を作れる。エージェントに「探す道具」を渡すと、AI が必要なときに資料を探す。

      $table->vector('embedding', dimensions: 1536)->index();
      
      // エージェント(HasTools)に、探す道具を渡す
      public function tools(): iterable
      {
          return [
              SimilaritySearch::usingModel(Document::class, 'embedding'),
          ];
      }

      ベクトルにする(埋め込み)

      Anthropic は、自分では埋め込みのモデルを出しておらず、Voyage AI などを紹介している。Laravel の AI SDK は、OpenAI・Gemini・Voyage AI などの埋め込みを同じ書き方で使える。

      $embeddings = Str::of('打刻を忘れたときは…')->toEmbeddings();

      探し方を良くする

      Anthropic の調べでは、かたまりに前後の説明を足してから探す「Contextual Retrieval」で、探し損ねが 49% 減り、並べ替え(リランキング)と組み合わせると 67% 減った。

      ベクトルの近さはアルゴリズム「AI 時代のアルゴリズム」で試せます。RAG の構成は技術の地図、型は設計パターン「AI を組み込むときの型」へ。

      評価(AI のテスト)

      AI は、同じ質問でも答えが少しずつ変わります。決まった質問のセット(評価セット)で、まとめて点を付けて確かめるのが「評価」です。指示やモデルを替えたときに、何が良くなり、何が悪くなったかが分かります。判定は作り物です。

      テストの節では、AI の機能のテストにも触れています。ふだんのテストでは、AI を fake() で偽物にします。

      お金と速さ

      AI の API は、使った量で費用がかかり、答えに数秒かかることもあります。作る前に、量と待ち時間の見当を付けておきます。

      守り

      AI の入力と出力は、どちらも信用しない前提で作ります。攻撃のくわしい説明は、セキュリティの「AI 時代の攻撃と守り方」へ。

      動かし続ける

      出したあとも、モデルの引退・回数制限・答えの質の変化に付き合い続けます。

      チェックリスト

      確かめたものに印を付けてください(この端末にだけ残ります)。