「今日のTK Agent開発内容を記事にして」と依頼したとき、保存済みのSomeday100に関する長期記憶が記事の主題になった。記憶があること自体は便利でも、現在の依頼より強く働くと、生成結果は期待から外れてしまう。
そこでArticle Agentへ渡すContextの優先順位を明示した。
今回のユーザー依頼
> 関連する短期履歴
> 関連する長期記憶
プロジェクト名だけでは渡さない
対策は、長期記憶を完全に止めることではない。現在の依頼と関係する記憶だけを選択し、プロジェクト名が一致するだけの情報はArticle Agentへ渡さないようにした。
この判定はArticle Agentの通常経路だけでなく、単体起動時のfallbackにも同じように適用した。入口が複数ある場合、片方だけを直すと別の経路から同じ問題が再発するためである。
Routerだけでなく各Agentの入力を整える
Routerが正しくArticle Agentを選んでも、渡す材料が不適切なら記事の焦点はずれる。そこでManager側では短期履歴を長期記憶より先に置き、各Agentのプロンプトでも「今回の依頼を最優先する」意図を明示した。
Website Agentでも同じ考え方を使っている。あるサービスに関する記憶が存在しても、別の依頼をそのサービスの話題へ変えない。記憶は回答の補助材料であり、質問の置き換えではない。
検証結果
- 無関係なSomeday100の長期記憶をArticle Agentから除外できた
- 開発内容を依頼したとき、依頼に沿った記事生成を確認できた
- 単体起動時のfallbackにも同じ選択規則を適用できた
長期記憶を増やすほど、検索精度だけでなく「渡さない判断」が重要になる。現在の依頼、直近の会話、保存済み知識という順番を固定することで、Agentの出力を利用者の意図へ戻しやすくなった。