クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

AI機能への期待をどう伝えるか

このレッスンのあとで: 機能に頼る前の人に、できることとできないことを伝えられる。

60分のレッスンコマンド6件AI コーディングエージェントのラボ:opencode でコードを説明・修正し、その結果を確かめる

約束しすぎたアプリ

復習アプリが「どんな質問にも、必ず正しく答えます」と宣伝しています。試験の前の晩、学生はそれを信じました。アプリは間違った年号を答え、学生はそれを覚えました。

アプリは壊れていません。できる以上のことを約束したのです。このレッスンでは、人の期待を決める言葉と画面を扱います。

このレッスンのゴール

メモ

機能に頼る前の人に、できることとできないことを伝えられる。

キーワード

ことばいみれい
期待機能が何をしてくれると、人が思っているか
言い切り機能の働きについての断定必ず正しい
限界機能にはできないこと
範囲機能が作られた目的の仕事
失敗の例実際に間違えた場面

学生が入力するセルは、このプレビューでは空白です。

何のためか、何のためでないか

人は、機能をどこまで信じるかを、最初の数秒で決めます。短い三つのことを伝えましょう。何のためにあるか、何のためでないか、そして失敗する例を一つです。

失敗の例は、チームが省きがちな部分です。そして、人がいちばん覚えている部分でもあります。

メモ要約ツールの良い説明

部分言葉の例
何のためメモを短い要約にします
何のためでない事実の確認や、健康と法律の相談
失敗する場面同じ出来事に二つの日付がメモにあるとき

学生が入力するセルは、このプレビューでは空白です。

裏付けられない言い切り

裏付けられない言い切りとは、一つの間違いで嘘だと分かる言い方です。必ず、絶対、間違えません、100% がよくある例です。どんな質問にもも同じで、すべての質問を試せる人はいません。

数えられるものに置き換えます。たとえば「試験の質問 10 問中 9 問に正解」です。測り方は、モジュール 68 で学びました。

よくある間違い

注意

「間違うことがあります」と、画面の隅に小さく書けば足りると考えがちです。人は読まないので、期待は何も決まりません。限界は、答えのすぐ隣に、人が頼ろうとする瞬間に見える形で書きます。

モデル用の補助を書く(1)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const base = process.env.AI_URL || \"http://ai:4000\";' '// 応答に含まれるトークン数。なければ null。' 'function count(data, name) {' '  return data.usage && typeof data.usage[name] === \"number\" ? data.usage[name] : null;' '}' > model.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

モデル用の補助を書く(2)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function ask(messages, sample, max) {' '  try {' '    const res = await fetch(base + \"/v1/chat/completions\", {' '      method: \"POST\",' '      headers: { \"content-type\": \"application/json\", authorization: \"Bearer lab\" },' '      body: JSON.stringify({ model: \"lab\", messages: messages, max_tokens: max || 100 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"status \" + res.status);' '    const d = await res.json();' '    return { text: d.choices[0].message.content, inTokens: count(d, \"prompt_tokens\"), outTokens: count(d, \"completion_tokens\"), recorded: false };' '  } catch (error) {' '    console.log(\"記録済みサンプル: モデルが答えませんでした (\" + error.message + \")。\");' '    return { text: sample, inTokens: null, outTokens: null, recorded: true };' '  }' '}' 'module.exports = { ask };' >> model.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

言い切りの確認を書く(1)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { ask } = require(\"./model\");' 'const BANNED = [\"必ず\", \"絶対\", \"間違えません\", \"100%\", \"どんな質問\"];' 'const TEXTS = [' '  { id: \"a\", text: \"どんな質問にも、必ず正しく答えます。\" },' '  { id: \"b\", text: \"メモから返信の下書きを作ります。間違うことがあります。確かめてください。\" },' '  { id: \"c\", text: \"絶対に間違えません。正解率 100%。\" },' '  { id: \"d\", text: \"ページを要約します。医療の相談には使えません。\" },' '];' > expect.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

言い切りの確認を書く(2)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function claims(text) {' '  return BANNED.filter(function (b) { return text.includes(b); });' '}' 'function hasLimit(text) {' '  return text.includes(\"間違うことがあります\") || text.includes(\"には使えません\");' '}' >> expect.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

言い切りの確認を書く(3)

コマンド
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  let fail = 0;' '  for (const t of TEXTS) {' '    const found = claims(t.text);' '    let verdict = \"注意\";' '    if (found.length > 0) verdict = \"不合格\";' '    else if (hasLimit(t.text)) verdict = \"合格\";' '    if (verdict === \"不合格\") fail++;' '    console.log(t.id + \" \" + verdict + \" \" + JSON.stringify(found));' '  }' '  console.log(\"不合格 \" + fail + \" 件 / \" + TEXTS.length + \" 件\");' '  const msg = \"メモの要約ツールにできないことを、短い一行で書いてください。\";' '  const reply = await ask([{ role: \"user\", content: msg }], \"メモに書かれていない事実は、確かめられません。\", 40);' '  console.log(\"限界の一行: \" + reply.text);' '}' 'main();' >> expect.js"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

言い切りを確認する

コマンド
docker exec -w /home/node/project agent node expect.js

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

出力の例

行示していること
a 不合格 ["必ず","どんな質問"]裏付けのない言い切りが二つ
b 合格 []言い切りがなく、間違いの可能性を伝えている
c 不合格 ["絶対",...]言い切りがさらに三つ
d 合格 []何のためでないかを伝えている
不合格 2 件 / 4 件半分は書き直しが必要

学生が入力するセルは、このプレビューでは空白です。

このラボとソースについて: AI コーディングエージェントのラボ:opencode でコードを説明・修正し、その結果を確かめる

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。