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

VPSと専用サーバー:OpenClawをどこで実行するか
新規ユーザーが最初に尋ねる質問の一つ:OpenClawはどこで実行すべきか?決断を助ける比較をご紹介します。

OpenClawワークスペース設定:2ヶ月間の使用から得た教訓
開発者のOpenClawでの経験によると、ワークスペースの質はエージェントのパフォーマンスに5〜10倍の影響を与え、SOUL.md、AGENTS.md、MEMORY.md、USER.md、およびスキル設定に関する具体的なガイダンスが示されています。

Claude Code設定のための.claude/フォルダ構造の理解
.claude/フォルダには2つのディレクトリがあります:チーム設定用のプロジェクトレベルと、個人設定用のグローバル~/.claude/です。CLAUDE.mdファイルは、Claudeがセッション全体で従う指示を提供し、CLAUDE.local.mdは個人用の上書き設定に使用されます。

OpenClawでGoogle MeetとTeamsの文字起こしを簡単にキャプチャ — スキルとセットアップガイド
OpenClawをGoogle MeetとMicrosoft Teamsに統合することで、シームレスな文字起こし機能を提供します。ワークフローの効率を向上させるための設定と最適化の方法を学びましょう。