MemoryStore のリージョン、メモリ ストア、書き込み操作、検索、スコープ、SDK バージョン、およびエージェント プラグインに適用されるクォータと制限です。
リージョン
MemoryStore は、中国 (北京) リージョンでのみ利用できます。
メモリ ストアの制限
|
項目 |
制限 |
|
メモリ ストア名に使用できる文字 |
英字、数字、アンダースコア (_) |
|
メモリ ストア名の長さ |
最大 32 文字 |
|
メモリ ストアの説明の長さ |
最大 1,024 文字 |
メモリ ストアを作成した後、インデックスの初期化に約 1 分かかります。データの書き込みまたは検索を行う前に、初期化が完了するまでお待ちください。
AddMemories APIの制限
|
項目 |
制限 |
|
|
最大 20 |
|
|
最大 32,000 文字 |
|
|
最大 32,000 文字 |
|
|
最大 256 文字 |
|
|
最大 16 |
|
|
最大 64 文字 |
|
|
最大 1,024 文字 |
messages または text のいずれかを指定する必要があります。メモリを書き込む際、スコープでワイルドカード * は使用できません。
SearchMemories APIのデフォルト値
|
パラメーター |
デフォルト値 |
説明 |
|
|
|
返される結果の数。有効な値: |
|
|
|
再ランキングを有効にするかどうか。 |
長期記憶を検索する場合、appId と tenantId が必要です。agentId と runId には、ワイルドカード * を使用できます。
メモリ統合 (Dream) の制限
CreateMemoryDreamTask APIの制限
|
項目 |
制限 |
|
|
必須。最大 20。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最大 4,000 文字 |
|
|
1 回の呼び出しあたり最大 100 |
列挙値
|
フィールド |
値 |
|
|
|
|
|
|
|
|
|
|
|
|
|
タスクステータス (タスクの |
|
|
アクションタイプ ( |
|
|
アクションステータス (アクションの |
|
非同期タスクとリストのページネーション
|
API |
デフォルトの制限 |
最大制限 |
|
|
50 |
100 |
|
|
100 |
100 |
|
|
50 |
100 |
|
|
100 |
100 |
抽出タスクのステータス (ListMemoryTasks.status または GetMemoryTask によって返される task.status): queued / running / completed / failed / needs_reconcile。
スコープのルール
|
操作 |
スコープの要件 |
ワイルドカード |
|
メモリの書き込み |
|
いいえ |
|
長期記憶の検索 |
|
|
|
短期記憶のクエリ |
4 つのスコープレベルすべてが必要です。 |
いいえ |
|
単一の長期記憶の取得 |
4 つのスコープレベルすべてが必要です。 |
いいえ |
|
単一の長期記憶の更新 |
4 つのスコープレベルすべてが必要です。 |
いいえ |
|
単一の長期記憶の削除 |
4 つのスコープレベルすべてが必要です。 |
いいえ |
|
長期記憶のリスト表示 |
レベルごとにスコープを指定 |
はい |
|
リクエスト監査のクエリ |
レベルごとにスコープを指定 |
はい |
ワイルドカードは階層的な順序に従う必要があります。あるレベルで * を使用した場合、それ以降のすべてのレベルでも * を使用するか、空にする必要があります。たとえば、app-001/user-001/*/* は有効ですが、app-001/*/agent-001/* は無効です。
非同期書き込みの可視性
AddMemories.sync のデフォルト値は false (非同期) です。非同期書き込みを使用する場合:
-
RAW メッセージが最初に書き込まれ、短期記憶としてすぐに利用可能になります。
-
長期記憶の抽出はバックグラウンドで実行されます。
-
抽出が完了すると、長期記憶は
SearchMemoriesAPI を通じて検索可能になります。
テスト中に抽出結果をすぐに確認するには、sync を true に設定します。同期書き込みを使用した場合でも、長期記憶が検索可能になるまで、インデックスの更新にわずかな遅延が発生します。
短期記憶のクエリ
ListMemoryStoreMessages API は、生の会話メッセージを取得します。4 つのスコープレベル (appId、tenantId、agentId、および runId) すべてが必要です。ワイルドカードはサポートされていません。
ユースケース:
-
生の会話メッセージの表示。
-
特定の会話のリプレイ。
-
長期記憶の抽出に関する問題のトラブルシューティング。
SDK バージョン
|
SDK |
最小バージョン |
|
Python SDK |
|
|
Node.js SDK |
|
|
CLI |
|
CLIのページング
CLI のリスト関連コマンドはページングをサポートしており、結果が複数ページにわたる場合は nextToken を使用して次のページを取得できます。ただし、基になる API の制限が適用されます。例えば、ListMemoryStoreScopes API を使用するコマンドでは、ページングを利用しても取得できるスコープの総数は最大 100 件です。
例:
tablestore-agent-cli memory list-units \
--store agent_memory \
--app-id app-001 \
--next-token <token>
CLIの自動プロビジョニング
ots_endpoint と ots_instance_name が設定されていない場合、doctor コマンドを実行するか、何らかの操作を実行すると、CLI は中国 (北京) リージョンにマネージド Tablestore インスタンスを自動的に作成します。自動プロビジョニングには時間がかかり、結果はローカル設定ファイルに保存されます。
別のインスタンスを使用するには、エンドポイントとインスタンス名を手動で設定します。CLI は、明示的に設定した値を使用します。
エージェント プラグインの注意事項
Hermes および OpenClaw プラグインは、デフォルトで現在のテナント内のエージェントと会話を横断して検索します (agentId = *、runId = *)。ビジネス要件としてエージェント間または会話間のメモリ分離が必要な場合は、SDK を使用して検索スコープを直接制御するか、プラグインの設定を調整してください。