見出し画像

ChatGPTで読書感想文を作ろう!簡単プロンプト作成&おまけ技術情報

この記事では、ChatGPTを用いて読書感想文を作成する際の、プロンプトの簡易的な作成方法をご紹介します。
具体的には、ブラウザで必要な情報を入力し、生成されたプロンプトをコピーしてChatGPTに投げる流れとなります。

ただしポイントとして、事前の読書なしに項目を埋めることは難しくしてあります。
実際に読書した上で、参考にしてもらえればと思います。
また、本当に使う場合は、各学校や自治体等が配布しているガイドラインに基づいて活用してください。

加えて、あまり関係無いですがおまけとして「ローカル環境でのサーバ立ち上げスクリプト」や「すでに作成されているウェブサイトの改修方法」もこの記事内で触れています。


プロンプトと結果など

ソースコード全量はGitHubおよび、このブログ内でも公開しています。

それぞれの項目を適切に埋めて、「生成」を押すと下部に以下のようなプロンプトが作られるので、これをコピーしてChatGPTに投げます。

ターゲット: 中学生
書籍タイトル: アルジャーノンに花束を
主題: 知能や才能とは何か、人はどのように他者と関わり合うべきか、そして自分自身のアイデンティティとは何かというテーマを考えさせられる作品
概要: チャーリー・ゴードンは低いIQを持って生まれてきたが、彼自身はその事実に気づいていない。彼は研究所で働く2人の科学者に選ばれ、実験の対象となります。この実験はマウスのアルジャーノンの知能を上げることに成功しており、次に人間での実験が予定されていました。チャーリーはその実験の対象として選ばれる。

手術を受けた後、チャーリーのIQは急速に上昇します。彼はあっという間に天才となり、多くの知識を身につける。しかし、この変化は彼の人間関係にも影響を与え、多くの困難な状況を経験することとなります。

後に、アルジャーノンが知能が低下し始め、元の状態に戻ってしまうことが明らかになります。チャーリーは同じ運命を迎えることを恐れ、研究を進める中でその恐れが現実となっていく。
引用・名言: ・アルジャーノンが知能が低下し、結果的に死んでしまうシーン。そして、チャーリーがアルジャーノンのために小さな墓を作る場面
・チャーリーが自らの知能が低下する運命を受け入れ、最後に彼がかつて働いていたベーカリーに戻るシーン。
感想・意見: その人にとって何が幸せなのか、一貫した幸せは無いのだという気づき。
疑問点・調べたいこと: 主人公のその後の人生
関連する書籍・情報: 特に無し

上記の情報を元に、中学生向けの読書感想文を作成してください。
読書感想文は800字で作成してください。
内容は独創的でかつ、人間が書いたような自然な文体でお願いします。
内容は独創的でかつ、「です。」「ます。」調で統一してください。

プロンプト

↑下の方の文章がダブってしまっていますが、修正したものでアップロードしています。
この辺は適宜、変えても良いでしょう。
そしてその結果、以下のような読書感想文が生成されます。

この夏休み、私は「アルジャーノンに花束を」という小説を読みました。この物語は知能や才能、人との関わり方や自分のアイデンティティという深いテーマを扱っており、非常に考えさせられる内容でした。

主人公のチャーリー・ゴードンは、生まれつきIQが低く、普通の人よりも知能が低い生活を送っていました。しかし、彼は自分の状態に気づいていなかったのです。ある日、チャーリーは新しい知能向上の実験の対象として選ばれ、手術を受けることになります。この手術は以前、マウスのアルジャーノンに行われ、成功を収めていました。

手術後、チャーリーのIQは驚くべきスピードで上昇しました。彼はあっという間に多くの知識を身につけ、天才としての日々を送るようになります。しかし、この知能の向上は彼の人間関係にも大きな影響をもたらします。友人や家族との関係がこじれ、彼は多くの困難に直面することになります。

特に印象的だったのは、アルジャーノンが知能の低下を始め、結果的に命を落とす場面でした。そして、同じ運命を迎えることを恐れるチャーリーの姿が胸を打ちました。彼がアルジャーノンのために作った小さな墓の場面は、涙が止まらなかったです。

物語の終盤、チャーリー自身も知能が低下し始めることを悟ります。彼は自分の運命を受け入れ、かつて働いていたベーカリーに戻ります。このシーンで私は、人が幸せを感じる瞬間や場所は人それぞれであり、一貫した答えは存在しないのだと気づかされました。

この物語を通して、人の価値は知能や才能だけではないこと、そして人との関わり方や自分自身の在り方を再確認することができました。私たちが日常で感じる幸せや価値観は、一つの答えや形に固定されるものではないと思います。

最後に、主人公のチャーリーがその後どのような人生を送ったのか気になりました。彼は再び平穏な日々を過ごせたのでしょうか。この疑問を胸に、私はこの小説の深いメッセージを長く忘れることができないでしょう。

この物語は、人生の本当の価値や意味を再考する機会を与えてくれました。多くの人に読んでほしい1冊です。

ChatGPTより

実際のやりとり全量は上記のリンクも参照ください。

おまけ

ローカル環境でサーバを立ち上げるスクリプト(Windows&macOS版)

前の記事でjsonファイルをローカルで読み込んで動かすには、で以下のコマンドを打つと良いとしていましたが、一々打つのは面倒なので「.bat」と「.scpt」ファイルを作成しました。

ちなみにこの記事で紹介したものは、HTML単体ですのでそのままブラウザで動きます。

cmd /k python -m http.server

コマンド

以下を「Server_Start.bat」という名前にしておけば便利です。(名前は何でもよいです。)
ひな形に入れておいて、コピーしてフォルダの中にポンと入れて叩くだけなので便利です。

@echo off
where python >nul 2>&1
if %errorlevel% neq 0 (
echo Python がインストールされていないか、PATH に追加されていません。
pause
exit /b
)

echo HTTP サーバを起動中...
start cmd /k python -m http.server
echo サーバが起動しました。(Serving HTTP on :: port 8000 (http://[::]:8000/) ...が本体です。)
echo こちらのURLにアクセスしてください: http://localhost:8000/
echo こちらは閉じてしまっても大丈夫です。
pause

Server_Start.bat
格納イメージ

AppleScript版はちょっとトリッキーな実装をしないといけませんが、以下で動きます。「.scpt」が格納されているフォルダをベースにしてサーバが起動します。

-- スクリプト自体の場所を取得
set scriptPath to path to me as string
set scriptFolder to (do shell script "dirname " & quoted form of POSIX path of scriptPath)

do shell script "which python3"
set pythonExistence to result

if pythonExistence is "" then
display dialog "Python がインストールされていないか、PATH に追加されていません。"
else
-- サーバを起動するためのTerminalウィンドウを開き、スクリプトの場所へ移動
do shell script "osascript -e 'tell app \"Terminal\"
do script \"cd " & scriptFolder & " && python3 -m http.server\"
end tell'"
display dialog "HTTP サーバを起動中…
サーバが起動しました。(Serving HTTP on :: port 8000 (http://[::]:8000/) ...が本体です。)
こちらのURLにアクセスしてください: http://localhost:8000/
こちらは閉じてしまっても大丈夫です。"
end if

Server_Start.scpt
一緒に起動するターミナルがサーバ本体です。

既に作成されたウェブサイトをChatGPTに改修してもらう

Code Interpreterでzipにしたものをアップロードすれば、簡単に改修できます。

どういう構成で、どういう機能を有しているのかを解釈させると修正が楽です。

これでタイマーを追加してみたので、後で更新しようと思います。
10問なので、15分タイマーです。過ぎると自動的に答えが表示されます。

簡単に実装できそうなものとしてタイマー。

まとめ

読書感想文に限定しましたが、ほかのひな形として使う場合にも良いかもしれません。
特に形式が決まっていて、変数的に置き換える場合には有効でしょう。
こんな感じに画像生成AI用のプロンプトを作成するサイトもありますし、そんな感じに作っておくのも便利かもしれません。

おまけ(HTML全量)

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>読書感想文ジェネレータ</title>
<style>
/* スタイルを追加してテキストエリアのサイズを大きくしやすいように調整 */
textarea {
width: 100%;
height: 150px;
}
</style>
</head>
<body>
<h1>読書感想文ジェネレータ</h1>
<!-- 入力フォーム -->
<div>
<label>要求する字数: <input type="number" id="wordCount"></label><br>
<label>ターゲット:
<select id="target">
<option value="小学生">小学生</option>
<option value="中学生">中学生</option>
<option value="高校生">高校生</option>
<option value="大学生">大学生</option>
<option value="社会人">社会人</option>
</select>
</label><br>
<label>書籍タイトル: <input type="text" id="title"></label><br>
主題: <br><textarea id="theme"></textarea><br>
概要: <br><textarea id="summary"></textarea><br>
引用・名言: <br><textarea id="quote"></textarea><br>
感想・意見: <br><textarea id="opinion"></textarea><br>
疑問点・調べたいこと: <br><textarea id="question"></textarea><br>
関連する書籍・情報: <br><textarea id="relatedBooks"></textarea><br>
<button onclick="generatePrompt()">生成</button>
</div>

<!-- 生成結果 -->
<h2>生成されたプロンプト</h2>
<div id="output"></div>

<script>
function generatePrompt() {
const wordCount = document.getElementById('wordCount').value;
const target = document.getElementById('target').value;
const title = document.getElementById('title').value;
const theme = document.getElementById('theme').value;
const summary = document.getElementById('summary').value;
const quote = document.getElementById('quote').value;
const opinion = document.getElementById('opinion').value;
const question = document.getElementById('question').value;
const relatedBooks = document.getElementById('relatedBooks').value;

// プロンプトを作成
const promptText = `
ターゲット: ${target}
書籍タイトル: ${title}
主題: ${theme}
概要: ${summary}
引用・名言: ${quote}
感想・意見: ${opinion}
疑問点・調べたいこと: ${question}
関連する書籍・情報: ${relatedBooks}

上記の情報を元に、${target}向けの読書感想文を作成してください。
読書感想文は${wordCount}字で作成してください。
内容は独創的でかつ、「です。」「ます。」調で統一してください。
`;

document.getElementById('output').innerText = promptText;
}
</script>
</body>
</html>

index.html


この記事が参加している募集

#読書感想文

187,854件

この記事が気に入ったらサポートをしてみませんか?