すべてのレッスン

コース

8年生のAI:賢いアプリ開発者

Python、ウェブページ、モデル、AIのAPIを組み合わせて、テストして発表するアプリを作ろう。

レッスンを順番にやろう。終わるころには、AIアプリの部分であるインターフェース、バックエンド、モデル、データを言えて、本物のAIアプリのアーキテクチャを描ける。コードをモジュールに分け、JSONファイルを読み書きし、HTMLとCSSで小さなサイトを作れる。分類器の予測をウェブページに示し、テンプレートからプロンプトを作り、モデルの答えが正しい形式かを確認できる。Pythonから、先生が管理するAIのAPIを呼び、APIキーを秘密に保ち、20個のテストの評価セットを作り、安全チェックリストを書き、テスト済みのAI学習アシスタントをデモできる。

このレッスンのつかいかた

  • 「これをやる」のレッスンからはじめよう。タイトルの下の文が、ひとりでできたら、次に進もう。
  • はじめにゲームをしよう。それからクイズをしよう。10問中8問正解で合格。ワークシートは紙。答えは下にある。
  • どのレッスンも、前のレッスンの上に積み重なる。プロジェクトのフォルダを一つ持って、レッスンごとに足していこう。
  • 先生が認めたAIサービスだけを使おう。APIキーはコードに書かず、だれにも渡さない。個人情報はモデルに送らない。アプリが見せるAIの答えは、すべてテストしよう。

どのレッスンにもゲーム、クイズ、ワークシートがあります。

0/36

AIアプリのアーキテクチャ

  1. 1AIアプリの部分AIアプリの部分であるインターフェース、バックエンド、モデル、データを言おう。
    • 四つの部分をそれぞれ定義しよう。
    • 翻訳アプリの中から見つけよう。
    • ユーザーが見る部分を言おう。
  2. 2リクエストを追うクリックから答えまで、一つのリクエストを追おう。
    • クリックから画面までの各ステップを挙げよう。
    • モデルがどこで動くか言おう。
    • 遅れがどこで起きうるか言おう。
  3. 3データの置き場所アプリがデータを置く場所と、その理由を言おう。
    • ブラウザー、サーバー、データベースを比べよう。
    • 保存してはいけないものを言おう。
    • それぞれの場所を誰が見られるか言おう。
  4. 4アプリのアーキテクチャ本物のAIアプリのアーキテクチャを描こう。
    • アプリを一つ選ぼう。
    • 各部分の箱を描こう。
    • データの流れの矢印を描こう。

中級のPython

  1. 5モジュールコードをモジュールに分けて、インポートしよう。
    • 関数を専用のファイルに移そう。
    • 別のファイルでインポートしよう。
    • モジュールにわかりやすい名前をつけよう。
  2. 6ファイルテキストファイルとJSONファイルを読み書きしよう。
    • テキストファイルを読み書きしよう。
    • JSONを保存して読み込もう。
    • ないファイルに対処しよう。
  3. 7ライブラリPythonのライブラリをインストールして使おう。
    • pipでライブラリをインストールしよう。
    • ドキュメントを読もう。
    • その中の関数を一つ使おう。
  4. 8再利用できるコード繰り返すコードを、再利用できる関数にしよう。
    • 繰り返すコードを見つけよう。
    • わかりやすい引数の関数にしよう。
    • 短いdocstringを書こう。

ウェブアプリの基本

  1. 9HTML見出し、文、フォームがあるHTMLのページを作ろう。
    • 見出し、段落、リストを使おう。
    • 画像とリンクを足そう。
    • テキストボックスとボタンがあるフォームを足そう。
  2. 10CSS色、余白、レイアウトのCSSでページの見た目を整えよう。
    • 色とフォントを決めよう。
    • marginとpaddingを足そう。
    • flexboxでページを配置しよう。
  3. 11フォームと入力フォームにユーザーが入力した内容を読もう。
    • JavaScriptでフォームの値を読もう。
    • ページに戻して表示しよう。
    • 空の入力を調べよう。
  4. 12小さなサイト2ページの小さなサイトを作ろう。
    • ホームのページとツールのページを作ろう。
    • 二つをリンクでつなごう。
    • スマホの画面でも動くようにしよう。

モデルの組み込み

  1. 13推論学習と推論の違いを説明しよう。
    • 学習は一度、推論はリクエストのたびに起きると言おう。
    • 学習済みのモデルを保存して読み込もう。
    • 予測一つにかかる時間を測ろう。
  2. 14モデルの入力モデルが期待する形に、モデルの入力を整えよう。
    • 画像のサイズを変えよう。
    • 特徴を正しい順に並べよう。
    • モデルが使えない入力は拒もう。
  3. 15モデルの出力モデルの出力からラベルとスコアを読もう。
    • 一番上のラベルを読もう。
    • 確信度のスコアを読もう。
    • しきい値より下なら「わからない」と示そう。
  4. 16分類器をつなぐ分類器の予測をウェブページに示そう。
    • ブラウザーか小さなサーバーでモデルを読み込もう。
    • ページからの入力を送ろう。
    • ラベルとスコアを示そう。

プロンプトで動くアプリ

  1. 17プロンプトのテンプレートテンプレートとユーザー入力からプロンプトを作ろう。
    • 空欄のあるテンプレートを書こう。
    • ユーザー入力で空欄を埋めよう。
    • ユーザー入力で指示が変わらないようにしよう。
  2. 18コンテキストモデルに必要なコンテキストを渡そう。
    • 学年とテーマを足そう。
    • 答えの例を足そう。
    • コンテキストありとなしの答えを比べよう。
  3. 19答えの形式を確認モデルの答えが正しい形式かを確認しよう。
    • JSONを求めよう。
    • 解析してフィールドを確認しよう。
    • 違うときは、やり直すかエラーを示そう。
  4. 20プロンプトの流れ二つのプロンプトの流れで、作業を終えよう。
    • 一つのプロンプトで問題を作ろう。
    • 二つ目のプロンプトで答えを確認しよう。
    • ステップのあいだでデータを渡そう。

AIのAPI

  1. 21リクエストとレスポンスリクエストを送り、JSONのレスポンスを読もう。
    • GETとPOSTのリクエストを送ろう。
    • ステータスコードを読もう。
    • JSONのレスポンスを解析しよう。
  2. 22APIキーAPIキーを秘密に保とう。
    • キーを環境変数に保存しよう。
    • 共有するコードにキーを入れないようにしよう。
    • キーをブラウザーに置いてはいけない理由を言おう。
  3. 23制限と費用レート制限と利用の費用を説明しよう。
    • レート制限のエラーを読もう。
    • 100回のリクエストの費用を見積もろう。
    • 制限されたら待って、やり直そう。
  4. 24APIを呼ぶPythonから、先生が管理するAIのAPIを呼ぼう。
    • プロンプトを送ろう。
    • 返事を読もう。
    • エラーとタイムアウトに対処しよう。

AIのテスト

  1. 25テストケーステストケースとして、入力と期待する出力を書こう。
    • テスト用の入力を10個書こう。
    • 良い出力がどんなものか書こう。
    • 手で実行しよう。
  2. 26信頼性信頼性を見るため、同じテストを何度も実行して結果を比べよう。
    • 一つのプロンプトを10回実行しよう。
    • 何回正しいか数えよう。
    • ランダムさを下げて比べよう。
  3. 27端のケース端のケースとして、空の入力、長い入力、ひっかける入力をテストしよう。
    • 空の入力と、とても長い入力を試そう。
    • 別の言語の入力を試そう。
    • アプリをだまそうとする入力を試そう。
  4. 28評価セット20個のテストの評価セットを作り、アプリに点数をつけよう。
    • やさしいテスト、難しいテスト、ひっかけるテストを混ぜよう。
    • 各答えを合格か不合格で採点しよう。
    • 変更のたびに点数を記録しよう。

責任あるアプリ設計

  1. 29設計からのプライバシー設計からのプライバシーとして、アプリに必要なデータだけを集めよう。
    • アプリが集めるデータをリストにしよう。
    • 必要ないものを除こう。
    • データをどれだけ保つか言おう。
  2. 30安全対策安全対策で、危険な入力と出力を止めよう。
    • 危険な話題を除こう。
    • 見せる前に答えを確認しよう。
    • 止めたときは安全な返事を返そう。
  3. 31ユーザー体験ユーザー体験として、AIが答えているときと、AIが間違えることを示そう。
    • AIの答えにラベルをつけよう。
    • 間違った答えを報告する方法を足そう。
    • 読み込み中を示そう。
  4. 32安全チェックリストアプリの安全チェックリストを書こう。
    • プライバシー、安全、正確さを含めよう。
    • そのリストでアプリを確認しよう。
    • 不合格の項目を一つ直そう。

アプリ開発スタジオ

  1. 33アシスタントを計画学習アシスタントの機能とテストを書こう。
    • 教科を選ぼう。
    • 機能をリストにしよう。
    • 先に評価セットを書こう。
  2. 34インターフェースを作るインターフェースとして、教科の選択と問題の画面を作ろう。
    • 教科の選択を作ろう。
    • 問題と答えの画面を作ろう。
    • フィードバックの場所を作ろう。
  3. 35AIをつなぐAIをつないで、モデルからの問題とフィードバックを足そう。
    • モデルで練習問題を作ろう。
    • 答えを確認してフィードバックを返そう。
    • 評価セットを実行しよう。
  4. 36自分のAI学習アシスタントテスト済みのAI学習アシスタントをデモしよう。
    • アプリ全体をデモしよう。
    • 評価の点数を示そう。
    • フロントエンド、バックエンド、モデルを説明しよう。
8年生のAI:賢いアプリ開発者