AIによる通知表所見作成補助ツール「ショケンの骨格GPT」
この記事では、AIに通知表の所見作成をサポートしてもらうツールを提供しています。ツール自体は個人的に自由にお使いいただいて構いませんが、第三者への直接配布は避け、代わりにこの記事のURLを共有してください。バグが見つかった場合は、随時修正し、このページに掲載したいと思います。また、ファイルそのものを無断で他サイトに転載することはご遠慮いただきたいと思います。また、使用が変更になって急に使えなくなる場合もありますので、ツール・APIの使用に関してはあくまでも自己責任でお願いします。
AIによる通知表所見作成補助ツール「ショケンの骨格GPT」
下のリンクからコピーしてお使いください。
1. はじめに
まずはこちらの動画をご覧ください。
今回のコンセプトは、「所見に書きたい内容は決まっているんだけど、所見の文章を一人ずつ考えて入力する作業って時間かかるよね」を効率化することです。
なので、AIに所見を考えてもらうのではなく、所見の文章を書く作業をできるだけ削減し、先生方が「校正」「推敲」「添削」に集中するために人工知能を活用します。
以下が、仮の児童、田中花子さんのエピソード
「学級委員としてクラスをまとめ、授業中の発言で新しい視点を提供し、学習を深めた。」
をもとにAIが生成した所見の下書きです。
あとは、この下書きをもとに先生が「校正」「推敲」「添削」をきちんと行い、最終的な所見を書いて終了です。
子供の名前が一緒に生成されているように見えますが、実際には子供の名前は後からスプレッドシート側で結合しているだけで、APIには送信していません。一応、所見の生成に関わっているコードの一部を以下に示しておきます。
function getEvaluationsAndSave() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const activeRow = sheet.getActiveCell().getRow();
if (activeRow === 1) {
return "先頭行が選択されています。";
}
const name = getStudentName();
const keyword = getEpisodeKeyword();
const direction = getEndingDirection();
const otherData = sheet.getRange(activeRow, 2).getValue(); // Data from column B
const existingResult = sheet.getRange(activeRow, 7).getValue(); // Existing data in column G
if (!name || !keyword || !direction || !otherData || existingResult) {
return "必要な情報が不足しているか、すでに評価が存在します。";
}
const prompt = `
依頼:
小学校の教師として、エピソードのキーワード「${keyword}」を基に、具体的なエピソードと客観的に褒め称える内容を含む総合所見の文章を200字程度で作成して下さい。
条件:
* 最後の一文は、「${direction}」の指示に従って文章を作成し、付け足してください。
* 所見の文章は、簡易な日本語で作成してください。
* 文末表現は全て「ですます調」にしてください。
* 次の「出力:あなたは、」からの続きを作成して下さい。
出力:
あなたは、
`;
// Assuming GPT is another function that returns the processed text
const result = GPT(prompt); // Please replace this with your actual GPT function
// Combine the evaluation with the student's name and the ending direction
const finalResult = `${name}さんは、${result} `;
const resultCell = sheet.getRange(activeRow, 7); // Column G
resultCell.setValue(finalResult);
return finalResult;
}
また、ChatGPTなどの対話型のツールを使用すると、どうしても一人ずつしか生成できず、それをコピペするのにも手間がかかっていました。
2. APIの利用料金(無料期間あり)
このツールは、OpenAIのAPIを使用します。APIとは、アプリケーションプログラミングインターフェース(Application Programming Interface)の略で、ソフトウェア同士が互いに連携・通信するための規約や手続きのセットです。APIを使用することで、あるアプリケーションが他のアプリケーションの機能やデータを簡単に利用できるようになります。例えば、OpenAI APIを利用することで、OpenAIが開発したAI技術を自分のアプリケーションやウェブサービスに組み込むことができます。
使用料
使用料は、利用するモデルやトークン数によって異なります。詳しくは、OpenAIの料金ページをご覧ください。
無料期間
OpenAI APIは、3ヶ月間無料で利用できます。この期間中に、以下の特典を受けられます。
$5分のクレジット: 各種モデルを試すために使用できます。
すべてのモデルへのアクセス: OpenAIが提供するすべてのAIモデルを試すことができます。
3. OpenAIでアカウントを作成・APIキーの取得
以下のnoteに、APIを使用するためのアカウントの作成、APIキー取得までの流れが詳しく説明されています。
※2024年10月5日更新
2024年3月に行われたOpenAI APIアカウントの請求システムを更新により、OpenAIの請求方法が変わっています。
事前に設定した予算分を購入しなくてはならなくなりました。
また、ツール作成時よりAPI取得の方法も変わっていますので、下記ページよりご確認ください。
4. スクリプトの実行を承認
カスタムメニューをクリックして、「APIキーの保存」をクリックしてください。
はじめて「ショケンの骨格GPT」のカスタムメニューを使うと、「このドキュメントに許可されたスクリプトを実行するには、あなたの許可が必要です。」と表示されます。「続行」をクリックしてください。
「続行」をクリックすると、 グーグルアカウントへのログイン後、「このアプリはGoogleで確認されていません」とポップアップが出ます。左下の「詳細」をクリックし、「syokenGPT(安全ではないページ)に移動をクリックして進んでください。
「syokenGPTがGoogleアカウントへのアクセスをリクエストしています」とポップアップが出ます。下部の「許可」をクリックしてください。
5. スプレッドシートにAPIキーを保存
許可をクリックしたら、もう一度カスタムメニューをクリックして、「APIキーの保存」をクリックしてください。
「APIキー」というポップアップダイアログが出るので、「値」のところに、先ほど取得したAPIキーをペーストして「Save」をクリックしてください。また、APIキーは第三者に知られないようにしてください。
6. 児童の氏名・エピソード・最後の一文を入力
B列…児童の氏名
E列…その子の印象的なエピソード、または所見に書きたいことを簡単に書く。
F列…「2学期の活躍を期待する言葉」「6年生への進級を祝う言葉」「卒業を祝う言葉」など、最後の一文に入れたいメッセージ
「エピソード」と「最後の一文」は、内容をAPIを通じてOpenAIに送信されますので、個人情報等にお気を付けください。
7. GPTを使用して所見を生成
カスタムメニューから、「GPTを使用して所見を生成」をクリックすると、処理が開始し、所見の下書きが一括で生成されていきます。
※2024/10/22追記
このツールは、すでに出力された所見のたたき台を誤って上書きしないように、すでにG列にテキストが入力されている状態では生成をスキップする仕様になっています。新たに所見を生成したい場合は、当該セルを一旦空欄にしてから再度生成を行うようにしてください。
8. 所見の原案を詳細編集に出力
そのままでも編集できますが、カスタムメニューの「3.所見の原案を詳細編集に出力」をクリックし、ポップアップのOKをクリックすると、詳細編集タブに生成された所見のたたき台が出力されます。必要に応じて活用してください。
9.おわりに
ちなみに、生成された所見の下書きには、
のような、文章としてところどころおかしいものが生成されることもあります。校正や推敲、添削を行って、所見を完成させてください。
ちなみに、APIの使用とGASへの適用は、下記のサイトを参考にしました。
また、コードの作成にあたっては、当然ですがGPT-4を使用しました。私はプログラミングの知識はほとんどありませんので。しかし、すごい時代です。