AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

컨텍스트 엔지니어링 팁 – 메모리 엔지니어링과 경계를 분리하기

컨텍스트 엔지니어링과 메모리 엔지니어링은 자주 함께 구현되지만 같은 문제가 아니다. 컨텍스트는 한 번의 LLM 호출 안에서 무엇을 보여줄지의 문제이고, 메모리는 호출이 끝난 뒤 무엇을 남기고 나중에 어떻게 다시 꺼낼지의 문제다.

핵심 차이

항목컨텍스트 엔지니어링메모리 엔지니어링
범위한 번의 추론 호출여러 호출, 세션, 에이전트
저장 위치모델의 활성 컨텍스트 창벡터 DB, 키-값 저장소, 관계형 DB, 로그
핵심 질문무엇을 넣고 어디에 배치할까?무엇을 쓰고, 검색하고, 갱신하고, 신뢰할까?
실패 양상창이 차거나, 위치가 나쁘거나, 노이즈가 많음검색 누락, 낡은 기억, 오염, write policy 부재

컨텍스트 엔지니어링의 결정

  • 선택적 포함: 사용 가능한 모든 정보를 넣지 않는다.
  • 구조적 배치: 중요한 제약은 앞쪽, 현재 작업과 관련된 검색 결과는 생성 지점 가까이에 둔다.
  • 도구 출력 압축: 창이 찬 뒤 자르는 것이 아니라 들어오기 전에 압축한다.
  • 대화 이력 관리: 긴 세션에서는 rolling summary나 구조화된 state extraction이 필요하다.

메모리 엔지니어링의 결정

  • write policy: 어떤 사건·선호·결과를 저장할지 결정한다.
  • storage schema: 벡터, 그래프, 관계형, 이벤트 로그를 목적에 맞게 고른다.
  • retrieval policy: 지금 작업에 필요한 기억만 꺼낸다.
  • maintenance: 낡은 기억, 충돌하는 사실, 오염된 데이터를 정리한다.

둘이 만나는 지점

가장 위험한 경계는 retrieved memory가 context window로 들어오는 순간이다. 저장소에 좋은 기억이 있어도 잘못 검색하면 누락되고, 너무 많이 검색하면 컨텍스트를 오염시킨다.

실무 원칙:

  • 검색 결과는 바로 주입하지 말고 relevance와 freshness를 평가한다.
  • 기억마다 출처와 생성 시점을 유지한다.
  • 사용자 선호, 작업 상태, 검증된 사실을 같은 메모리로 취급하지 않는다.
  • 장기 메모리에서 꺼낸 내용은 현재 작업 컨텍스트에 맞게 다시 압축한다.

관련 문서

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)