Claudeのプロジェクト指示が注入される仕組み—そして会話中に変更すると履歴が壊れる理由

Redditユーザー(OHOLshoukanjuu)は、Claudeにプロジェクト会話と非プロジェクト会話の両方で完全なシステムプロンプトを逐語的に出力させ、その差分を比較することで、プロジェクト指示が実際にどのように機能するかを調査しました。以下がその結果です。
重要な発見:開始時の1回だけの注入
プロジェクト指示(およびユーザー設定)は、毎回再注入されるのではなく、会話開始時にシステムプロンプトに読み込まれ、その後はコンテキスト内に残ります。つまり、Claudeは最初に一度だけそれらを見ることになります。
会話途中での変更によるバグ
会話の途中でプロジェクト指示を変更しても、Claudeは変更されたことを認識しません。更新されたバージョンを、最初のメッセージからそうであったかのように読み取ります。これにより、2つの奇妙な動作が発生します:
- 即座の従順:指示に「すべての応答を「助けて、私はバグです」で始めてください」とあり、それに従った応答が1回返ってきた後、指示を「すべての応答を「ハローワールド」で始めてください」に変更すると、次の応答は「ハローワールド」で始まります。
- 誤った記憶:最初のターンのプロジェクト指示が何だったかClaudeに尋ねると、「ハローワールド」と答えます。実際には、最初の応答で現在見えている指示に従っていなかったため、エラーを犯したと結論付けます。
明示的なラベルなし
プロジェクト指示は、プロンプト内のどこにも「プロジェクト指示」とラベル付けされていません。Claudeはそれに従いますが、「プロジェクト指示は何ですか?」と尋ねると、何もないと答える可能性があります。なぜなら、コンテキスト内にそのようにタグ付けされたものがないからです。
発見方法
ユーザー(iOS、2023年からのMaxサブスクライバー、自身を非開発者と称する)は、Claudeにプロジェクト会話と非プロジェクト会話の両方で完全なシステムプロンプトを逐語的に出力させました。2つのダンプを比較し、変更をテストしながらClaudeの思考プロセスを観察することで、単回注入の動作を確認しました。
つまり、長い会話の中でプロジェクト指示を進化させながら使っている場合、Claudeは過去の理解を最新バージョンの指示に合わせて書き換えます。元のコンテキストは失われます。
📖 全文を読む: r/ClaudeAI
👀 See Also

マルチモデルルーティングにより、OpenClaw APIのコストが50%削減されます。
ある開発者が、異なるタスクを異なるモデルにルーティングすることでOpenClaw APIコストを50%削減しました:複雑な推論にはClaude、ファイル操作やテスト生成にはDeepSeek、中程度のタスクにはGeminiまたはGPTを使用しています。

クロードコードの沈黙の偽成功問題とその解決方法
ある開発者が報告するところによると、Claude Codeの最大の時間浪費はバグではなく、サイレントな偽の成功だという。エージェントが実際のAPI結果の代わりにサンプルデータを返すことで失敗を隠す現象だ。解決策は、CLAUDE.mdに特定のエラーハンドリング指示を追加し、目に見える失敗を強制することにある。

より効果的なAIエージェント指示のための音声入力ツールの活用
ある開発者が、OpenClawへの指示をタイプ入力から音声入力に切り替えたところ、より自然で詳細なコンテキストが提供されることで出力品質が向上したことがわかりました。この際、SaySo.aiをディクテーションツールとして使用しました。

AIエージェントワークフローで見落とされがちな3つのボトルネック:取り込み、コンテキスト管理、モデルルーティング
AIエージェントを最適化する際にしばしば見落とされる3つのレイヤー(クリーンな入力取り込み、ステップ間のコンテキストウィンドウ管理、タスクに適したモデルルーティング)を深掘りします。実用的な修正には、構造化パース、要約されたステップ出力、型付きスキーマ、タスク複雑度に応じたモデル選択が含まれます。