피드로 돌아가기
Every climate chatbot is amnesiac. So I built Aura — a stateful climate coach on Backboard + Gemini
Dev.toDev.to
AI/ML

Backboard 기반 Persistent Memory 도입으로 Stateless LLM의 한계를 극복한 Stateful 코칭 시스템 구축

Every climate chatbot is amnesiac. So I built Aura — a stateful climate coach on Backboard + Gemini

Dev Rajput2026년 4월 19일7intermediate

Context

기존 기후 행동 챗봇의 Stateless 구조로 인한 사용자 데이터 망각 및 지속성 결여 문제 발생. 단순 정보 제공을 넘어 사용자 습관의 연속성을 유지하는 Longitudinal Mentoring 체계의 부재를 확인.

Technical Solution

  • Backboard를 아키텍처의 중심인 Persistence Layer로 설정하여 모든 사용자 턴의 메모리를 저장 및 조회하는 구조 설계
  • backboard.listMemories()를 통해 조회한 전체 메모리 페이로드를 Gemini API 호출 전 System Prompt에 직렬화하여 컨텍스트 주입
  • aura:${userId}:memory:${key} 형태의 Namespace 기반 Key 설계로 스키마 변경 없이 Habit, Goal, Assessment 등 다양한 데이터 타입 확장 가능 구조 확보
  • BackboardClient 추상화 클래스를 도입하여 REST API 기반의 BackboardBackend와 LocalStorageBackend 간의 Seamless한 교체 및 Fallback 메커니즘 구현
  • 별도의 DB나 캐시 없이 메모리 리스트를 직접 연산하는 Pure Function 기반의 impactEngine.js를 통해 Impact Score 산출 로직 구현

- LLM 서비스 설계 시 단순 대화 이력(History) 저장을 넘어 목적별로 구조화된 Persistent Memory Store 도입 검토 - 스토리지 백엔드 변경에 유연하게 대응하기 위해 비동기 인터페이스 기반의 Client 추상화 계층 설계 적용 - 사용자 식별자를 Key Prefix에 포함하는 Namespacing 전략을 통해 데이터 이식성 및 확장성 확보

원문 읽기