

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建 AgentCore 记忆
<a name="memory-create-a-memory-store"></a>

您可以通过 AgentCore CLI、 Amazon 控制台或 [CreateMemory](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_CreateMemory.html) Amazon SDK 操作创建 AgentCore 内存。创建内存时，如果要提取长期内存，则可以配置诸如名称、描述、加密设置、原始事件的过期时间戳以及内存策略等设置。

创建 AgentCore 内存时，请考虑以下因素以使其满足应用程序的需求：

 **事件保留** — 选择将原始事件保留多长时间（最多 365 天）以用于短期记忆。

**注意**  
 `eventExpiryDuration`在写入时按事件应用。更新它仅影响更改后创建的事件。以前存储的事件会保留其原始过期时间，并且无法延长，过期的事件也无法恢复。

 **Long-term 内存记录保留期（存活时间）**-（可选）选择提取的长期内存记录在过期之前保留多长时间。你可以在策略内按策略配置`recordExpiryDurationDays`（至少 31 天）`recordExpirySpecification`。如果您未设置，则该策略生成的记录不会过期。配置或删除记录的存活时间需要权限。`bedrock-agentcore:UpdateMemoryRecordExpirySpecification`有关更多信息，请参阅[为长期内存记录设置存活时间](long-term-record-ttl.md)。

 **安全要求**-如果您的应用程序处理敏感信息，请考虑使用[客户托管的 Amazon KMS 密钥](https://docs.amazonaws.cn/kms/latest/developerguide/concepts.html)进行加密。即使您没有提供客户管理的 Amazon KMS 密钥，该服务仍会使用服务托管密钥对数据进行加密。

 **记忆策略** — 定义如何使用内置或内置的 overrides 策略将事件处理成有意义的长期记忆。如果您未定义任何策略，则仅存储包含原始事件的短期内存。有关更多信息，请参阅[使用长期记忆](long-term-memory-long-term.md)。

 **命名惯例**-使用清晰的描述性名称来帮助识别每个 AgentCore 内存的用途，尤其是在您的应用程序使用多个存储的情况下。

**Example**  

1.  AgentCore CLI 内存命令必须在现有 agentcore 项目中运行。如果你还没有，请先创建一个项目：

   ```
   agentcore create --project-name MemoryProject --no-agent
   cd MemoryProject
   ```

    **创建**基本记忆（仅限短期）：

   ```
   agentcore add memory --name my_agent_memory
   agentcore deploy
   ```

    用长期策略@@ **创造**记忆：

   ```
   agentcore add memory --name ShoppingSupportAgentMemory \
     --strategies SUMMARIZATION,USER_PREFERENCE
   agentcore deploy
   ```

    **检查**内存状态：

   ```
   agentcore status
   ```

1. 运行打开 `agentcore` TUI，然后选择**添加**并选择**内存**：

1. 输入内存名称：  
![内存向导：输入名称](https://docs.amazonaws.cn/bedrock-agentcore/latest/devguide/images/tui/memory-add-name.png)

1. 选择活动到期时间：  
![内存向导：选择事件到期时间](https://docs.amazonaws.cn/bedrock-agentcore/latest/devguide/images/tui/memory-add-expiry.png)

1. 选择用于长期内存提取的记忆策略：  
![内存向导：选择内存策略](https://docs.amazonaws.cn/bedrock-agentcore/latest/devguide/images/tui/memory-add-strategies.png)

1. 查看配置并按 Enter 进行确认：  
![内存向导：查看配置](https://docs.amazonaws.cn/bedrock-agentcore/latest/devguide/images/tui/memory-add-confirm.png)

1. 有关更多信息，请参阅 [Amazon 软件开发工具包](aws-sdk-memory.md)。

   ```
   import boto3
   import time
   
   # Initialize the Boto3 clients for control plane and data plane operations
   control_client = boto3.client('bedrock-agentcore-control')
   data_client = boto3.client('bedrock-agentcore')
   
   print("Creating a new memory resource...")
   
   # Create the memory resource with defined strategies
   response = control_client.create_memory(
       name="ShoppingSupportAgentMemory",
       description="Memory for a customer support agent.",
       memoryStrategies=[
           {
               'summaryMemoryStrategy': {
                   'name': 'SessionSummarizer',
                   'namespaceTemplates': ['/summaries/{actorId}/{sessionId}/']
               }
           },
           {
               'userPreferenceMemoryStrategy': {
                   'name': 'UserPreferenceExtractor',
                   'namespaceTemplates': ['/users/{actorId}/preferences/']
               }
           }
       ]
   )
   
   memory_id = response['memory']['id']
   print(f"Memory resource created with ID: {memory_id}")
   
   # Poll the memory status until it becomes ACTIVE
   while True:
       mem_status_response = control_client.get_memory(memoryId=memory_id)
       status = mem_status_response.get('memory', {}).get('status')
       if status == 'ACTIVE':
           print("Memory resource is now ACTIVE.")
           break
       elif status == 'FAILED':
           raise Exception("Memory resource creation FAILED.")
       print("Waiting for memory to become active...")
       time.sleep(10)
   ```

1. ====== 创建内存 AgentCore 

1. 打开 [Amazon Bedrock 控制台 AgentCore](https://console.amazonaws.cn/bedrock-agentcore/)。

1. 在左侧导航窗格中，选择 “**内存**”。

1. 选择**创建内存**。

1. 在**内存名称**中输入 AgentCore 内存的名称。

1. （可选）对于**Short-term 内存（原始事件）到期**，请设置 AgentCore 内存存储事件的持续时间（天）。

1. （可选）在**其他配置**中，设置以下内容：

   1. 在**内存描述**中，输入 AgentCore 内存的描述。

   1. 如果您想使用自己的 Amazon KMS 密钥来加密数据，请执行以下操作：

      1. 在 **KMS 密钥**中，选择**自定义加密设置（高级）**。

      1. 在**选择 Amazon KMS 密钥**中，选择或输入现有 Amazon KMS 密钥的 ARN。或者，选择**创建 Amazon KMS** 以创建新的 Amazon KMS 密钥。

1. （可选）对于**Long-term 内存提取策略**，请选择一种或多种[内存策略](memory-strategies.md)。有关更多信息：
   +  [Built-in 策略](built-in-strategies.md) 
   +  [自定义内置策略或创建自己的策略](memory-custom-strategy.md) 
   +  [Self-managed 策略](memory-self-managed-strategies.md) 

1. 选择 “**创建内存**” 来创建内 AgentCore 存。

**Topics**
+ [加密您的亚马逊基岩 AgentCore 内存](storage-encryption.md)