プロンプト設計
構造化プロンプトとチューニング。
プロンプト設計
プロンプトの主役は「一発で正解を出す文面」から「自分で直しながら回るループの設計」へ移っている。最新モデルは ツールを使って自律的にループを回す(gather context → act → verify → iterate)形で動く。だから書き手の仕事は、言い回しを磨くことより、そのループが正しく回り、正しく止まる条件を与えることになる。文面調整がゼロになるわけではなく、ループを設計する土台として位置づける。
ループを前提に書く
モデルは前の手の結果を見て次の手を決める。失敗したテスト出力が次の入力に戻り、読む→直す→再実行を自分で繰り返す。つまり1ターンの完璧な指示ではなく、繰り返しても破綻しない指示を書く。これがループ設計の出発点。
- ゴールと完了条件を先に書く — 「テストが通る」「
/healthが 200」「lint 警告ゼロ」など、モデルが自分で実行・判定できる検証可能な条件に落とす - 検証コマンドを渡す — 「変更ごとに
pytest -qを実行し、結果をそのまま報告。全部通るまで次に進まない」のように、自己申告ではなく出力に基づく判定を強制する - 停止条件を決める — リトライは 2〜3 回まで。それで通らなければ自走を止め、失敗を表に出す(無限ループ・場当たり修正を防ぐ)
- ズレたら follow-up より revert — 意図と違う出力は、追加指示で重ねるより変更を戻す → 不足コンテキストと完了条件を足す → 再実行の方が速くきれいなことが多い(→ Plan からやり直す)
ループを「自分で回す」のではなく「回るように設計する」のが要点。実行側の仕組み(harness・retry・並列)は ハーネスと文脈エンジニアリング に分離している。
何を毎回読ませ、何を一度だけ伝えるか
公式の整理では、焦点は prompt engineering から context engineering(毎ターン何をコンテキストに載せるかの設計)へ広がっている。コンテキストは有限資源で、増やすほど精度が落ちる(context rot)。最小で高シグナルなトークンに絞るのが原則。
- 毎回守ることは Rules /
CLAUDE.mdに置き、毎ターン読ませる。今回だけの指示はプロンプトで渡す(→ Rules / Skills / Plan の使い分け) - 全部を先に詰め込まず、ファイルパス・クエリなどの参照を渡して必要時に読み込ませる(just-in-time)。grep・glob で自分で辿らせる方が、肥大したコンテキストより精度が高い
- 長丁場のタスクは
tasks/todo.mdなど外部メモに進捗を書かせ、文脈が溢れても辿れるようにする(→ Plan の置き場所) - システムプロンプトは適切な抽象度で。if-else を丸ごと書く硬さでも、曖昧すぎる一般論でもなく、その中間を狙う
書き方の基本(ループの各手を読みやすく)
- XML タグや見出しでブロックを分け、モデルが参照しやすくする(
<instructions>/<context>など) - 技術スタックはバージョン付きで宣言(モデルは複数世代の知識を混同しうる)
- 禁止事項(Negative instructions)を明示 — 「〜しない」と「〜する」は同じ重要度
- 例示(few-shot)は edge case を羅列せず、代表的で多様な数例を本番と同じスキーマで揃える
- 繰り返す依頼は Skills / Commands に昇格し、プロンプトから消す
- プロンプトはコードと同様にレビュー・バージョン管理する
公式: Anthropic — Prompt engineering / Effective context engineering for AI agents
claude.ai 向け system prompt は文体の参考(箇条書き最小・コードは Markdown・単純な依頼は散文)。詳細は AIツールメモ。
ループを評価する
実証的チューニング — ループ自体を評価する
言い回しではなく「ループが安定して通るか」を測る。書き手の自己再読は評価の代替にならない。
- 代表シナリオを 2〜3 件固定(入力・成功条件をファイル化)
- ルール / プロンプトを1 テーマだけ変えて再実行(差分を追えるようにする)
- 自己申告 + メトリクス(手数・時間・再試行回数)を表に記録
- 連続 N 回クリアで採用。失敗例は
tasks/lessons.mdへ
深掘り(別エージェントを Evaluator にしてバイアスを排除する Maker-Checker 型評価): empirical-prompt-tuning(原典 SKILL)。
クイックスタート Step 3 後。完了 → Phase 2
ここが本フローの中心。 先に rules・Skills・docs の置き場を決め、「毎回守ること」と「今回だけの指示」を分ける。Phase 1 を整えてから Phase 2 以降に進む。