피드로 돌아가기
Dev.toAI/ML
원문 읽기
Oracle AI DB 기반 Hybrid Retrieval을 통한 Agent의 Durable Memory 구현
Agent Memory with LangChain4j and Oracle AI Database
AI 요약
Context
단순 Prompt Engineering 기반의 Chat Memory는 프로세스 재시작 시 데이터가 소실되며, 분산 환경의 동시성 제어가 어려움. 특히 티켓 ID와 같은 정밀한 식별자 검색과 문맥적 의미 검색을 동시에 만족시키지 못하는 한계 존재.
Technical Solution
- Vector 및 JSON Text Search를 결합한 Hybrid Retrieval 구조 설계로 정밀도와 유연성 동시 확보
- Cosine Distance 기반 Vector 검색과 json_textcontains 기반 Full-text 검색 결과를 융합하는 MemorySearchRanker 도입
- LLM Judge 대신 결정론적 가중치(Deterministic Weights) 기반의 Lightweight Reranking을 적용하여 응답 지연 시간 최소화
- Sync(on commit) 인덱싱 설정을 통한 Memory Writeback 즉시 반영으로 Agent의 실시간 학습 체계 구축
- ChatMemory 인터페이스 커스텀 구현을 통한 Conversation ID 기반의 Append-only Transcript Logging 설계
- LangChain4j의 Tool wiring을 통해 검색(searchMemories)과 저장(storeMemory) 기능을 Agent의 도구로 추상화
실천 포인트
1. 티켓 번호, ID 등 고유 식별자 검색이 필수적인 도메인인지 확인하고 Full-text Search 병행 검토
2. Agent가 스스로 지식을 업데이트해야 하는 경우, Writeback 메커니즘과 인덱싱 동기화 주기 확인
3. Observability 확보를 위해 User/Agent/Tool 메시지를 분리하여 저장하는 전용 로그 테이블 설계
4. Reranking 단계에서 LLM 의존도를 낮추고 결정론적 로직을 우선 적용하여 Latency 최적화