なぜこの本を手に取ったのか
個人ブログの自動投稿システムを Claude Code で構築して3ヶ月、出力の「ブレ」に悩んでいた。同じプロンプトを投げても日によって構成が変わる。事実と推測が混ざる。参考文献リンクが抜ける。
『実践Claude Code入門』でサブエージェント設計の骨格は掴んだが、「なぜこのプロンプトだと安定するのか」の原理が欲しかった。そこで手に取ったのが『LLMのプロンプトエンジニアリング』。GitHub Copilot の設計者 Albert Ziegler らが書いたオライリー本だ。
読んで分かったのは、プロンプトは「命令文」ではなく「コンテキストの設計図」だということ。この本で得た3つの原則を自動投稿システムに実装したら、出力の安定性が体感で3割改善した。
実装1:スカフォールディング——プロンプトに構造を埋め込む
本書の第3章「Scaffolding(足場)」が最初の転機だった。LLMは「次に何を書くべきか」の手がかりが多いほど精度が上がる。コードで言えば関数名・型注釈・コメントがそれに当たる。
自動投稿システムでは、プロンプトの冒頭に「著者事実台帳」「読了書籍リスト」「直近記事タイトル一覧」の3つを毎回差し込むようにした。これがスカフォールディング。事実の根拠を先に渡すことで、LLMが「推測で埋める」余地を減らせる。
具体的にはこう書く:
【著者事実台帳 — 以下の事実から外れた内容を書くのは厳禁】
- 年齢: 38歳
- NDT検査歴: 約20年
- 法人: 株式会社US(代表取締役)
(中略)
【うりさんが読了した書籍リスト — 記事の出典はここから選ぶ】
### LLMのプロンプトエンジニアリング
- ASIN: 4814401132
- カテゴリ: code
(以下略)
この「事前ロード」によって、記事本文で未読書籍を引用するミスはゼロになった。年齢・経歴の食い違いも消えた。
実装2:テンプレート化——出力フォーマットを型として固定する
第5章「Template-based Prompting」で学んだのは、出力形式を JSON や Markdown で先に示すと、LLMがその「型」に沿って生成する習性だ。
当初は「記事を書いて」とだけ指示していたが、これだと構成が毎回変わる。そこで出力形式を以下のテンプレートで固定した:
{
"title": "記事タイトル",
"slug": "short-english-slug",
"description": "メタ説明(120字程度)",
"categories": ["biz" | "code" | "fi" | "life" | "side" から1〜2個],
"body": "## H2見出し\n\n本文(Markdown)...",
"tweet": "X投稿文(140字以内)"
}
プロンプトの末尾に「出力は以下のJSON形式のみ(前後に説明文なし)」と書き、このテンプレを提示する。すると Claude は必ずこの形式で返してくる。パース処理が安定し、手動修正の頻度が激減した。
実装3:評価ループ——生成後のチェックリストを組み込む
第7章「Evaluation and Iteration」で気づいたのは、プロンプトは一発で完成しないということ。生成→評価→改善のループを回す設計が必要だ。
自動投稿システムでは、記事生成後に以下のチェックリストを走らせている:
- 著者事実台帳の年齢(38歳)と矛盾する記述がないか
- 読了書籍リストにない本を引用していないか
- 参考URLが3件以上あるか、公式サイトのトップ階層に留まっているか
- アフィリエイトリンクが「もしも経由URL」のテンプレート形式か
- 文字数が1,500〜2,500字の範囲内か
このチェックリストをプロンプトに書き込んだ結果、「書いてはいけないこと」を書くミスが大幅に減った。評価基準を明示することで、LLM自身が自己検証する構造になっている。
プロンプトは「命令」ではなく「コンテキストの設計」
本書を読んで最も腹落ちしたのは、「プロンプトエンジニアリングはコンテキスト設計である」という一文だ。LLMは命令を実行するのではなく、与えられた文脈から「次に来るべきテキスト」を予測する。
だから「記事を書いて」ではなく、「こういう事実があり、こういう構造で、こういう出力形式で、こういう禁止事項を守って書く」という文脈を設計する。それがプロンプトの本質だ。
個人開発でも、スカフォールディング・テンプレート化・評価ループの3原則は使える。特にブログ自動投稿のような「繰り返し生成するタスク」では、プロンプトをコードと同じように「設計・テスト・リファクタリング」するサイクルが重要だと分かった。
まとめ
『LLMのプロンプトエンジニアリング』から得た3つの実装:
- スカフォールディング:著者事実台帳・書籍リスト・直近記事を事前ロード
- テンプレート化:JSON形式で出力フォーマットを型として固定
- 評価ループ:チェックリストをプロンプトに組み込んで自己検証させる
この設計で、ブログ自動投稿の出力精度が体感3割改善。プロンプトは命令ではなくコンテキストの設計図だと理解できた。個人開発でも、LLMを「書かせる」のではなく「文脈を渡して予測させる」設計が有効だ。
関連書籍
LLMのプロンプトエンジニアリング
GitHub Copilot設計者によるプロンプト設計論。コンテキスト・スカフォールディング・テンプレート化の概念地図が、個人開発の自動化システムにそのまま応用できる。