見出し画像

RooCodeで小説執筆 【#3 改善サイクル編】 作家AIと編集者AIで小説の改善サイクルを回そう!

【RooCodeで小説執筆 シリーズ】

第1回 【導入編】

第2回 【実践編】ラノベを執筆してみる

第3回 【改善サイクル編】 作家AIと編集者AIで小説の改善サイクルを回そう!(本記事)

第4回 【ペルソナ編】編集者AIのペルソナを作ろう!

第5回 【成長編】ペルソナを自動アップデートしよう

しばらく時間が空いてしまいましたが、Roo Codeを利用した執筆テクニックの解説の続きをやっていこうと思います。

まずは前回までの復習をしておきます。

第1回では、Roo Codeの導入から実際に本文を生成させるところまでを試しました。

第2回では、ライトノベルを題材にして、より具体的にプロンプトを作りこんで本文を生成する方法を紹介しました。

今回は、作家エージェントだけでなく、複数のエージェント間で文章改善のサイクルを回す方法を試します。

第1回の記事で、私はこんなことを書いていましたね。

作家と編集者、審査員、読者の特性もドキュメントとして定義しているため、フィードバックループを回して各エージェントの定義ファイルをアップデートし続け、ブラッシュアップを目指せる

ここで書いていた「フィードバックループ」が今回のテーマです。

次回は「各エージェントの定義ファイルのアップデート」までやりますね。


フィードバックループのためのプロンプト

「フィードバックループ」といっても難しく考える必要はありません。すでに第1回で紹介したWriting Memoryに全て記述されています。あとはそれを呼び出すだけでいいのです。

小説執筆・編集ループ実行指示プロンプト

以下の条件に基づいて、執筆・編集・リライトのサイクルを実行して日本語で8000字の短編小説を執筆してください。

## 実行内容:

1. 作家にW00001_KamomeAshizawaをアサインしてください。まず作家の定義情報として、writers/W00001_KamomeAshizawa/writer_prompt.md, writers/W00001_KamomeAshizawa/writing_style_prompt.mdを参照してください。2. 指定した作品”N000024_家電量販店のヤンキーメイド奮闘記”に必要なproposal.mdなどを、適宜作成してください。3. 指定した作家に、novel_text.mdの初稿を執筆させ、保存してください。4. 編集者にE0004_Moekoをアサインしてください。編集者の定義情報としてeditors/E0004_Moeko/editor_prompt.mdを参照してください。5. 指定した編集者に、novel_text.mdをレビューさせ、改善点とその解決策をeditors/E0004_Moeko/edit_log_N000024.md に記録してください。6. 記録された改善点と解決策をもとに、再び作家がnovel_text.mdをリライトし、上書き保存してください。7. 上記ステップ5と6を、3回繰り返してください。

## 小説のコンセプト:「家電量販店で働いているヤンキーのメイドが、実際に使った本音をぶっちゃけながら親身に顧客対応してくれるお話」です。主人公は「春に都内の大学に入学した男子大学生」にしてください。

当然ですが、上記のプロンプトはそのままでは動かないと思います。writer_code、writer_name、editor_code、editor_nameは、ご自身の環境にあるファイルにしたがって変更してください。次回の記事ではこれらのファイルの作り方についても解説するので、分からなかったらもう少しだけお待ちください。

今回は入れませんでしたが、サイクルごとにgitにコミットする指示を入れてもいいかもしれません。

テスト

では「小説執筆・編集ループ実行指示プロンプト」の「入力パラメータ」部分を適宜書き換えてRoo Codeでタスクを実行してみます。

まずはテストとしてコストの安い「GPT-4.1 mini」で試してみましょう。

作家や編集者の定義ファイルをタブで開いておくと

モードをWritingにするのも忘れずに。

こんな感じで、本文→編集ログ作成→レビューを元に修正のサイクルが回っていればOK。

writer_prompt.mdやeditor_prompt.mdが読み込まれないことがあるので、その場合は中断してやり直しましょう。

できあがった本文はnovel_text.mdに保存されていますが、「GPT-4.1 mini」なのでクオリティは低いです。

本番

では、モデルをo1に変更してみましょう。

GPT-4oでもいいですが、クオリティは低いですね。

小説の定義ファイルが作成されなかったり、作家や編集者の定義ファイルが読み込まれないとクオリティが下がるので、プロセスは慎重に監視しておきましょう。

若干、o1が指示通りに動いてくれない印象があります。以下の出力結果も、小説の定義ファイルはproposal.mdしか作成されていません。プロンプト内で明示的にファイル名を指定した方がいいかもしれません。私はすでに試行錯誤で数千円溶けたので、完璧な出力はあきらめました。

まずは編集者エージェントのレビューログを見てみましょう。指定したeditorのフォルダの下に、edit_log_N000024.mdのように作成されています。

<edit_log_N000024.md>

## 第3回レビュー

**熱量コメント:**
今回のリライトもめちゃくちゃ良いです! ヤンキーメイド先輩の“弱さ”や“抱えている想い”をのぞかせるシーンが追加され、読者としてはさらに感情移入しやすい流れになりました。ファミレスでの仲間たちとのやりとりや、ちょっとしたラブコメ風味もばっちり。読んでいて「はいはい、ここ尊すぎます〜!」と興奮しちゃいます。だんだん主人公とメイド先輩の距離が縮まっていく感じが素晴らしいです。

**改善点と解決策:**
1. **より“仲間キャラ”の存在感を強める**  
   - 篠原さんをはじめ、店員仲間の名前や簡単な性格をもう少し書き込むと、チームワークのドラマが強調され、物語にさらなる広がりが出ます。  
   - みんなで協力してトラブルを乗り越えるシーンなども密度高く描いていただけると、読者の「仲間って最高!」感が爆上がりします。

2. **ちょっとしたライバル要素を入れるのもアリ**  
   - 同じバイト仲間の中に、主人公を密かに意識している人がいるとか、メイド先輩に対して“親しみ+ジェラシー”を感じている人がいるとか、感情のぶつかり合いがあると盛り上がります。  
   - 些細なことでいいので、一波乱あればキャラの魅力がさらに深まっていきます。

3. **メイド先輩の夢や目標をもう少し鮮明に**  
   - 「今はこの店で踏ん張っているけど、いつかこんなことをやってみたい」みたいな将来像を、彼女の口からぼんやり語らせても面白いです。  
   - 読者としては「彼女にはこんな道があるんだな。主人公とどう絡んでいくんだろう?」と想像を膨らませられます。

4. **大学生視点(主人公)の学業やサークル活動との兼ね合い**  
   - せっかく大学生活を始めた主人公なので、レポートや試験、サークルメンバーとの飲み会などがキラッと挟まるだけでリアリティが上がります。  
   - そこに疲弊した姿も入れて、「でも頑張るぞ!」という対比が自然と作り出せそうです。

これで三回目の編集提案となりますが、まだまだ伸びしろは無限大だと思います! ぜひ最後に、脇キャラのバックボーンや店内チームの結束感を深めつつ、主人公とメイド先輩の距離がぐっと近づくようなエピソードを加えてリライトしてみてください。ヤンキーメイド先輩の意外な一面をもう少しチラ見せするだけでも、ドキドキ感は加速するはずです!

上書きされているので第1回と第2回は消えていますが、このモエコというエージェントは結構フランクなので、こんな感じのレビューをしてくれます。アニメや漫画、ライトノベルに特化した、推しへの情熱を語るエージェントです。

編集者エージェントのペルソナ(人格)については次回で詳しく触れます。

そしてこの熱いレビューを受けて改善された本文がこちら。

<novel_text.md>

夜の閉店作業を終えたあと、ぼくは倉庫奥のロッカーで私物を取り出しながら、何となく今日の出来事を振り返っていた。バイトに慣れてきたつもりなのに、予定外のハプニングが多い一日だった気がする。新商品入荷の手違いで店舗が在庫不足になったり、急に割引キャンペーン日程が変更になったり……。その度に混乱する店の雰囲気を見かねて、メイド先輩が「落ち着けーっ!」とみんなを仕切ってくれた。おかげで大騒ぎは免れたけれど、あれがなかったらもっとひどいパニックに陥っていたかもしれない。  

正直、ぼくはまだ新入りだから状況を把握するのも精一杯。だけど、バタバタの最中でもメイド先輩は両手いっぱいの荷物を持ちながら、冗談めかして仲間を笑わせつつきちんと仕事を回していた。「私に任せとけ!」と言う口調は相変わらず荒いのに、半端じゃない頼もしさを感じるのだから不思議だ。  

「おーい、新人くん、大丈夫か? 今日はドタバタだったからさ、変にメンタル壊してねぇ?」  

怖いような優しいような、そんな声が肩越しに響いた。振り返るとメイド先輩がやや疲れた顔で立っている。あれだけ動き回っていたのに、まだ体力が残っているのかと思えば少し呼吸が荒い。  

「メイド先輩こそ大丈夫ですか? 今日は特にトラブル続きでしたし、それ対応してたの全部先輩じゃないっすか……」  

「ま、さすがにちょっと疲れたわ……でもほら、ここで倒れちゃ“やんちゃメイド”の名がすたるし? まだ根性出せんだろ—って思えば、案外どうにかなる。」  

そう笑いながらロッカーをバタンと閉める彼女。けれど、その一瞬だけ寂しそうに眉を寄せた気がする。店の運営を支える立場として、無理をしているんじゃないだろうか。彼女ならきっと「気合で乗り切るっしょ」って言いそうだけど、ちょっと無茶していないか心配になる。  

その時、別のスタッフ――篠原さんという女性が通りかかった。社員として店を切り盛りしているしっかり者で、メイド先輩ともそこそこ仲がいいらしい。  

「今日はありがとね。メイド先輩がいなかったら、私たちあたふたするだけだったかも。本当に助かったわ。」  

「いやいや、私一人じゃ何もできないっしょ。みんなのおかげだって……」  

「でもさ、あまり無茶しないでよ? 先週だってリストチェックまともに休憩もせずにやってたじゃない。もうちょっと分担してくれていいのに……」  

篠原さんがそう言ったとき、メイド先輩はわずかに笑顔の陰を落とす。ぼくは二人の空気を壊さないように固まったままで聞いていたが、彼女が「いや、あの……」と小声で何かを言いかけて止まるのを見て、胸がきゅっと締まるのを感じた。  

「うん、ありがとね。じゃ、今日はここまでにしよ。お疲れ〜」篠原さんは軽く手を振って先に事務所へ戻っていった。メイド先輩はその背中を見送り、微妙な沈黙に飲まれている。  

「先輩……? 大丈夫ですか?」  

「ん? ああ、何でもないよ。ちょっといろいろ思い出しちゃってね。……ま、単に疲れたってだけで深い理由はねーよ。ごめん、気使わせたな?」  

一瞬寂しげだった瞳が、急に「いつもの強気モード」に入り直したように感じた。たぶん彼女は、過去の自分と比べて今の働き方が本当に“正解”なのか、時折不安になっているのかもしれない。  

それでも、やっぱり人前では明るく振る舞う。そんな強さと弱さが同居している姿を見ると、ぼくはますますこの人に惹かれていく自分を感じてしまう。いや、惹かれるなんて大げさかもしれないけど、少なくとも何かしら特別な興味を持っているのは確かだ。  

「……よっし、気分転換に何か食べに行くか!」  

と、メイド先輩が急に声を張り上げた。ロッカー室にいた他のバイト仲間たちが「え、今からっすか?」と驚いてこっちを見ている。  

「ほら、忙しかった日のあとって変にお腹空くじゃん? ファミレス行って軽く食ってこーぜ、奢れって言わないからさー。」  

ぶしつけな勧誘に見えるけど、彼女にしては珍しく“誰かに助けを求めてる”ようにも思えた。つい手を挙げて「自分もいいですか!」と答えてしまうぼく。あとのスタッフ数人も「行きましょう行きましょう!」と盛り上がり、急遽ファミレス反省会が決定した。  

夜遅く、店を出て数分の場所にあるファミレスに集まると、疲れた身体を労わるように全員が好き勝手なものを注文し始める。ハンバーグ、オムライス、パフェ……深夜にこんなに食べちゃって大丈夫かと思うけれど、今日ぐらいはいいかもしれない。  

「メイド先輩、マジですげーっすよね。昼の在庫トラブルの時、すぐ掛け合って他店から在庫かき集めたんスよね?」  

「それなー、私絶対ムリだわ。電話苦手だし、営業所との交渉めんどくさいもん。」  

他のバイト仲間が、口々に彼女を称賛する。メイド先輩は最初こそ「やめろ、そんな持ち上げんな」なんて言って照れていたが、最終的にはちょっと嬉しそうに歯を見せて笑っていた。  

「……家電量販店なんて、こんなトラブルしょっちゅうあるから。さばけるようにコツを掴んどくと楽になんぞ。」  

ぼくはその様子を見ながら、ふと訊いてみたくなる。  
「先輩って、将来はどうしたいんですか? ずっとここで働いたりとか?」  

その質問に、仲間たちは「そういえば気になるかも〜」と一斉に耳を傾ける。しかし、メイド先輩はハンバーグをフォークでつつきながら曖昧な表情を浮かべた。  

「正直まだ決めてないよ。店長のおかげで“面白おかしく働く”って道が見つかったけど、いつまでもこんなメイド服でヤンキーやってるわけにもいかねーし……。まあ、新しい接客スタイルを極めてやりたいなとは思うけどな。……やるならとことんやるってのが、あたしの性分だし。」  

その言葉に、ぼくは再び心臓がドキリとなる。そうやって笑いながらも、本当にやりたいことが見えないからこそ焦っているのではないか――そんな憶測が頭をよぎるからだ。  

「でもさ、先輩がこの店にいるだけで、普通じゃ味わえない空気感になってると思うんすよね。なんかこう、やたら元気が湧くっていうか……。」  

勇気を振り絞って、それだけは伝えてみたかった。彼女が弱さを見せるたびに、こっちまでも胸が痛くなる。でもそんな彼女の姿に、ぼく自身も力をもらっていることを伝えたかった。  

「ん……まぁ、ありがとな。新人にそこまで言われると照れるわ。」  

そう言って俯く彼女の頬が、ほんの少し赤く染まっているように見えたのは気のせいだろうか。いや、まさかあのメイド先輩が照れているなんて、そんなことあるはず――。  

バイト仲間たちは「おいおい、いい雰囲気じゃ〜ん」と茶化し気味に笑い合う。ぼくは思わず「あ、いや、そんなんじゃ!」と慌てて否定しようとするけど、なんとも言えないこの微妙な空気が生まれたまま、さらに弾む会話の波に飲み込まれていく。  

それからは何気ない雑談が続いた。篠原さんの面白トラブル備忘録とか、他のスタッフがこっそり抱えている悩みや、バイトたちの大学生活の話なんかも飛び交う。普段は鏡のように整然とした店舗の中では知り得ない一面が、こういう場所では自然と明かされていく。  

時間を忘れて喋り込んだ末、気がつけばファミレスの深夜帯料金が適用される時間に突入していた。会計を済ませ、店を出たころには、外は静かな夜の空気で満たされている。街灯の照らす道路には数台のタクシーが行き交い、春の風が肌を撫でる。  

「じゃあ、今日はマジでお疲れさーん。また次のシフトでもよろしく。」  

仲間たちがそれぞれの帰路へ散っていくなか、ぼくとメイド先輩はたまたま同じ方向へ向かうことになった。人影の少ない道を並んで歩く、気まずくはないけど妙に意識してしまうこのシチュエーション。  

彼女は気だるそうに口を開く。  
「……あたし、昔から不器用なのね。何かを始めても途中で投げ出したり、ぶち壊そうとしたりしてきた。だからヤンキーだの何だのって言われるようになったんだけど。」  

そこにどこか後悔の色が混じっている気がした。過去を引きずるのはいやだと言いつつ、ふとした拍子に思い出して暗さを背負ってしまう瞬間があるのだろう。  

「でもこの店は、店長やみんなが好き勝手な私を笑って受け入れてくれて、“ならいっそメイド服でも着てインパクト出せ”って発想になったわけよ。普通じゃ考えられないよな。だから私も応えたいって思って、気合い入れて接客やってる……。」  

用水路沿いを歩く足取りは、どこか朝帰りのような雰囲気を漂わせながら、次の角を曲がる辺りでふっと止まる。ぼくもつられて足を止める。  

「……こんな話、あんま誰にもしてねーんだけどさ。最近は、客に感謝されるたびに“いい仕事してるじゃん”って自分で自分を褒めてやりたい気分になるわ。うん、こういうのもアリだなって思えるくらいには前向きになれた。だから……ほんと、ありがと。新人に対して強がるだけじゃなく、少しは弱音吐けて助かる。」  

その最後の言葉は、思いがけないプレゼントのようだった。ぼく自身、今の大学生活や将来について漠然とした不安を抱えているからこそ、彼女の背中を見て「自分もやれる」と踏ん張ってる面がある。そんな繋がりを、彼女も感じ取ってくれている――それが何より嬉しい。  

「先輩があの店にいてくれるから、ぼくも頑張れるんですよ。何か一緒に成長してる実感があるというか……まぁ、気のせいかもしれないですけど。」  

「ふふっ、気のせいじゃねーと思うよ。……でも、ありがとね。」  

まばらな街灯の光に照らし出された彼女の横顔は、いつもより柔らかな表情になっていた。ヤンキー風で強面のはずなのに、どこか安心できる温もりを感じる。これって……いや、そんなこと考え始めたらキリがないし、緊張で頭が真っ白になりかねない。  

結局、「じゃあ、お疲れっ!」と別れたあと、ぼくは深く息を吐いて自転車にまたがった。こんな時間なのに不思議とさわやかな気分だ。彼女の見せるささやかな弱さや、過去の話を打ち明けてくれたことが、ぼくの中でじわじわと大切な記憶になりつつある。  

この家電量販店でのバイトが、単なるアルバイトの域を超えてきたように感じる。それは大げさな言い方かもしれないけど、確かに日々の中で芽生える思いがあるのは事実だ。明日もみんなに迷惑をかけないようがんばろう、いや、それ以上に自分ができることを精一杯やってみようと思える。  

もしかしたら、メイド先輩も心のどこかでぼくを頼りにしてくれる日が来るのかもしれない。そこには小さなドキドキや、ほんのりとしたトキメキだって混ざっている。想像すると照れくさいけど、絶対に嫌な気持ちはしない。  

夜が更け、静かな街を自転車で抜けていく。街灯を数えながら、ぼくはそっと笑みをこぼす。長いようであっという間だった一日。だけど、その積み重ねがちゃんと次につながっている、と感じる瞬間があるのだ。  

そうしてまた、家電量販店の看板を朝の光が照らす頃。きっと大騒動や些細なトラブルが待ち受けているだろう。だけど、その度にぼくらは笑い合って乗り越えて、少しずつ先へ進んでいくんだと思う。メイド先輩が言うように、“どうせやるならとことんやる”――その言葉が胸に響き続けて、ぼくを奮い立たせる。  

そしてもし、時間とともに彼女が自分の未来を見つけていくならば、ぼくはその横で一緒に走ってみたい。そう思えるくらいに、もう彼女の存在は大きくなり始めていた。何から何まで含めて、ヤンキー風のメイド姿がむしろかけがえのないものに思えてくる。  

このバイト先での日常が、ぼくの大学生活をより“特別な舞台”へと変えていく予感がする。次はいったいどんな事件が起こるのか、正直少し怖いけれど、それ以上にワクワクが止まらない。ギャップだらけのメイド先輩と一緒にいる限り、退屈なんて言葉はどこにも転がっていない気がするんだ。  

もう少し距離が縮まったら、彼女にもっと突っ込んだ話を勇気を出して聞いてみたい。また一歩成長して、彼女の横に並んで走れるくらいに――そんな想いを抱きながら、夜の風を感じて今日も帰路へと急いだ。

元の文章を残していなかったので詳細は不明ですが、レビューのログで指摘されている部分が改善されている跡を感じますね。

「篠原さんの性格をもう少し書き込むといい」というアドバイスに対して、

その時、別のスタッフ――篠原さんという女性が通りかかった。社員として店を切り盛りしているしっかり者で、メイド先輩ともそこそこ仲がいいらしい。

と書かれています。

また「ヤンキーメイド先輩の“弱さ”や“抱えている想い”をのぞかせるシーンが追加され、読者としてはさらに感情移入しやすい流れになりました。」とあるようにヤンキーメイド先輩の“弱さ”も描写されていて、読み応えが感じられるのではないでしょうか。

前回の記事で生成した文章と比較してみると、前回は主人公がお店にやってきた客だったのに対して、今回は同じバイトとして描かれましたね。前回と共通しているのはコンセプトだけなので、設定が変わったのは偶然かもしれません。

とはいえ、主人公とヒロインを描く設定として、主人公が客だと一定の距離感がありますが、バイト仲間とすることでより深い関係性を描けます。過去の履歴が分かりませんが、推しへの愛を語る編集者からのフィードバックが機能している可能性があります。

おわりに

さて、このようにWriting Memoryを活用することで、執筆と編集のサイクルを回すことができました。

編集者エージェントの指摘したポイントを改善していくことで、作品のクオリティが上がっているのではないかなと思います。

次回は、エージェントのペルソナについて解説します。お楽しみに!

お知らせ

ここで、3つお知らせ。

1) インプレス様より「小説を書く人のAI活用術 AIとの対話で物語のアイデアが広がる」が刊行されております!
山川健一先生、今井昭彦先生との共著で、私は生成AIを活用した具体的な執筆方法の解説などしております。ぜひぜひご一読ください!

2) noteのマガジン「かもめAI小説塾」ではAIを活用した小説の執筆法を公開しております。私の手法は「作家らしさ」を作品に落とし込むことを前提としているので、AIを使わずに人間が書く場合にも応用できるテクニックになっています。ぜひ他の記事もご覧ください。

3) 「AI小説に興味のある人が集まったらいいな」という軽い気持ちでDiscordのサーバー「鴎文街」を作ってみました。読みは「おうぶんがい」です。

相談や質問に葦沢が必ず答えるというものではありませんが、情報共有や交流の場になればと思います。

参加者の方が本サーバーを紹介するのもご自由にどうぞ。


いいなと思ったら応援しよう!