View a markdown version of this page

自定义内置策略或创建自己的策略 - Amazon Bedrock AgentCore

自定义内置策略或创建自己的策略

对于高级或特定领域的用例,您可以创建一个内置的 overrides 策略,以获得对长期内存过程的精细控制。 Built-in 使用 overrides 策略允许您通过提供自己的指令并为提取和合并步骤选择特定的基础模型来覆盖内置策略的默认行为。

何时使用内置的 overrides 策略

当您需要根据您的特定要求定制内存逻辑时,请选择带覆盖策略的内置策略。常见使用案例包括:

  • Domain-specific 提取:将策略限制为仅提取某些类型的信息。例如,捕捉用户的食物和饮食偏好,而忽略他们对服装的偏好。

  • 控制粒度:调整提取的内存中的细节级别。例如,指示摘要策略仅保存高级要点,而不是详细的叙述。

  • 模型选择:使用更适合您的特定领域或任务的特定基础模型,例如针对财务或法律文本进行微调的模型。

如何自定义策略

要使用自定义配置覆盖内置策略,请在使用CreateMemory操作或操作时指定配置。UpdateMemory您可以覆盖以下内容:

下表显示了您可以为每种内存策略重写的步骤:

Strategy 您可以覆盖的步骤

语义的

提取整合

Summary

整合

用户偏好

提取整合

情节性的

提取整合反思

注意

您也可以使用自我管理的策略进行覆盖。有关更多信息,请参阅Self-managed 策略

如何自定义策略

例如,您可以修改语义记忆策略的提取指令,以便在自定义指令时添加新指令。

Built-in 语义记忆策略指令

下面显示了语义记忆策略的内置指令:

You are a long-term memory extraction agent supporting a lifelong learning system. Your task is to identify and extract meaningful information about the users from a given list of messages. Analyze the conversation and extract structured information about the user according to the schema below. Only include details that are explicitly stated or can be logically inferred from the conversation. - Extract information ONLY from the user messages. You should use assistant messages only as supporting context. - If the conversation contains no relevant or noteworthy information, return an empty list. - Do NOT extract anything from prior conversation history, even if provided. Use it solely for context. - Do NOT incorporate external knowledge. - Avoid duplicate extractions. IMPORTANT: Maintain the original language of the user's conversation. If the user communicates in a specific language, extract and format the extracted information in that same language.

你可以在这些说明中附加一条新规则,例如:

- Focus exclusively on extracting facts related to travel and booking preferences.

或者编辑现有规则,例如:

IMPORTANT: Always extract memories in English irrespective of the original language of the user's conversation.

自定义的最佳实践

  • 在现有说明的基础上再接再厉:我们强烈建议您使用内置策略说明作为起点。基本结构和指令对于存储器功能至关重要。您应该将针对特定任务的指导添加到现有说明中,而不是从头开始编写全新的说明。

  • 提供明确的说明:的内容appendToPrompt取代了系统提示符中的默认指令。确保您的指令合乎逻辑且完整,因为空白或格式不佳的指令可能会导致不良结果。

重要注意事项

为了保持内存管道的可靠性,请遵守以下准则:

  • 请勿修改提示中的架构:您只应添加或修改指导如何提取或合并内存的指令。请勿尝试更改提示本身中的对话或内存架构定义,因为这可能会导致意外故障。

  • 不要重命名合并操作:自定义合并提示时,请勿更改操作名称(例如AddMemoryUpdateMemory)。更改这些名称将导致长期内存管道失败。

  • 输出架构不可编辑:内置的 overrides 策略不允许您更改提取或合并内存的最终输出架构。将添加到内置带覆盖策略的系统提示符中的输出架构将与内置策略相同。有关输出架构的信息,请参阅以下内容:

要完全控制端到端内存进程,包括输出架构,请参阅Self-managed 策略

执行角色

使用带覆盖功能的内置策略时,还需要在 CreateMemory API memoryExecutionRoleArn 中提供。Bedrock Amazon Bedrock AgentCore 将担任这个角色,调用你 AWS 账户中的基岩模型进行提取和整合。

注意

使用带覆盖策略的内置策略时,提取和合并的 LLM 使用量将单独计 AWS 入您的账户,并可能收取额外费用。