5秒で書けたスクリプト
大阪の物流会社で働く山本さんは、毎週、配送件数を表計算ソフトで足しています。
ある日、AIアシスタントに「配送件数を合計するPythonを書いて」と頼みました。5秒でコードが出てきました。
ところが、コードの列名は delivery_count でした。山本さんのファイルの列名は「配送件数」です。AIは、そのファイルを一度も見ていなかったのです。
このレッスンのゴール
メモ
AIのコーディング支援が、何を知っていて、何を知らないかを説明できる。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| AIアシスタント | コードや文章を書く手伝いをするAIです。 | |
| モデル | 次に来そうな言葉を予測する仕組みです。 | |
| プロンプト | AIに送る依頼の文章です。 | 配送件数を合計して |
| コンテキスト | AIがその場で見られる情報の全部です。 | |
| 学習データ | モデルを作るときに読ませた大量の文章です。 | |
| ハルシネーション | AIが、もっともらしい誤りを答えることです。 |
学生が入力するセルは、このプレビューでは空白です。
AIは次の言葉を予測している
AIアシスタントの中には、モデルがあります。モデルは、大量の文章とコードを読ませて作られました。
プロンプトを受け取ると、モデルは次に来そうな言葉を一つずつ選びます。それをくり返して、答えができます。
つまり、AIは答えの正しさを確かめていません。よくある形を、それらしく並べているのです。
見えるのはコンテキストだけ
AIが答えに使えるのは、学習データで覚えた形と、コンテキストです。
コンテキストとは、あなたが貼ったコードや、今の会話のことです。ツールによっては、開いているファイルも入ります。
会社のデータベースや社内のルールは、見えません。今朝の在庫数のような新しい情報も知りません。
AIに見えるもの、見えないもの
| 情報 | AIに見えるか | 理由 |
|---|---|---|
| プロンプトに貼ったコード | 見える | コンテキストに入っている |
| 同じ会話で前に話したこと | 見える | 同じ会話の中にある |
| 社内の顧客データベース | 見えない | 貼っていない |
| 会社のコーディングルール | 見えない | 教えていない |
| 今朝の倉庫の在庫数 | 見えない | 学習データより新しい |
学生が入力するセルは、このプレビューでは空白です。
AIは自信ありげにまちがえる
AIは、知らないことを「知らない」と言わないことがあります。代わりに、ありそうな関数名や列名を作ってしまいます。これがハルシネーションです。
答えの文章は、正しいときも、まちがっているときも、同じように自信がありそうです。見た目では区別できません。
だから、実行して確かめます。
やってみよう: ないメソッド
# 大阪の倉庫で、今週の配送件数を合計します。
# AIアシスタントが書いたコードです。実行して、エラーを見てください。
counts = [182, 205, 197, 230, 214]
total = counts.sum()
print("今週の配送件数:", total, "件")
# リストに sum というメソッドはありません。AIがそれらしく作ったものです。
# total = sum(counts) に書き換えて、もう一度実行しましょう。
よくある誤解
注意
多くの人は、AIが自分の会社のデータや最新の情報も知っていると考えます。実際には、学習データとコンテキストにあるものしか使えません。必要な情報は、自分で渡します。