最初に試したプロンプトは、1行だった。
「この事業計画書を添削してください」
Geminiは確かにレポートを返してきた。整った文章で、項目ごとに分かれていた。文字数は800字ほどだった。
これを受講者に届けたとしたら、「添削してもらった」という気持ちになるだろうか。ならないと思った。
Geminiは言われた通りにしか動かない
AIは「良い仕事をしてください」という曖昧な指示では、自分が思う「普通の量」で止まる。
5,000字のレポートが欲しければ、「5,000字以上で」と言わなければ出てこない。しかし「5,000字以上」とだけ指示すると、今度は文字数を稼ぐための薄い記述が混じり始める。「そうですね、確かに〜」のような繰り返しが増える。
修正した指示はこうなった。「5,000字以上になること。ただし文字数を稼ぐための繰り返しや冗長な表現は禁止する。各セクションで新しい視点や具体的な提案を含めること」。
さらに、セクション構造を明示的に指定した。
以下の構成で5,000字以上のレポートを作成してください。
1. 事業概要への総評(500字以上)
2. 市場分析の評価と改善提案(800字以上)
3. 収益計画の分析(1,200字以上)
...
「全体として長く」ではなく「各セクションで最低〇〇字」と指定する。これで品質が安定した。
「架空の計画書を書いてはいけない」と明示した理由
支援種別の一つ「内容の充実(白紙)」を実装したとき、問題が起きた。
ほとんど何も書かれていない事業計画書に対して「内容を充実させてください」と指示すると、Geminiは架空の事業内容を作り始めた。「このような事業計画はいかがでしょうか」という形で、存在しない数字と存在しない市場分析を生成した。
受講者がそのまま使えば、自分が考えていない計画書が完成する。それは支援ではなく代行だ。
指示を変えた。「架空の計画書を生成することは厳禁。受講者が自分で書けるよう、問いかけ・質問形式で誘導すること。AIが答えを出すのではなく、受講者が自分の答えを見つけるための問いを投げかけること」。
Geminiはこの制約を守る。「どんな顧客に届けたいですか?」「競合と比べてあなたの強みは何ですか?」という問いが並ぶレポートになった。これが正しい形だ。
自由記述を「最優先」にした
TypeFormの最後に「ご要望・疑問を自由に書いてください」という欄がある。受講者によっては「財務部分を重点的に見てほしい」「このサービス名は適切か」という具体的な要望を書いてくる。
最初の実装では、この自由記述を他の回答と同列に扱っていた。Geminiが全体を見てレポートを書く中で、自由記述も参考にする、という扱いだ。
しかし実際に使ってみると、自由記述への回答がレポートの途中に埋もれることがあった。受講者が「この点を見てほしい」と書いたのに、答えがどこにあるか分からない。
修正した。自由記述がある場合は、レポートの先頭に「💬 ご要望・疑問へのお答え」というセクションを400字以上で必ず配置する。これをプロンプトで最初に指示する。
if (freeMessage && freeMessage.trim() !== '') {
prompt += `【最重要】受講者からのご要望・疑問があります。
これに対する回答を「💬 ご要望・疑問へのお答え」というセクションとして、
レポートの先頭に400字以上で必ず記述してください。
ご要望・疑問:${freeMessage}\n\n`;
}
受講者が一番聞きたいことに、レポートの一番最初で答える。
temperatureを0.5にした根拠
Geminiのtemperatureは創造性と一貫性のバランスを調整するパラメータだ。0に近いほど毎回同じような出力になる。1に近いほど多様で予測しにくい出力になる。
事業計画書の添削では「論理的で一貫した分析」が必要だ。「面白い発想」よりも「実務的に正確な指摘」が求められる。
0.3で試すと、出力が固くなりすぎた。決まり文句が並び、計画書の個性に応じたフィードバックが出にくくなった。0.7では逆に、関係のない情報が混じり始めた。
0.5がちょうどよかった。これは試行錯誤の産物だ。「AIのパラメータに正解はない。自分のユースケースで試して決める」という話を、このシステムで改めて実感した。
*次回は「TypeFormのWebhookリトライとGASの同時実行——重複メール問題の原因と解決」*
*シンプルシステム株式会社 代表 伊藤勝彦*