本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
内存
启用内存后,安全带将在AgentCore 内存中保持对话状态。在使用相同会话 ID 的后续调用中,代理会在启动之前加载存储的历史记录。
记忆是如何工作的
托管内存
当您直接使用服务 API 创建工具并省略内存配置时,该服务会提供托管内存。 AgentCore CLI 使用不同的默认值:除非您选择托管内存或现有内存资源,否则新的 CLI 线束会禁用内存。
内存充电
安全带本身不收取额外费用。Managed M AgentCore emory 对短期事件、存储的长期内存记录和检索请求收取标准内存费用。为避免持续的内存充电,请在创建安全带时禁用内存。有关更多信息,请参阅了解安全带成本和亚马逊 Bedrock AgentCore 定价
要在创建时自定义托管内存,请执行以下操作:
例
托管内存完全由线束管理:
-
策略配置通过以下方式控制
UpdateHarness。您仍然可以直接通过内存 API 来查询 read/write 事件和记录。 -
无法直接通过内存 API 删除托管内存。要将托管内存转换为常规 AgentCore 内存资源,可以通过两种方式将其与工具断开关联:
-
用于切换
UpdateHarness到 BYO (agentCoreMemoryConfiguration) 或禁用。 -
改为传递
deleteManagedMemory=false删除权限以取消关联-默认DeleteHarness情况下,级联删除托管内存。
-
可用策略
| Strategy | 说明 |
|---|---|
|
|
从对话中提取事实知识,可通过语义搜索检索。 |
|
|
按参与者和会话范围创建持续的对话摘要。 |
|
|
捕获对话期间表达的用户偏好和设置。 |
|
|
将重要事件和经历记录为离散的情节。 |
添加现有内存 (BYO)
如果您需要超出托管内存所提供的高级配置(自定义命名空间模板、KMS 加密或跨多个线束的共享内存),请改为连接现有AgentCore 内存实例。
例
禁用内存
要完全禁用内存:
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"disabled": {}}}'
Per-user 使用演员 ID 进行内存范围界定
actorId在调用时传递,将内存范围限定为特定用户。每个演员都有孤立的短期和长期记忆:
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, actorId="user-123", messages=[{"role": "user", "content": [{"text": "What do you remember about my preferences?"}]}], )
Long-term 记忆检索
当安全带具有活动内存策略(托管或 BYO)时,系统会自动进行检索——该工具从内存实例的活动策略中派生检索配置。每次调用时,代理都会查询相关的长期记忆,并在推理之前将其注入对话上下文中。
默认行为:
-
使用每个活动策略的命名空间的默认参数 (
topK=10,relevanceScore=0.2) 自动配置检索。 -
无需手动配置托管内存或 BYO 内存。
覆盖默认值:如果您在 BYO 内存配置retrievalConfig中明确提供了,则优先考虑您的值,不会发生自动推导。这使您可以自定义查询哪些命名空间,调整topK或relevanceScore禁用特定策略的检索。
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --memory '{"optionalValue": {"agentCoreMemoryConfiguration": {"arn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:memory/MyMemory-abc123", "retrievalConfig": {"/facts/{actorId}/": {"topK": 5, "relevanceScore": 0.5, "strategyId": "FactExtractor-abc123"}}}}}'
重要
如果您在将 BYO Memory 实例连接到安全带后更新其策略(添加或移除),请调用UpdateHarness刷新检索配置。对于托管内存,通过自动UpdateHarness刷新配置来更改策略。
上下文截断
当对话历史超出模型的上下文窗口时,该工具会应用截断策略。在每次调用时在安全带上进行配置或覆盖。
-
sliding_window(默认)-保留最新的 N 条消息。简单且可预测。 -
summarization-将较旧的消息压缩为摘要,以更少的标记保留更多上下文。 -
none-没有截断。仅当你自己管理上下文大小时才使用。
aws bedrock-agentcore-control update-harness \ --harness-id "MyHarness-UuFdkQoXSL" \ --truncation '{"strategy": "sliding_window", "slidingWindowConfig": {"numMessages": 30}}'
了解更多:AgentCore 记忆、创建内存存储、长期记忆策略。