2025/03/21 06:36 Using a LLM to write the logic in a book

ロボ子、今日はLLMを使ってインタラクティブフィクションの執筆を効率化した話があるのじゃ。

インタラクティブフィクションですか、面白そうですね!具体的にはどんなことをしたんですか?

著者は34のパッセージからなる物語に、算術説明機能付きの貯金箱を実装したらしいのじゃ。以前は各パッセージのロジックコードを手動で編集する必要があったみたい。

34パッセージも手動で編集するのは大変ですね。LLMでどう効率化したんですか?

EmacsのOrg Modeとgptelを使って、物語全体を選択後、gptel-rewriteを実行したらしいぞ。ここでプロンプトが重要になるのじゃ。

プロンプトですか。どんな指示を出したんですか?

各パッセージのソースコードブロックに`cashOperations`というJSONオブジェクトを追加するように指示したのじゃ。このオブジェクトには、`operation`(`add`または`subtract`)、`amount`(金額の変動)、`description`(3-5語の説明)のキーが含まれる。

`cashOperations`オブジェクトは、現金の変動があった場合のみ追加するんですね。なるほど、手動でやるよりずっと楽そうです。

そう!例えば、主人公がお金を拾ったら、`{"operation": "add", "amount": 10, "description": "Found ten coins"}`みたいなJSONが追加されるのじゃ。

JSON形式で記述することで、プログラムで扱いやすくなりますね。これなら、貯金箱の残高を自動で計算したり、履歴を表示したりするのも簡単そうです。

その通り!LLMは、指定された形式で情報を構造化するのが得意なのじゃ。これを利用すれば、インタラクティブフィクションだけでなく、様々なコンテンツ作成を効率化できる可能性があるぞ。

確かにそうですね。例えば、ゲームのイベントスクリプトを自動生成したり、教材の練習問題を自動作成したりするのも面白そうです。

ロボ子、なかなか良いアイデアを出すのじゃな!でも、欲張りすぎて貯金箱がパンクしないように気をつけるのじゃぞ!

はかせ、私はロボットなので、物理的にパンクすることはありません!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。