Memory
ファイルベースの Agent は、Memory インスタンスをデフォルトエクスポートする memory.ts ファイルから Memory を取得します。このページではファイルベースの規約について説明します。メッセージ履歴、セマンティックリコール、ストレージ、Processor については、Memory のドキュメントを参照してください。
memory.ts または config.memory がない場合、デフォルトでは Agent に Memory はありません。以前のコンテキストを自分で渡さない限り、generate() または stream() の呼び出しは、記憶された会話状態がない状態で開始されます。
クイックスタートクイックスタートへの直接リンク
Agent の config.ts と同じ階層に memory.ts を作成します。
import { Memory } from '@mastra/memory'
export default new Memory()
エクスポートされたインスタンスが Agent の memory になります。アプリのメイン Mastra インスタンスにストレージ Provider を設定している場合、Memory データはそこに保存されます。詳しくはストレージを参照してください。
Agent を呼び出す際に同じ resource と thread の値を使用すると、会話を継続できます。
const response = await weatherAgent.generate('Remember that I prefer Celsius.', {
memory: {
resource: 'user-123',
thread: 'weather-chat',
},
})
Memory の設定Memory の設定への直接リンク
デフォルトの動作では不十分な場合は、new Memory() にオプションを渡します。
import { Memory } from '@mastra/memory'
export default new Memory({
options: {
lastMessages: 20,
workingMemory: {
enabled: true,
scope: 'resource',
},
},
})
コンストラクターオプションについては、Memory のリファレンスを参照してください。Memory の関連機能については、次のページを参照してください。
- ストレージ:Memory データの永続化を設定します。
- セマンティックリコール:意味に基づいて、関連する過去のメッセージを取得します。
- Memory Processor:Memory がモデルのコンテキストに追加する前に、メッセージをフィルタリング、トリミング、または変換します。
config との優先順位config との優先順位への直接リンク
config.memory は memory.ts より優先されます。どちらも存在しない場合、構成されたファイルベースの Agent に Memory はありません。完全な統合ルールの表については、config.ts の優先順位を参照してください。