컨텍스트 엔지니어링과 메모리 엔지니어링은 자주 함께 구현되지만 같은 문제가 아니다. 컨텍스트는 한 번의 LLM 호출 안에서 무엇을 보여줄지의 문제이고, 메모리는 호출이 끝난 뒤 무엇을 남기고 나중에 어떻게 다시 꺼낼지의 문제다.
핵심 차이
| 항목 | 컨텍스트 엔지니어링 | 메모리 엔지니어링 |
|---|---|---|
| 범위 | 한 번의 추론 호출 | 여러 호출, 세션, 에이전트 |
| 저장 위치 | 모델의 활성 컨텍스트 창 | 벡터 DB, 키-값 저장소, 관계형 DB, 로그 |
| 핵심 질문 | 무엇을 넣고 어디에 배치할까? | 무엇을 쓰고, 검색하고, 갱신하고, 신뢰할까? |
| 실패 양상 | 창이 차거나, 위치가 나쁘거나, 노이즈가 많음 | 검색 누락, 낡은 기억, 오염, write policy 부재 |
컨텍스트 엔지니어링의 결정
- 선택적 포함: 사용 가능한 모든 정보를 넣지 않는다.
- 구조적 배치: 중요한 제약은 앞쪽, 현재 작업과 관련된 검색 결과는 생성 지점 가까이에 둔다.
- 도구 출력 압축: 창이 찬 뒤 자르는 것이 아니라 들어오기 전에 압축한다.
- 대화 이력 관리: 긴 세션에서는 rolling summary나 구조화된 state extraction이 필요하다.
메모리 엔지니어링의 결정
- write policy: 어떤 사건·선호·결과를 저장할지 결정한다.
- storage schema: 벡터, 그래프, 관계형, 이벤트 로그를 목적에 맞게 고른다.
- retrieval policy: 지금 작업에 필요한 기억만 꺼낸다.
- maintenance: 낡은 기억, 충돌하는 사실, 오염된 데이터를 정리한다.
둘이 만나는 지점
가장 위험한 경계는 retrieved memory가 context window로 들어오는 순간이다. 저장소에 좋은 기억이 있어도 잘못 검색하면 누락되고, 너무 많이 검색하면 컨텍스트를 오염시킨다.
실무 원칙:
- 검색 결과는 바로 주입하지 말고 relevance와 freshness를 평가한다.
- 기억마다 출처와 생성 시점을 유지한다.
- 사용자 선호, 작업 상태, 검증된 사실을 같은 메모리로 취급하지 않는다.
- 장기 메모리에서 꺼낸 내용은 현재 작업 컨텍스트에 맞게 다시 압축한다.
관련 문서
- context-engineering — AI 에이전트 컨텍스트 창 설계 방법론
- agentic-memory — AI 에이전트 장기 기억 계층
- rag — 검색 증강 생성 기술
- supermemory — AI 메모리·컨텍스트 엔진
참고 자료
- Context vs. Memory Engineering in Agentic AI Systems — Machine Learning Mastery (2026-07-03)