TL;DR
Amazon Bedrock AgentCore memory는 대화가 누적될수록 오래된 청구 분쟁이나 폐기된 운영 지침까지 검색해 응답에 섞을 수 있으므로, 기억을 운영 자원으로 관리하는 정책이 필요합니다. 제안된 AWS CDK 구조는 Amazon EventBridge가 매일 2시 UTC에 AWS Step Functions를 실행하고, Lambda 함수들이 TTL 만료, 관련성 감쇠 점수 계산, 조건부 통합, 지표 기록을 순서대로 처리하도록 구성합니다. episodic memory는 기본 90일 TTL을 적용하고, semantic memory와 procedural memory는 더 오래 유지하며, 점수는 생성 시점·최근 접근 시점·접근 빈도를 가중 exponential decay 공식으로 결합합니다. 통합과 삭제가 응답 품질을 떨어뜨리지 않는지 AgentCore Evaluations 기반 회귀 테스트로 사전·사후 점수를 비교하고, GDPR 삭제 처리기와 CloudTrail 감사 로그로 개인정보 삭제와 변경 이력을 관리합니다.
섹션별 상세
cutoff = (now - timedelta(days=ttl_days)).isoformat()
response = client.list_memory_records(
memoryId=memory_id,
namespace=agent_id,
metadataFilters=[{
"left": {"metadataKey": "x-amz-agentcore-memory-createdAt"},
"operator": "BEFORE",
"right": {"metadataValue": {"dateTimeValue": cutoff}},
}],
)설정된 TTL보다 오래된 AgentCore memory 기록을 생성 시각 메타데이터로 조회합니다.
def compute_relevance_score(
created_at: datetime,
last_accessed_at: datetime,
access_count: int,
decay_rate: float,
now: datetime,
w_recency: float = 0.4,
w_access: float = 0.35,
w_frequency: float = 0.25,
max_access_baseline: int = 50,
) -> float:
"""Compute relevance score using the 3-term weighted decay formula.
score = w_recency * exp(-decay_rate * days_since_creation) + w_access * exp(-decay_rate * days_since_last_access) + w_frequency * min(access_count / max_access_baseline, 1.0)
Returns a float in [0.0, 1.0] when weights sum to 1.0.
Raises ValueError if max_access_baseline is zero or negative.
"""생성 시점, 마지막 접근 시점, 접근 빈도를 가중 감쇠 공식에 넣어 기억의 관련성 점수를 계산합니다.
const emitAndWrite = emitMetrics.next(writeRunOutput);
const definition = ttlExpiration
.next(scoreMemories)
.next(
checkLowScoreMemories
.when(
sfn.Condition.isPresent('$.scoringResult.below_threshold[0]'),
batchConsolidate.next(emitAndWrite),
)
.otherwise(emitAndWrite),
);
const stateMachine = new sfn.StateMachine(this, 'MemoryLifecycleStateMachine', {
definitionBody: sfn.DefinitionBody.fromChainable(definition),
timeout: cdk.Duration.hours(1),
tracingEnabled: true,
});TTL 만료와 점수 계산 뒤 낮은 점수의 기억만 통합하고, 결과 지표 기록과 실행 결과 저장으로 흐름을 마무리합니다.
new events.Rule(this, 'NightlyMemoryLifecycleRule', {
schedule: events.Schedule.expression('cron(0 2 * * ? *)'),
targets: [new targets.SfnStateMachine(stateMachine)],
});Amazon EventBridge가 매일 2시 UTC에 Step Functions 수명 주기 워크플로를 실행하도록 예약합니다.
def determine_pass_fail(test_case: RegressionTestCase) -> RegressionTestCase:
if test_case.post_lifecycle_score is None:
test_case.passed = None
return test_case
test_case.passed = test_case.post_lifecycle_score >= test_case.min_quality_score
return test_case수명 주기 실행 뒤의 품질 점수가 테스트별 최소 기준 이상인지 판정합니다.
이미지 분석

상단의 Amazon EventBridge 예약 규칙이 상태 머신을 매일 실행하면, 워크플로가 Memory Pruner와 Memory Scorer를 거쳐 조건부 Memory Consolidator로 진행합니다. 이후 Metrics Emitter와 Run Output Writer가 결과를 저장하고, Amazon CloudWatch·Amazon S3·AWS CloudTrail이 운영 지표와 감사 로그를 보조하며, 별도의 GDPR Deletion Handler는 온디맨드 삭제 요청을 처리합니다.
Amazon EventBridge가 AWS Step Functions 메모리 수명 주기 워크플로를 시작하고, 다섯 개 Lambda 함수가 TTL 만료·점수 계산·조건부 통합·지표 전송·실행 결과 저장을 순차 처리하는 구조도입니다.
용어 해설
- 메모리 수명 주기 관리(Memory Lifecycle Management)
- — AI 에이전트가 대화에서 축적한 기억을 영구 보관하지 않고, 생성 시점·최근 접근 시점·사용 빈도에 따라 평가한 뒤 만료·통합·삭제하는 운영 방식입니다. 오래된 맥락으로 인한 응답 품질 저하와 개인정보 보관 위험을 줄이는 데 목적이 있습니다.
- 에피소드 메모리(Episodic Memory)
- — 특정 사용자와 세션에서 실제로 발생한 대화와 사건을 시간 정보와 함께 저장하는 기억입니다. 개별 항목 수가 많고 시간이 지나면 관련성이 낮아지기 쉬워 semantic memory와 procedural memory보다 먼저 만료 정책을 적용하는 대상이 됩니다.
- 시맨틱 메모리(Semantic Memory)
- — 여러 상호작용에서 추출한 사실과 사용자 선호를 특정 대화 세션과 분리해 저장하는 기억입니다. 예를 들어 선호 AWS Region처럼 재사용 가치가 높은 정보를 담으므로 episodic memory보다 오래 보관하고, 중복 관찰을 하나의 권위 있는 사실로 통합하는 데 적합합니다.
- 관련성 감쇠 점수(Relevance Decay Scoring)
- — 기억의 생성 시점, 마지막 접근 시점, 접근 횟수를 가중 exponential decay 공식으로 결합해 현재 관련성을 0.0에서 1.0 사이 점수로 계산하는 방식입니다. 점수가 임계값 아래로 내려가면 해당 기억을 통합하거나 정리할 후보로 분류합니다.
- TTL 만료(Time-to-Live (TTL))
- — 데이터가 생성된 뒤 정해진 기간이 지나면 자동으로 보관 대상에서 제외되는 수명 제한입니다. AgentCore memory에는 내장 자동 삭제 기능이 없지만, 생성 시각 메타데이터와 BEFORE 필터를 사용해 설정된 기간보다 오래된 기록을 조회하고 삭제할 수 있습니다.
기술
- Amazon Bedrock AgentCore
- Amazon Bedrock
- AWS Step Functions
- AWS Lambda
- AWS Cloud Development Kit
- Amazon EventBridge
- Amazon SNS
- Amazon CloudWatch Logs
- Amazon CloudWatch
- AWS CloudTrail
- Amazon S3
- AgentCore Evaluations
- Amazon Bedrock Claude Sonnet
활용 사례
- 고객 지원 agent의 해결된 티켓과 최신 troubleshooting runbook 관리
- 영업 및 온보딩 agent의 오래된 lead 정보 정리
- IT helpdesk 및 운영 agent의 계절성 incident 패턴 보존
- 법률·컴플라이언스 advisor의 장기 precedent 보관
- GDPR right-to-be-forgotten 요청에 따른 사용자별 전체 기억 삭제
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
