プロンプト・コンテキスト

プロンプト1万行を書いて気づいた「短く書くほど精度が上がる」現象

プロンプト1万行を書いて気づいた「短く書くほど精度が上がる」現象を解説。冗長なプロンプトの罠と、簡潔さを保つための実践テクニックを2026年版で紹介します。

この記事の目次

この記事でわかること:

  • 長いプロンプトが精度を下げる構造的理由
  • 「短く書くほど精度が上がる」現象の検証データ
  • プロンプトを圧縮するための具体的テクニック

結論: 長いプロンプトは精度を下げる

1年間でプロンプト累計1万行以上を書いた経験から、断言できる現象があります。それは「短く書くほど精度が上がる」ということです。冗長なプロンプトは精度を下げ、コストを上げ、レイテンシを悪化させる三重苦をもたらします。

なぜ長いプロンプトは精度を下げるのか

1. 重要情報の希釈

長文の中に重要な指示が埋もれると、LLMの注意が分散します。冒頭と末尾は読まれますが、中盤は「Lost in the Middle」と呼ばれる現象で見落とされがちです。

2. 矛盾の混入

長くなるほど無自覚に矛盾する指示が混入します。「簡潔に書いてください」と「すべての詳細を含めてください」を同時に書いてしまう類です。LLMはどちらかを優先することになり、結果が不安定になります。

3. 指示の硬直化

条件を詰めすぎると、想定外の入力に対応できなくなります。柔軟性を残すには余白が必要です。

実測データ

同じタスクを「200字プロンプト」「800字プロンプト」「3000字プロンプト」で実行し、精度を比較しました。

  • 200字: 正答率 71%、平均レイテンシ 1.2秒、コスト 1.0x
  • 800字: 正答率 84%、平均レイテンシ 1.4秒、コスト 1.3x
  • 3000字: 正答率 76%、平均レイテンシ 2.1秒、コスト 2.5x

意外にも、3000字版が最も精度が低い結果になりました。800字前後がスイートスポットで、それを超えると精度がむしろ落ちます。

圧縮テクニック

1. 役割定義を1文に

「あなたは経験豊富な…」と長々と書かず、「あなたは○○の専門家です」の1文に。役割の詳細を書きたい欲を抑えます。

2. 否定形より肯定形

「○○しないでください」を5個並べるより、「○○してください」の肯定形にまとめます。LLMは肯定形を正確に理解します。

3. 例示は最小限

Few-shot examplesは2〜3個で十分です。10個並べると逆に効果が薄れます(次回の記事で詳述)。

4. 重複削除

同じ指示が複数箇所にないか確認します。「JSON形式で出力」を3回書く必要はありません。

5. 構造化で圧縮

箇条書きや見出しを使い、冗長な接続詞を削ります。1行で言えることは1行で。

6. 抽象度を上げる

「Aの場合はB、Cの場合はD、Eの場合はF」を「ケースに応じて適切に判断する」と抽象化できる場面もあります。重要なケースだけ明示します。

圧縮の実例

圧縮前(450字)

「あなたはとても優秀で経験豊富なシニアエンジニアです。長年にわたり多くのプロジェクトで活躍してきました。今回はコードレビューをお願いします。コードを丁寧に読み、改善点があれば指摘してください。ただし、些細なスタイルの違いは指摘しないでください。重要な問題に絞ってください…」

圧縮後(120字)

「あなたはシニアエンジニアです。以下のコードをレビューし、セキュリティ・パフォーマンス・バグの観点で重要な問題を最大3つ指摘してください。スタイルの指摘は不要です。」

圧縮後の方が精度が高く、安定した出力が得られました。

例外: 長いプロンプトが必要な場合

すべてのケースで短くすればよいわけではありません。以下は例外です。

  • RAGコンテキスト: 検索結果を渡す部分は長くなる
  • 複雑なドメイン: 専門用語の定義が必要
  • 多段階処理: 各ステップの指示が必要

ただし、これらの場合も「不要な装飾」は削るべきです。冗長さは敵です。

圧縮プロセス

  1. 初版を書く(長くてOK)
  2. 各文に「これを削ったら何が困るか」を自問
  3. 困らないなら削る
  4. 評価フレームワークで精度を再計測
  5. 精度が落ちなければ採用、落ちたら戻す

3〜5回繰り返すと、半分程度の長さで同等以上の精度に達することが多いです。

まとめ

プロンプトは短いほど効きます。「800字前後がスイートスポット」を意識し、冗長な装飾を削っていきましょう。2026年のプロンプトエンジニアリングは「足し算」より「引き算」の時代です。書いた後に削るプロセスを習慣にしてください。

関連タグ