SOUL.mdルールは、長時間のAIエージェントセッションでドリフトする問題とその修正方法

SOUL.mdのルールが最初の10〜15メッセージでは完璧に機能するのに、セッションの後半で無視される場合、システムが壊れているわけではありません。セッションがシステムの許容範囲を超えて成長したのです。これは、SOUL.mdがセッション開始時にシステムプロンプトの一部として一度だけ読み込まれるためです。しかし、会話のコンテキストが大きくなる(メッセージ20までに数千トークンになる)につれて、モデルは初期プロンプトよりも最近のメッセージパターンに注意を払うようになります。
長いセッションでSOUL.mdのルールがずれる理由
メッセージ1では、SOUL.mdは最も大きな声です。モデルはそれを注意深く読み、従います。「絶対に言わない」「私のトーンに合わせる」「直接的に、無駄を省く」といったルールは完璧に機能します。メッセージ20〜30になると、エージェントはずれ始めます。「絶対に」が再び現れ、応答が長くなり、無駄な言葉が戻ってきます。SOUL.mdは技術的にはまだ存在しますが、その後に行われたすべての会話にかき消されてしまうのです。
初日に与えられた職務記述書のようなものだと考えてください。3週間後、従業員は毎朝それを読み直すことはありません。最近のパターンに基づいて、正しいと感じることを行っているのです。過去10回の会話が長く詳細なものであれば、SOUL.mdが「簡潔に」と指示していても、エージェントは長く詳細な応答をデフォルトとするようになります。
主な解決策: /newを積極的に使用する
これで問題の80%が解決し、コストはかかりません。多くの人は、/newを問題が発生したときの最後の手段として扱います。代わりに、個別のタスクの前に常に使用してください:
- リサーチ? /new
- カジュアルなチャットに戻る? /new
- メールの下書きが必要? /new
エージェントのトーンがずれ始めたときはいつでも、/newを実行するとルールが元に戻ります。エージェントは何も失いません。SOUL.md、USER.md、MEMORY.mdはすべて残ります。それらをかき消していた会話をクリアしているだけです。
長いタスクを短いセッションに分割します:
- セッション1: 「Xをリサーチし、結果をファイルに保存する」 /new
- セッション2: 「保存したファイルを読み、要約を下書きする」 /new
- セッション3: 「この要約を確認し、Telegramで私に送信する」
各セッションはSOUL.mdが完全に読み込まれた状態で新鮮に始まります。セッションがずれが発生するほど長くならないため、エージェントは決してずれません。
ずれに対処するSOUL.mdのフォーマットのコツ
最も厳しいルールをファイルの先頭ではなく、最後に移動させます。LLMはプロンプトの中央よりも終わりに注意を払います。SOUL.mdが15行ある場合、モデルは1〜4行目よりも12〜15行目をより確実に守ります。特にセッションが長くなるにつれてそうです。
構造の例:
# 私について
あなたは[エージェント名]です。[あなたの名前]を支援します。プロフェッショナルだがカジュアル。私のエネルギーに合わせてください。
コミュニケーション方法
詳細を求めない限り、短い応答を。質問にまず答え、必要に応じてのみ詳しく説明する。
厳格なルール(これらは絶対に破らない)
「絶対に」「素晴らしい質問です」「確かに」「喜んで」と言わない。
証拠を示さずにタスクが完了したと言わない。
私の承認なしに外部に何も送信しない。
知らないことがあれば、知らないと言う。
最後に強化の行を追加します:
すべての応答の前に、静かに上記のすべてのルールを再読し、適用する。これは必須です。
これを自分でテストするには:新しいセッションを開始し、メッセージを送信し、ルールがどれだけうまく守られるかに注目します。30メッセージの会話を行い、エージェントを長く詳細な回答に導き、その後、単純な質問をします。最近の会話パターンが主導権を握っているため、再び長い回答が返ってくるでしょう。/newを入力し、同じ質問をします。SOUL.mdが何にも上書きされずに戻るため、短く直接的な応答が無駄なく返ってきます。
📖 完全なソースを読む: r/openclaw
👀 See Also

OpenClawのスムーズなエージェント間通信の設定
Redditユーザーが、エージェント間通信のタイムアウトを軽減するOpenClawの具体的な設定を共有しています。これには、ツールの可視性設定、メモリの指示、ANNOUNCE_SKIP制限の回避策が含まれています。

ローカルAIコーディングエージェントのセットアップにおけるOpenCodeの始め方
初心者向けガイドでは、Mac、Linux、Windows(WSL2)でLM Studio、llama.cpp、またはOllamaを使用して、ByteShapeの最適化モデルでOpenCodeを完全ローカルのAIコーディングエージェントとしてセットアップする手順を説明します。

Claude VS Code拡張機能のエラー修正:「command claude-vscode.editor.openLast not found」
Claude VS Code拡張機能バージョン2.1.51には、重大なバグが含まれており、ユーザーが操作しようとすると「コマンド 'claude-vscode.editor.openLast' が見つかりません」というエラーが発生します。回避策はバージョン2.1.49にダウングレードすることです。

効果的にAIエージェントをリードするためのマネジメントフレームワーク
元バックエンドリードがAIエージェントの生産性の停滞を指摘し、サイバネティクス、情報理論、マネジメントの3つの分野に基づくフレームワークを提案。このフレームワークは「キャプテン」と「アーキテクト」という2つの運用モードを詳細に説明しています。