View a markdown version of this page

에피소드 메모리 전략 - Amazon Bedrock AgentCore

에피소드 메모리 전략

에피소드 메모리는 사용자 및 시스템 상호 작용의 의미 있는 조각을 캡처하므로 애플리케이션은 집중적이고 관련성 있는 방식으로 컨텍스트를 재현할 수 있습니다. 모든 원시 이벤트를 저장하는 대신 중요한 순간을 식별하고, 이를 압축된 레코드로 요약하고, 시스템이 노이즈 없이 중요한 것을 검색할 수 있도록 구성합니다. 이를 통해 모델이 시간이 지남에 따라 컨텍스트가 어떻게 진화했는지 이해할 수 있도록 하여 보다 적응력이 뛰어나고 지능적인 환경을 만들 수 있습니다.

그 강점은 많은 상호 작용에 걸쳐 있는 구조화된 컨텍스트를 갖는 동시에 저장, 검색 및 업데이트에 대한 효율성을 유지하는 데서 비롯됩니다. 개발자는 자체 요약 파이프라인을 엔지니어링할 필요 없이 신선도, 정확성 및 장기 연속성의 균형을 확보할 수 있습니다.

과거 에피소드를 분석하여 인사이트, 패턴 및 더 높은 수준의 결론을 표시함으로써 간헐적 레코드를 반영합니다. 반영은 단순히 발생한 일을 검색하는 대신 시스템이 특정 이벤트가 중요한 이유와 향후 동작에 미치는 영향을 이해하는 데 도움이 됩니다. 원시 경험을 애플리케이션이 즉시 사용할 수 있는 지침으로 전환하여 모델을 기록에서 배울 수 있는 방법을 제공합니다.

이러한 가치는 개별 순간 또는 에피소드를 넘어 정보를 전달하고 의사 결정, 개인화 및 일관성을 개선하는 지속적인 지식을 만드는 데서 비롯됩니다. 이를 통해 애플리케이션은 반복되는 실수를 방지하고, 사용자 기본 설정에 더 빠르게 적응하며, 장기간 일관성 있게 행동할 수 있습니다.

고객은 과거 상호 작용의 순서를 이해하면 품질이 향상되는 모든 시나리오와 장기적인 개선이 중요한 시나리오에서 간헐적 메모리를 사용해야 합니다. 이상적인 사용 사례에는 고객 지원 대화, 에이전트 기반 워크플로, 세션 기록에 의존하는 코드 어시스턴트, 개인 생산성 도구, 문제 해결 또는 진단 흐름, 정적 프로필이 아닌 실제 이전 이벤트에 기반한 컨텍스트가 필요한 애플리케이션이 포함됩니다.

간헐적 전략을 호출하면 AgentCore는 대화 내에서 에피소드 완료를 자동으로 감지하고 이벤트를 구조화된 에피소드 레코드로 처리합니다.

전략의 단계

간헐적 메모리 전략에는 다음 단계가 포함됩니다.

  • 추출 - 진행 중인 에피소드를 분석하고 에피소드가 완료되었는지 확인합니다.

  • 통합 - 에피소드가 완료되면는 추출을 단일 에피소드로 결합합니다.

  • 반영 - 에피소드 전반에 걸쳐 인사이트가 생성됩니다.

전략 출력

에피소드 메모리 전략은 에피소드와 반사 모두에 대해 XML 형식의 출력을 반환합니다. 각 에피소드는 상황, 의도, 평가, 정당화 및 에피소드 수준 반영으로 분류됩니다. 상호 작용이 진행되면 에피소드가 turn-by-turn 분석됩니다. 이 정보를 사용하여 작업 및 도구 사용 순서를 더 잘 이해할 수 있습니다.

이 전략에서 캡처한 에피소드의 예

  • 에이전트가 특정 도구를 선택하고 오류가 발생하여 대체 접근 방식을 사용하여 성공적으로 해결한 코드 배포 상호 작용입니다.

  • 사용자의 의도, 에이전트의 특정 도구 사용 결정, 성공적인 결과를 캡처한 약속 일정 조정 작업입니다.

  • 특정 데이터 유형에 대해 최적의 성능을 가져온 파라미터를 문서화한 데이터 처리 워크플로입니다.

간헐적 전략에는 메모리 추출 및 통합 단계(다른 전략과 공유)가 포함됩니다. 또한 간헐적 전략은 상호 작용이 발생할 때 백그라운드에서 에피소드를 분석하는 반사도 생성합니다. 리플렉션은 여러 에피소드에 통합되어 성공적인 전략과 패턴, 잠재적 개선 사항, 일반적인 장애 모드, 여러 상호 작용에 걸쳐 학습한 교훈을 식별하는 더 광범위한 인사이트를 추출합니다.

반사의 예는 다음과 같습니다.

  • 어떤 도구 조합이 특정 작업 유형에 대해 지속적으로 성공적인 결과를 가져오는지 식별합니다.

  • 실패한 시도의 패턴과 이를 해결한 접근 방식을 인식합니다.

  • 유사한 시나리오를 사용하여 성공한 여러 에피소드에서 모범 사례를 추출합니다.

다음 이미지는 간헐적 메모리 전략을 스키마화합니다.

간헐적 메모리 전략의 스키마입니다.

저장된 에피소드를 참조하여 에이전트는 의미 체계 검색을 통해 관련 과거 경험을 검색하고 반영을 검토하여 실패한 접근 방식을 반복하지 않도록 하고 성공적인 전략을 새 컨텍스트에 적용할 수 있습니다. 이 전략은 패턴을 식별하고, 정보를 지속적으로 업데이트하고, 상호 작용 전반에서 일관성을 유지하고, 결정을 내리는 데 정적 지식이 아닌 컨텍스트와 추론이 필요한 에이전트에게 유용합니다.

네임스페이스

에피소드 전략을 사용하여 메모리를 생성할 때 에피소드와 반사를 저장할 네임스페이스를 정의합니다.

참고

에피소드를 저장하도록 선택한 네임스페이스에 관계없이 에피소드는 항상 단일 세션에서 생성됩니다.

에피소드는 일반적으로 다음 네임스페이스 중 하나에 저장됩니다.

  • /strategy/{memoryStrategyId}/ - 전략 수준에서 에피소드를 저장합니다. 액터가 다르거나 세션마다 다르지만 동일한 전략에 속하는 에피소드는 동일한 네임스페이스에 저장됩니다.

  • /strategy/{memoryStrategyId}/actor/{actorId}/ - 모든 에피소드를 액터 수준에서 저장합니다. 다른 세션에서 왔지만 동일한 액터에 속한 에피소드는 동일한 네임스페이스에 저장됩니다.

  • /strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/ - 모든 에피소드를 세션 수준에서 저장합니다. 동일한 세션에 속하는 에피소드는 동일한 네임스페이스에 저장됩니다.

반사는 에피소드와 동일한 네임스페이스 패턴과 일치해야 하지만 반사는 중첩을 줄일 수 있습니다. 예를 들어, 에피소드 네임스페이스가 /strategy/{memoryStrategyId}/actor/{actorId}/ 인 경우 반사에 다음 네임스페이스를 사용할 수 있습니다.

  • /strategy/{memoryStrategyId}/actor/{actorId}/ - 액터의 모든 에피소드에서 인사이트가 추출됩니다.

  • /strategy/{memoryStrategyId}/ - 전략에 대한 모든 에피소드와 모든 액터에서 인사이트가 추출됩니다.

중요

반사는 동일한 메모리 리소스 내의 여러 액터에 걸쳐 있을 수 있으므로 반사를 검색할 때 교차 액터 분석의 프라이버시 영향을 고려하세요. 이 문제가 있는 경우 가드레일을 메모리와 함께 사용하거나 액터 수준에서 반영하는 것이 좋습니다.

에피소드를 가장 잘 검색하여 에이전트 성능을 개선하는 방법

간헐적 메모리를 활용하는 방법에는 여러 가지가 있습니다.

  • 에이전트 코드 내

    • 새 작업을 시작할 때 가장 유사한 에피소드와 반영을 요청하는 쿼리를 수행하도록 에이전트를 구성합니다. 또한 나중에 일부 로직을 기반으로 관련 에피소드 및 반영을 쿼리합니다.

    • CreateEvent를 사용하여 단기 메모리를 생성할 때 TOOL 결과를 포함하면 최적의 결과를 얻을 수 있습니다.

    • 유사한 성공적인 에피소드의 경우 에피소드 내의 회전을 선형화하고 에이전트에게만 공급하여 주요 단계에 집중합니다.

  • 직접

    • 반영 또는 실패한 에피소드를 살펴보고 에이전트 코드 업데이트로 일부 문제를 해결할 수 있는지 고려하세요.

검색을 수행할 때 메모리 레코드는 에피소드의 경우 "의도", 반영의 경우 "사용 사례"를 기반으로 인덱싱됩니다.

다른 메모리 전략의 경우 상호 작용 전반에 걸쳐 정기적으로 메모리 레코드가 생성됩니다. 반면 에피소드 메모리 레코드는 AgentCore 메모리가 완료된 에피소드를 감지한 후에만 생성됩니다. 에피소드가 완료되지 않으면 시스템이 대화가 계속되는지 확인하기 위해 대기하기 때문에를 생성하는 데 시간이 더 오래 걸립니다.