「目的」を持たせろ
ベースができたところで、要件を整理しましょう。
「小説を自動で書いてくれる道具」が欲しいとの事でしたが、具体的に小説執筆のどの工程で困っていますか?
脳内にあるシーンは完璧なんだけどさー、文字にしたらコレジャナイんよね。
脳内では超面白くて感動的なんだけどー。
それ、絵の構図とかでも似たようなこと言ってるだろ。
では、ネタが思い付かないのではなく、書きたいネタはあって、それを文字化したいという事ですね。
そうだね。
書きたいネタがあるから困ってるわけで、ないならそもそも書かなきゃいいだけだし。
でしたら、道具の要件は「あらすじを入力すると小説になって出てくる」でしょうか。
いや、あらすじとかプロットとかそんなものと一緒にはしないでいただきたい。
もうほぼ完成品というか、具体的なシーンとか台詞とか、とにかく全部脳内にはあるわけでそれを文字化するのだけが困ってるんだ。べつにあらすじから物語を作ってほしいわけじゃない。
具体的な筋があって、筋書きだけでは表現しきれない動作や情景があるというわけですね。
では入力は、稚拙ではあるけれど書きたいことだけはなんとなくわかる程度のテキスト。出力は、読み物としての体を成した文章、ですね。
要するにあらすじを入力して小説を出力するわけですね。
仕様が決まりましたので実装しましょう。
入力されたテキストをあらすじとして小説を生成して出力するよう、指示を変更します。
script.js【変更前】
const prompt = `${inputText}`;
script.js【変更後】
const prompt = `
以下のあらすじを元に小説を執筆しなさい。
### あらすじ
${inputText}
`;
日本語です。意味さえ通じればどんな書き方でもいいですよ。
書き方が自由って逆に困るよね。文法が決まってるプログラミングのほうがラクだわ。
では、先程と同じテキストで実行結果を比較してみましょう。
使ってみよう
では、実際に使ってみましょう。
小説にしたいあらすじを出してください。
あらすじじゃないんだけどな~。もうほぼ完成品で~。
あらすじ
「お師匠様!?」
現れたのは仮面の男――行方不明だった、かつての桃太郎の師匠だった。
「久しぶりだな、桃太郎」仮面の男は言った。
「なぜ鬼ヶ島にあなたが……!」
「フッ、もう察してはいるのだろう。そう、我こそは鬼四天王の一人、『ピチピチのピーチ』!」
――薄々おかしいとは思っていた。師匠の人間離れした強さ。しかしあえて考えないようにしていたのだ。
「さあ来い。見せてみよ、お前がどれだけ強くなったかを」
そう言って男は仮面を投げ捨てた。その下から現れたのは、紛れもなく、鬼の顔だった。
台詞ばっかりで、後から地の文を入れようとするけど「○○は言った」だらけになるやつだ。
戦闘シーンを義務的に入れるものの、退屈すぎて無い方がましなやつですね。