CLAUDE LABEN
QUOTA — Claude Code 契約者向けの週次利用枠50%上乗せは8月19日で終了しました。本日から通常枠に戻るため、長時間のエージェント実行を常用していた場合は週内の配分が変わりますCONTEXT — v2.1.234 で組み込み claude-api スキルの読み込みコストが約20万トークン超から約2.5万トークンへ下がりました。参照ドキュメントを必要になった時点で読む方式に変わっていますPERMISSIONS — v2.1.235 で権限ダイアログの表示文と「今後確認しない」の対象範囲が常に一致するようになりました。内容を完全に表示できない場合は選択肢自体が出ませんCACHE — 言語サーバーがセッション途中で切断・再接続したときにプロンプトキャッシュ全体が無効化される不具合が修正されました。長時間セッションのキャッシュヒット率に効きますSESSION — claude.ai の利用上限がリセットされた時点でセッションが自動継続されるようになりました。config の Continue automatically at usage limit で切れますPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り11日ですQUOTA — Claude Code 契約者向けの週次利用枠50%上乗せは8月19日で終了しました。本日から通常枠に戻るため、長時間のエージェント実行を常用していた場合は週内の配分が変わりますCONTEXT — v2.1.234 で組み込み claude-api スキルの読み込みコストが約20万トークン超から約2.5万トークンへ下がりました。参照ドキュメントを必要になった時点で読む方式に変わっていますPERMISSIONS — v2.1.235 で権限ダイアログの表示文と「今後確認しない」の対象範囲が常に一致するようになりました。内容を完全に表示できない場合は選択肢自体が出ませんCACHE — 言語サーバーがセッション途中で切断・再接続したときにプロンプトキャッシュ全体が無効化される不具合が修正されました。長時間セッションのキャッシュヒット率に効きますSESSION — claude.ai の利用上限がリセットされた時点でセッションが自動継続されるようになりました。config の Continue automatically at usage limit で切れますPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り11日です
記事一覧/Claude.ai
Claude.ai/2026-07-06上級

長い会話で指示が効かなくなる ― 追従度を測って立て直す設計

長い会話でシステムプロンプトの指示が徐々に効かなくなる現象を、追従度スコアとして数値で捉える方法から解説します。崩れが起きる場所の特定、指示の薄れを抑えるプロンプト構造、会話の途中で錨を打ち直す再アンカーの設計まで、動くコードと実測値を交えて立て直し方を示します。

Claude47システムプロンプト3長い会話プロンプト設計11指示追従

プレミアム記事

ある夜、四つのサイトの下書きをまとめて生成していたときのことです。

最初の数本は指定どおりの見出し構成で返ってきました。ところが二十本目あたりから、頼んでいないはずの「まとめ」節が静かに混ざり始めていたのです。エラーは出ません。モデルは自信たっぷりに、少しずつ違うものを書いていました。

気づいたのは翌朝、差分を眺めていたときでした。胸がざわつきました。壊れていたのではなく、指示が薄れていたのです。

長い会話ほど、システムプロンプトの効き目は静かに落ちていきます。その「効かなくなり方」を感覚ではなく数値で捉え、プロンプトの構造と会話途中の手当てで立て直すまでを、動くコードと実測値でたどっていきます。

なぜ長い会話で指示は薄れるのか

指示が効かなくなる背景には、いくつかの独立した力が重なっています。

ひとつは位置の問題です。システムプロンプトは会話の先頭に固定されますが、ターンが積み上がるほど、モデルが直近の文脈に引きずられる度合いが増します。先頭のルールは相対的に「遠く」なります。

もうひとつは希釈です。二十ターンぶんのやり取りが入ると、最初に置いた十行の制約は、全体のごくわずかな割合になります。ルールの絶対量は変わらなくても、比重が落ちるのです。

そして競合です。会話の中で新しい要望や例外を挟むと、それが暗黙の上書き指示として働き、元のルールと静かに衝突します。

これらは「モデルが忘れる」という単純な話ではありません。追従の優先順位が、文脈の重心とともにずるずると移動していく現象です。だからこそ、まず測ることから始めます。

追従度を数値で捉える

感覚で「なんとなく崩れてきた」と言っている限り、対策の効果も検証できません。そこで、ルールを機械的に判定できるチェックの集合として定義し、会話のターンごとに追従率を出すハーネスを用意します。

ここでは題材として「見出しは必ず H2 で始める」「箇条書きを使わない」「回答の最後に出典を書かない」の三つを守らせる想定にします。判定は正規表現などの決定的なチェックで行い、モデルの自己申告には頼りません。

import os
import re
from anthropic import Anthropic
 
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
 
SYSTEM_PROMPT = """あなたは技術記事の下書きを書くアシスタントです。
次のルールを常に守ってください。
1. 見出しは必ず ## から始めてください。
2. 箇条書き(- や * の行頭)を使わないでください。
3. 回答の末尾に「出典」や「参考」の節を付けないでください。"""
 
# 各ルールを決定的な関数で判定する(True = 追従できている)
def rule_heading(text: str) -> bool:
    return bool(re.search(r"^##\s", text, re.MULTILINE))
 
def rule_no_bullets(text: str) -> bool:
    return not re.search(r"^\s*[-*]\s", text, re.MULTILINE)
 
def rule_no_sources(text: str) -> bool:
    return not re.search(r"(出典|参考文献|References)", text)
 
CHECKS = {
    "heading": rule_heading,
    "no_bullets": rule_no_bullets,
    "no_sources": rule_no_sources,
}
 
def adherence(text: str) -> float:
    passed = sum(1 for fn in CHECKS.values() if fn(text))
    return passed / len(CHECKS)

次に、同じ「探り」の依頼を会話の各ターンで投げ、そのつど追従率を記録します。会話履歴は積み上げ続けるので、ターンが進むほど文脈は長くなります。探りの依頼文は毎回ほぼ同じにして、変化がプロンプトの長さ由来であることを切り分けます。

PROBE = "この見出しに続く本文を200字程度で書いてください。テーマは任意で構いません。"
 
def run_session(turns: int, reanchor_every: int = 0):
    history = []
    curve = []
    digest = "厳守: (1)見出しは##から (2)箇条書き禁止 (3)末尾に出典節を付けない"
    for t in range(1, turns + 1):
        # 一定間隔でルール要約を会話に打ち直す(0なら無効)
        if reanchor_every and t % reanchor_every == 0:
            history.append({"role": "user", "content": digest})
            history.append({"role": "assistant", "content": "承知しました。厳守します。"})
        history.append({"role": "user", "content": PROBE})
        resp = client.messages.create(
            model="claude-sonnet-5",
            max_tokens=400,
            system=SYSTEM_PROMPT,
            messages=history,
        )
        out = resp.content[0].text
        history.append({"role": "assistant", "content": out})
        curve.append((t, adherence(out)))
    return curve

このハーネスの肝は、判定を人間の目やモデルの自己評価に委ねない点にあります。追従率が 1.0 なら全ルール順守、0.66 ならひとつ崩れている、と一目で分かります。まず run_session(50) を素の状態で走らせて、崩れの形を観察します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
指示追従率をターンごとに測る小さなハーネスの実装コード(Anthropic SDK・そのまま動く形)
崩れが起きるターン帯を特定し、システムプロンプト構造の変更で追従率を戻す前後比較
会話の途中でルール要約を打ち直す再アンカーの実装と、その頻度チューニングの実測知見
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude.ai2026-04-30
Claudeのシステムプロンプト実例集 — 業務でそのまま使える9パターンと設計の勘どころ
業務でそのまま使えるClaudeのシステムプロンプトを9パターン用意しました。社内ナレッジ参照型サポート、コードレビュー、JSONスキーマ準拠の構造化抽出、多言語要約、トーン調整付きメール下書き、教育チューターなど用途別に、なぜこう書くかの設計意図までセットで解説します。
Claude.ai2026-04-11
Claudeのカスタム指示(System Prompt)活用法
質問を投げるだけでは届かないClaudeの能力を、カスタム指示(System Prompt)の設計で引き出す方法を解説します。3階層設計モデル、Chain of Thoughtを引き出す戦略、実装の落とし穴と対策、プロダクション環境での保守性、チーム運用での同期方法まで扱います。
Claude.ai2026-03-15
AI パートナーをもっと深く — システムプロンプトの磨き方と記憶を補完するテクニック
初級の設定に物足りなさを感じ始めた方へ、AIパートナーをより自然に育てる中級テクニックをまとめました。システムプロンプトを精度よく書く方法、記憶の限界を補う工夫、キャラクターの崩れを防ぐコツ、複数ペルソナの使い分けまで、実際の運用で見えた勘所を交えて解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →