Class MemoryStrategy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.bedrockagentcore.MemoryStrategy
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.130.0 (build 048a5ee)", date="2026-05-19T19:44:37.158Z") @Stability(Stable) public class MemoryStrategy extends software.amazon.jsii.JsiiObject
Factory class for creating memory strategies If you need long-term memory for context recall across sessions, you can setup memory extraction strategies to extract the relevant memory from the raw events.

Use built-in strategies for quick setup, use built-in strategies with override to specify models and prompt templates.

Example:

 // Create a custom semantic memory strategy
 ManagedMemoryStrategy customSemanticStrategy = MemoryStrategy.usingSemantic(ManagedStrategyProps.builder()
         .strategyName("customSemanticStrategy")
         .description("Custom semantic memory strategy")
         .namespaces(List.of("/custom/strategies/{memoryStrategyId}/actors/{actorId}"))
         .customConsolidation(OverrideConfig.builder()
                 .model(FoundationModel.fromFoundationModelId(this, "ConsolidationModel", FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_5_SONNET_20241022_V2_0))
                 .appendToPrompt("Custom consolidation prompt for semantic memory")
                 .build())
         .customExtraction(OverrideConfig.builder()
                 .model(FoundationModel.fromFoundationModelId(this, "ExtractionModel", FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_5_SONNET_20241022_V2_0))
                 .appendToPrompt("Custom extraction prompt for semantic memory")
                 .build())
         .build());
 // Create memory with custom strategy
 Memory memory = Memory.Builder.create(this, "MyMemory")
         .memoryName("my-custom-memory")
         .description("Memory with custom strategy")
         .expirationDuration(Duration.days(90))
         .memoryStrategies(List.of(customSemanticStrategy))
         .build();
 

See Also:
  • Constructor Details

    • MemoryStrategy

      protected MemoryStrategy(software.amazon.jsii.JsiiObjectRef objRef)
    • MemoryStrategy

      protected MemoryStrategy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • MemoryStrategy

      @Stability(Stable) public MemoryStrategy()
  • Method Details

    • usingBuiltInEpisodic

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingBuiltInEpisodic()
      Default strategies for organizing and extracting memory data, each optimized for specific use cases.

      Captures meaningful slices of user and system interactions, preserve them into compact records after summarizing. Extracted memory example: User first asked about pricing on Monday, then requested feature comparison on Tuesday, finally made purchase decision on Wednesday.

      Returns:
      A ManagedMemoryStrategy.
    • usingBuiltInSemantic

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingBuiltInSemantic()
      Default strategies for organizing and extracting memory data, each optimized for specific use cases.

      Distills general facts, concepts, and underlying meanings from raw conversational data, presenting the information in a context-independent format. Extracted memory example: In-context learning = task-solving via examples, no training needed.

      Returns:
      A ManagedMemoryStrategy.
    • usingBuiltInSummarization

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingBuiltInSummarization()
      Default strategies for organizing and extracting memory data, each optimized for specific use cases.

      This strategy compresses conversations into concise overviews, preserving essential context and key insights for quick recall. Extracted memory example: Users confused by cloud setup during onboarding.

      Returns:
      A ManagedMemoryStrategy.
    • usingBuiltInUserPreference

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingBuiltInUserPreference()
      Default strategies for organizing and extracting memory data, each optimized for specific use cases.

      Captures individual preferences, interaction patterns, and personalized settings to enhance future experiences. Extracted memory example: User needs clear guidance on cloud storage account connection during onboarding.

      Returns:
      A ManagedMemoryStrategy.
    • usingEpisodic

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingEpisodic(@NotNull ManagedStrategyProps config)
      Creates an episodic memory strategy with custom configuration.

      Captures meaningful slices of user and system interactions, preserve them into compact records after summarizing. Extracted memory example: User first asked about pricing on Monday, then requested feature comparison on Tuesday, finally made purchase decision on Wednesday.

      Parameters:
      config -
      • The configuration for the episodic memory strategy.
      This parameter is required.
      Returns:
      A ManagedMemoryStrategy.
    • usingSelfManaged

      @Stability(Stable) @NotNull public static SelfManagedMemoryStrategy usingSelfManaged(@NotNull SelfManagedStrategyProps config)
      Creates a self-managed memory strategy.

      A self-managed strategy gives you complete control over your memory extraction and consolidation pipelines.

      Parameters:
      config -
      • The configuration for the self-managed memory strategy.
      This parameter is required.
      Returns:
      A SelfManagedMemoryStrategy.
    • usingSemantic

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingSemantic(@NotNull ManagedStrategyProps config)
      Creates a semantic memory strategy with custom configuration.

      Distills general facts, concepts, and underlying meanings from raw conversational data, presenting the information in a context-independent format. Extracted memory example: In-context learning = task-solving via examples, no training needed.

      Parameters:
      config -
      • The configuration for the semantic memory strategy.
      This parameter is required.
      Returns:
      A ManagedMemoryStrategy.
    • usingSummarization

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingSummarization(@NotNull ManagedStrategyProps config)
      Creates a summarization memory strategy with custom configuration.

      This strategy compresses conversations into concise overviews, preserving essential context and key insights for quick recall. Extracted memory example: Users confused by cloud setup during onboarding.

      Parameters:
      config -
      • The configuration for the summarization memory strategy.
      This parameter is required.
      Returns:
      A ManagedMemoryStrategy.
    • usingUserPreference

      @Stability(Stable) @NotNull public static ManagedMemoryStrategy usingUserPreference(@NotNull ManagedStrategyProps config)
      Creates a user preference memory strategy with custom configuration.

      Captures individual preferences, interaction patterns, and personalized settings to enhance future experiences. Extracted memory example: User needs clear guidance on cloud storage account connection during onboarding.

      Parameters:
      config -
      • The configuration for the user preference memory strategy.
      This parameter is required.
      Returns:
      A ManagedMemoryStrategy.