コース
11年生のAI:生成AIとエージェント工学
プロンプト、API、取得、ツールでLLMアプリを作り、安全性を試す。
レッスンを順にやろう。終わるころには、トークンを数え、埋め込みの類似度で文を比べ、サンプリングとコンテキストウィンドウを説明できる。構造化プロンプトを書き、テストケースでプロンプトの版を比べられる。AIが書いたコードを見直し、通さなければならないテストを書ける。スキーマに合うJSONを得て、費用の上限があるチャットボットを作り、文書から答えて引用するアプリを作れる。限られたツールと停止ルールのあるエージェントを作り、プロンプトインジェクションからアプリを守り、自動テストスイートを作り、根拠のある調査アシスタントを出せる。
このレッスンのつかいかた
- 「これをやる」のレッスンからはじめよう。タイトルの下の文が、ひとりでできたら、つぎにすすもう。
- はじめにゲームをしよう。それからクイズをしよう。10問中8問正解で合格。ワークシートは紙。答えは下にある。
- どのレッスンも、前のレッスンの上に積み上がる。どのアプリにもテストセットを残し、変えるたびに実行する。
- コーディングのレッスンはPythonを使う。先生が認めたAIサービスだけを使い、APIキーをコードに書かず、支出の上限を決め、個人データをモデルに送らない。
どのレッスンにもゲーム、クイズ、ワークシートがあります。
0/36
LLMの基礎
- 1トークンと語彙トークンを数えて、なぜ大切か説明できる。
- 本物のトークナイザーでテキストをトークンに分ける。
- 言語ごとのトークン数を比べる。
- トークンを費用とコンテキストの上限につなげる。
- 2埋め込みの類似度埋め込みの類似度で文を比べられる。
- モデルから埋め込みを得る。
- コサイン類似度を計算する。
- 同じ単語ではなく、意味で文を順位づける。
- 3サンプリング、温度、コンテキストウィンドウサンプリング、温度、コンテキストウィンドウを説明できる。
- 次のトークンの予測を説明する。
- 温度を変えて、出力を比べる。
- テキストがコンテキストウィンドウを超えると何が起きるか示す。
- 4事前学習、ファインチューニング、指示チューニング事前学習、ファインチューニング、指示チューニングを区別できる。
- 各ステップがどのデータを使うか言う。
- 人からのフィードバックを説明する。
- モデルに知識の区切りがある理由を言う。
プロンプト工学
- 5構造化プロンプト役割、仕事、ルール、形式のある構造化プロンプトを書ける。
- 指示と入力データを分ける。
- 出力の形式を決める。
- 構造化プロンプトと、構造のないプロンプトを比べる。
- 6フューショットの例フューショットの例で出力をよくできる。
- 例を二つまたは三つ足す。
- 端の場合を含む例を選ぶ。
- テストセットで変化を測る。
- 7長さ、調子、形式長さ、調子、形式を限れる。
- 長さと読みやすさの上限を決める。
- 知らないときに何をするか、モデルに伝える。
- 各制限に照らして出力を確かめる。
- 8テストケースとプロンプトの版テストケースを書き、プロンプトの版を比べられる。
- 期待する結果つきのテスト入力を二十書く。
- プロンプトの版を二つ採点する。
- 勝った版を残す。
AIを使ったコーディング
- 9はっきりした仕様から動くコードはっきりした仕様から動くコードを得られる。
- 入力、出力、例のある仕様を書く。
- その仕様からコードを生成する。
- 例のうえで実行する。
- 10AIが書いたコードAIが書いたコードのバグと危険を見つけられる。
- 端の場合とエラー処理を確かめる。
- 作り話の関数とライブラリを見つける。
- ソースに秘密を書くなど、危険なコードを見つける。
- 11通さなければならないテストAIのコードが通さなければならないテストを書ける。
- pytestでテストを書く。
- そのテストを通すコードをAIに書かせる。
- 見つけたバグごとにテストを足す。
- 12AIでバグを直すAIでバグを直し、直し方を説明できる。
- バグが見える小さい例を作る。
- 直し方だけでなく、原因をAIに聞く。
- なぜその直しで動くか説明する。
LLMのAPI
- 13チャットのリクエストと返信チャットのリクエストを送り、返信を読める。
- 環境変数からAPIキーを読み込む。
- SDKでリクエストを送る。
- 返信とトークンの使用量を読む。
- 14システムメッセージとユーザーメッセージシステムメッセージとユーザーメッセージを使える。
- ルールをシステムメッセージに置く。
- ユーザーの入力をユーザーメッセージに置く。
- 会話の履歴を残す。
- 15スキーマに合うJSONスキーマに合うJSONを得られる。
- JSONスキーマを定義する。
- それに従う出力を求める。
- 出力を検証し、失敗したらやり直す。
- 16費用の上限があるチャットボット履歴と費用の上限があるチャットボットを作れる。
- 会話の履歴を残す。
- 古いメッセージを削ってコンテキストに収める。
- 費用の上限に達したら止める。
取得してから生成する
- 17根拠づけ根拠づけが作り話の答えを減らす理由を説明できる。
- モデルが見たことのない文書について聞く。
- その文書を足して、もう一度聞く。
- 取得してから生成する流れを描く。
- 18文書をチャンクに分ける文書をチャンクに分けられる。
- 重なりをつけて、大きさで分ける。
- 見出しで分ける。
- 各チャンクに出典とページを残す。
- 19質問にいちばん近いチャンク質問にいちばん近いチャンクを見つけられる。
- チャンクの埋め込みを作って保存する。
- 質問に対する上位の一致を取得する。
- 正しいチャンクが見つかる割合を測る。
- 20文書から答えて引用する文書から答えて引用するアプリを作れる。
- 取得したチャンクをプロンプトに入れる。
- 各主張に引用を求める。
- 引用が実在する箇所を指すか確かめる。
AIのツールとエージェント
- 21モデルに関数を呼ばせるモデルに関数を呼ばせられる。
- スキーマでツールを説明する。
- モデルが求めたツールを実行する。
- 結果をモデルに返す。
- 22モデルが実行できる手順仕事を、モデルが実行できる手順に分けられる。
- 先にモデルへ計画を聞く。
- 計画を一つずつ実行する。
- 次に進む前に各手順を確かめる。
- 23エージェントがしたことエージェントがしたことを記録できる。
- 各手順とその結果を保存する。
- 長い履歴を要約する。
- エージェントが忘れるべきことを決める。
- 24限られたツールと停止ルール限られたツールと停止ルールのあるエージェントを作れる。
- 安全な読み取り専用のツールだけを許す。
- 手順の数に上限をつける。
- 何かを変える行動の前に人へ聞く。
マルチモーダル生成AI
- 25拡散モデルが画像を作る拡散モデルが画像を作るしくみを説明できる。
- ノイズを足すことと除くことを説明する。
- テキストが画像を導くしくみを説明する。
- 生成画像の同意と著作権を話す。
- 26画像についての質問モデルに画像についての質問ができる。
- 質問と一緒に画像を送る。
- 構造化された説明を得る。
- モデルが間違える細部を見つける。
- 27音声とテキスト音声をテキストに、テキストを音声に変えられる。
- 短い録音を文字に起こす。
- 単語誤り率を測る。
- 音声を生成し、AI製だと表示する。
- 282種類の入力2種類の入力を使う試作品を作れる。
- 音声と画像のように、入力を二つ選ぶ。
- 一つのアプリでつなぐ。
- 五人のユーザーで試す。
信頼性とセキュリティ
- 29出典が支えない答え出典が支えない答えを見つけられる。
- 各主張を出典と照合する。
- 二度目のモデル呼び出しで、支えのない主張に印をつける。
- 答えが完全に支えられる割合を測る。
- 30プロンプトインジェクションプロンプトインジェクションからアプリを守れる。
- ユーザー入力と文書に隠した攻撃を書く。
- 信頼できる指示と、信頼できないテキストを分ける。
- 攻撃が届くツールを限る。
- 31ルーブリックとテストセットルーブリックとテストセットで出力に点をつけられる。
- 採点ルーブリックを書く。
- 手とモデルの両方で点をつける。
- どれだけ一致するか確かめる。
- 32自動テストスイートLLMアプリの自動テストスイートを作れる。
- 正確さ、形式、安全、費用をカバーする。
- 一つのコマンドで実行する。
- 点数が下がったらビルドを失敗させる。
AIプロダクトスタジオ
- 33利用者、機能、成功の尺度利用者、機能、成功の尺度を書ける。
- 承認された調査文書の集まりを選ぶ。
- 利用者とその質問を書く。
- 正確さ、引用、費用の目標を決める。
- 34取得、答え、引用取得、答え、引用を作れる。
- 文書に索引をつける。
- 引用つきで答える。
- テストスイートを実行する。
- 35わからないと言う証拠がないとき、アプリにわからないと言わせられる。
- 取得が役立つものを見つけないときを検出する。
- 推測せず、「出典には書いていない」と答える。
- 文書では答えられない質問で試す。
- 36根拠のある調査アシスタント根拠のある調査アシスタントを出して発表できる。
- クラス向けにアプリを公開する。
- 正確さ、根拠づけ、セキュリティ、費用の点数を発表する。
- 限界を説明する。