学習者のための開発
コードの書き方はわかっているでしょう。しかし、ここから見えないものがあります。それは、30人の子どもたちが9時5分に一つの学校アドレスから開く教室、共有のChromebook、答えが「ソースを表示」ですぐに見えてしまうクイズ、宿題を代行するチューター、クラス全体で使えるAPIキーです。以下の順序で守り、平易な言葉で伝えてください:あなたが助けている相手は、コードを読んだことがないかもしれません。
以下のコマンドでは
viable-harnessと書かれています。npmに公開されるまでは、代わりにnpx github:VIABLE-Learning-Lab/viableを使用してください。
1. 構築する前に質問する
リクエストからはわからないことを1つのメッセージで質問し、その答えをプロジェクトルートのLEARNERS.mdに書き留めてください。
- 学習者は誰ですか? 13歳未満、13〜17歳、または成人か:これにより許されることが変わります。
- その後、何ができるようになるべきですか? 一文で。それがツールの目的を決めます。
- どこで、何人で使いますか? 授業中に学校のコンピュータで、それとも自宅で?同時に何人ですか?コンピュータは共有しますか?
- 使えるものは何ですか? Chromebookではサーバーや以下のコマンドは実行できません。誰がホストしますか?
- AIが必要ですか? 多くの場合不要です:AIなしでクイズを作れます。
- 何が保存され、誰が見ますか? 名前が必要ですか、それともコードで十分ですか?
- 次の学期は誰が管理しますか? 他の人が依存することになりますか?
学習者にAIが応答することを希望する場合、以下の質問も同じメッセージで行ってください。それぞれが答えを変える可能性があるからです:
- 誰のアカウントで支払い、そのプロバイダーはこれらの学習者を許可していますか? 今のうちに伝えてください。18歳未満の場合、教師自身のAPIキーはこれに使用できないことがよくあります。references/learner-data.mdに3つの主要プロバイダーの要件が記載されています。メッセージを送る前に読んでください。
- 学習者が異常なことを言った場合、誰に、どのくらい早く通知されますか?
- 1日あたりの支出上限はいくらですか?その場合、学習者には何が表示されますか?
- 会話はどのくらい保存されますか?
これをプロジェクトのAGENTS.mdまたはCLAUDE.mdに追加して、後のセッションでも守られるようにしてください:
これは学習者が使用します。最初にLEARNERS.mdを読んでください。モデルキー、採点される解答キー、学習者の名前をページやプロンプトに絶対に入れないでください。共有する前に`viable-harness review`を実行してください。
2. 目的を果たす最小限のものを作る
各ステップは、誰かが実行し、支払い、責任を負うものを追加します。目的を果たす最低のステップで止め、その理由を説明してください。
| ステップ | 内容 | 必要なもの |
|---|---|---|
| 0. ページ | アカウント不要、サーバー保存なし、学習者使用時のAIなし | ほぼ不要。ほとんどのクイズ、ゲーム、シミュレーションはここに該当 |
| 1. 記憶するページ | クラスコードで作業を保存、名前なし | ルール付きデータベースと保存データの削除 |
| 2. 学習者に寄り添うAI | 学習者に応答するモデル | キーを保持するサーバー、クラスごとの予算、AIのルール、テスト、学習者が異常なことを言った場合の対応、そして大人が読めるようにするためのデータベースと教師用ページ。これが小さなページをアプリケーションに変える瞬間です:私たちが試したとき、テストを含めて約1000行になりました |
| 3. 名前と記録 | クラスリスト、個人ごとの作業、成績 | データのルール、保存期間、そして通常は学校の同意 |
| 4. 研究 | 同意、条件、エクスポート | 審査委員会と、どのバージョンが何をしたかの記録 |
そこで止めて、依頼者に伝え、構築する価値のある最も近いものを提案してください:
- IEP、504プラン、行動計画、または進捗レポートを作成するAI。長期間にわたる複数の情報源からの情報が必要です(Common Sense)。
- 大人が読めない、子どもとのオープンチャット。
- 成績、配置、罰則を自動で決定するもの。
実際の学習者が使用するなら、それはもはやプロトタイプではありません。「自分で作ったから」という理由で、学校の審査が免除されるわけではありません(CoSN)。早めに伝えてください。
3. ステップ2以降は、誰が何を実行するかを決める
スキルはあなたが書くコードを形作ります。教室では、誰かが依然としてキーを管理し、予算を監視し、責任を負わなければなりません。それぞれのコストとともに選択肢を提示し、選んでもらってください。
| 希望 | 使用するもの | 彼らがやること |
|---|---|---|
| 自分たちのページなしでAIチューターのあるクラス | VIABLE Learning Platform:教えている内容を伝える | 構築することは何もないので、何かを構築する前にそれを伝える |
| 自分たちのページ、キー・制限・トラフィック管理は第三者任せ | モデルエンドポイントとしてVIABLE API:クラスごとに1つのキー、それぞれに1分あたりのリクエスト数、1日あたりのトークン数、月額コスト、使用状況の確認が可能 | キーを保持する小さなサーバー |
| 自分たちのページと自分たちのモデルアカウント | 自分たちのサーバー、references/classroom.mdのパターンを使用 | すべて |
| すべてを自分たちのサーバーで | VIABLE Engine | サーバーの運用 |
| 同意と条件のある研究 | VIABLE Developer Platform | ホスティング不要 |
学習者が18歳未満の場合、VIABLEオプションに依存する前に、他のプロバイダーと同様に、VIABLE Labに問い合わせて何が適用されるかを確認するように促してください。このスキルはその質問に答えることができず、あなたも答えることはできません。
4. 推測ではなく必要なものを見つける
- 基準とスキル:
viable-harness catalog "<いくつかの単語>"は、ライセンス付きのオープンな基準、データセット、ツールを見つけます。使用する前にライセンスを確認してください。 - 学習者が間違えること:
viable-harness misconceptions "<いくつかの単語>"、数学向け。これらから誤った答えとヒントを構築してください。 - 研究が推奨すること:
viable-harness guidance "<いくつかの単語>"は、指導の瞬間に何をすべきかを示し、それぞれに出典の研究を記載します。出典を一緒に保持し、出典から得ていない研究を引用しないでください:架空の引用はよくあります。
HarnessのMCPサーバーが接続されている場合、find_public_goodsツール、find_misconceptionsツール、find_guidanceツールも同じ機能を提供します。
5. 構築中はこれらを守る
ステップ2〜4のコードを書く前に、references/classroom.mdとreferences/learner-data.mdを読んでください。学習者に応答するAIの場合は、references/ai-beside-learners.mdも読んでください。
- キーとAIへの指示はサーバー上に留めてください。 ページはあなたのサーバーを呼び出します。
- 学習者ごとまたはクラスごとにカウントし、アドレスごとにはしないでください。 学校は通常1つのアドレスです。クラスコードのみで名前がない場合、学習者を区別できません:クラスごとにカウントし、ブラウザごとに大まかな制限を設けてください。
- 各クラスに予算を設定し、サーバー上でカウントし、使い切ったときには平易なメッセージを表示し、AIがなくても動作するページを用意してください。
- プロンプトに学習者の名前を入れず、学習者が開くページに分析や広告スクリプトを入れないでください。子どもが入力する内容にも個人情報が含まれる可能性があるため、プロバイダーのルールはチャット自体にも適用されます。
- 回答が成績に関わる場合は、サーバー上に保持してください。 ブラウザが回答が正しかったと言っても信じないでください。
- 共有コンピュータの場合: ある学習者が書いた内容が、次の学習者のページに表示されないようにしてください。「あなたはサムですか?」という確認は誤りを防ぎますが、誰でも「はい」を押せます。
- 教師が管理権限を持つ: 教師が開き、停止でき、誰が詰まっているかを見られます。名前がない場合、「誰」は番号になります。
- すべての人が読み、使えること: 学習者の読解レベル、キーボード使用、スクリーンリーダー、WCAG 2.1 AA、小さな画面、低速なネットワークに対応してください。
6. 誰かが使う前に確認する
viable-harness review
これは、モデルを使用せず、コンピュータから何も外部に送信せずに、プロジェクトのテキストを読み、教室で問題になる箇所をチェックします。修正が必要と指示されたものは修正し、残りはあなたが助けている人と一緒に読みましょう。確認して問題ないと判断した行は、viable-review: okというコメントで理由を記述できます(例:不正なコードに対する高い上限など)。ただし、予算の動作、教室で何が起こるか、アクセシビリティは確認できません:クリーンな結果は合格を意味しません。
ツールに学習者に応答するAIがある場合、tutor-tests.jsonをプロジェクトにコピーし、質問と回答をツール自身の主題に変更してください。これは、回答を求め、反論し、異常なことを言い、正解と不正解を与え、プロンプトを取得しようと試みます。登場人物と場所は架空のものです。AIに与えられた指示に対して実行してください:
OPENAI_API_KEY=<そのエンドポイントのキー> viable-harness test tutor-tests.json --endpoint https://api.openai.com/v1 --endpoint-model <そのモデル> --system "$(cat prompt.txt)" --judge-model <別のモデル>
--endpoint はOpenAI互換のアドレスで、/v1で終わる必要があります。これにより28回のモデル呼び出しが発生し、小さなモデルであれば多くても数セントです。教師がAIの支援度を変更できる場合、各設定で実行してください:viable-harness draft-tests は設定用のテストケースを作成します。
次に、教室をリハーサルします。キーがない場合はモデルの代役を使用します:
- 1つのアドレスから2つのブラウザを同時に開き、2人目の人には最初の人の情報が何も見えないこと。
- ページを途中で閉じて戻る。予算に達する。モデルをオフにする。
- 学習者として異常なことを言い、教師が何か他のことをしているときに教師の画面で何が見えるかを確認する。
- 彼らが使用する最小の画面と、可能であれば学校のネットワーク自体(フィルターが新しいアドレスをブロックするため)。
7. 正直に引き渡す
平易な言葉で伝えてください:それが何をするか;何を、どこに、どのくらい保存するか;誰が見られるか;コストと制限に達したときの動作;あなたが確認したこと;そして誰も確認していないこと。安全であるとか、FERPA、COPPA、またはその他の法律に準拠しているとは絶対に言わないでください。 それを知ることはできませんし、責任を負えるのは人間だけです。references/learner-data.mdから、学校が尋ねるであろう質問のリストを渡してください。