피드로 돌아가기
Dev.toAI/ML
원문 읽기

Provenance 도입을 통한 Agent Self-Poisoning 해결 및 메모리 무결성 설계
Agent memory v2 — seven rules after the poisoning
AI 요약
Context
모델의 Hallucination이 검증 없이 Fact로 저장되어 이후 세션의 Ground Truth로 활용되는 Self-Poisoning 현상 발생. 기존 v1 스키마의 자유 텍스트 기반 source 필드가 데이터의 출처(Provenance)와 신뢰도를 구분하지 못하는 구조적 한계 노출.
Technical Solution
- Pydantic Literal을 활용해 provenance 필드를 verified, unverified, unavailable_at_write_time 3가지 상태로 엄격히 제한하여 타입 시스템 수준에서 무분별한 Fact 저장 차단
- Verifier 장애 시 데이터를 유실하거나 잘못 저장하지 않고 unavailable_at_write_time 상태로 기록 후 큐에 적재하는 Fail-closed 포스처 설계
- 모든 상태 전이(write, promote, demote) 과정을 agent_logs에 기록하는 Audit Logging 체계를 구축하여 데이터 변경 이력에 대한 Observability 확보
- 상위 신뢰도를 가진 소스가 기존 Fact와 모순될 경우 해당 데이터를 unverified로 강등시키는 Decay-on-contradiction 메커니즘 도입
- Retrieval 단계에서 태그가 유지되도록 설계하여 최종 Consumer 단계에서 데이터 신뢰도에 따른 동작 제어(Gating) 수행
실천 포인트
- LLM 생성물을 DB에 저장할 때 단순 string이 아닌 엄격한 Enum/Literal 타입의 신뢰도 필드 정의 여부 검토 - 외부 검증 모듈(Verifier) 장애 시의 기본 동작을 '신뢰 불가' 상태로 정의하는 Fail-closed 전략 적용 - 데이터의 상태 변경 시 '누가, 왜' 변경했는지 기록하는 Audit Log 테이블 설계 및 Append-only 스토리지 고려 - 기존 레거시 데이터 마이그레이션 시 보수적인 관점에서 'unverified' 기본값 할당 후 점진적 승격 프로세스 구축