Files
2nd/10_Wiki/Topics/S-component (State Store).md
T

3.9 KiB

S-component (State Store)

📌 Brief Summary

S-component(State Store)는 에이전트 하네스의 '기억'을 담당하는 물리적/논리적 저장소 계층이다. 에이전트의 현재 작업 상태, 과거 대화 이력, 추출된 지식, 그리고 영구적으로 보존해야 할 사용자 선호도를 저장하고 관리한다. 단순한 데이터베이스를 넘어, 에이전트가 시간이 지남에 따라 학습하고 진화할 수 있는 토대를 제공한다.

📖 Core Content

  • 다층 저장 구조:
    • 단기 상태 (Short-term): 현재 세션의 휘발성 데이터 및 즉각적인 작업 맥락 보존.
    • 영구 상태 (Long-term): 세션을 넘어 지속되는 사용자 프로필, 프로젝트 규칙, 자가 학습된 지식 저장.
    • 체크포인트 (Checkpoints): 작업 중 특정 시점의 전체 상태를 스냅샷으로 저장하여 실패 시 복구 가능하게 함.
  • 지식 인덱싱 (RAG Integration): 대규모 텍스트나 데이터를 벡터 임베딩하여 에이전트가 필요할 때 의미 기반 검색(Semantic Search)을 통해 정보를 불러올 수 있도록 지원한다.
  • 데이터 직렬화 및 동기화: 메모리 내의 복잡한 에이전트 상태 객체를 영구 저장소(JSON, SQL, Vector DB 등)에 효율적으로 저장하고, 여러 장치나 세션 간에 동기화한다.
  • 메모리 거버넌스: 정보의 유효 기간(TTL)을 설정하여 오래된 정보를 자동으로 삭제하거나, 중요도가 낮은 데이터를 요약하여 저장 공간을 최적화(Compaction)한다.
  • 보안 및 암호화: 저장된 메모리에 포함된 민감한 사용자 데이터나 시스템 비밀번호 등을 암호화하여 외부 유출을 방지한다.

⚖️ Trade-offs & Caveats

  • 검색 정확도 vs 속도: 저장된 데이터가 방대해질수록 관련 정보를 찾는 데 더 많은 시간과 컴퓨팅 자원이 소모된다.
  • 데이터 오염 (Memory Poisoning): 잘못된 정보가 S-component에 기록되면 이후 에이전트의 모든 판단에 악영향을 미치는 '영구적 지능 저하'가 발생할 수 있다.
  • 개인정보 보호: 에이전트가 사용자의 모든 행동을 기억하게 될 때 발생하는 프라이버시 침해 리스크를 관리해야 한다.

🔗 Knowledge Connections

Deeper Research Questions

  • 에이전트가 '잊어야 할 정보'를 스스로 판단하여 폐기하는 '능동적 망각 알고리즘'은 어떻게 설계해야 하는가?
  • 수백만 개의 에피소드 기억 중 현재 작업의 '인과 관계'를 가장 잘 설명하는 과거 사례를 순위화(Ranking)하는 최적의 모델은 무엇인가?
  • 분산 환경에서 여러 에이전트 하네스가 하나의 거대한 S-component를 공유할 때 발생하는 쓰기 충돌과 데이터 일관성 문제를 어떻게 해결하는가?

Practical Application Contexts

  • Implementation: SQLite나 PostgreSQL(pgvector)을 사용하여 로컬 및 서버 사이드 상태 저장소를 구축하고, 에이전트의 MemoryState 클래스와 연동한다.
  • System Design: 멀티 테넌트(Multi-tenant) 에이전트 서비스 구축 시, 사용자별로 S-component를 물리적으로 분리하여 데이터 유출 리스크를 원천 차단한다.

Last updated: 2026-05-01