ChatGPT 장기 운영 시, 기억을 늘리기 전에 '저장-획득-적용' 규칙 분리하기
요약
장기적인 ChatGPT 활용을 위해 외부 메모리 참조 아키텍처를 제안합니다. 단순히 대화를 저장하는 것을 넘어, '저장(保存) - 획득(取得) - 적용(採用)' 규칙을 분리하여 지식 관리의 정확성을 높이는 것이 핵심입니다. 이 아키텍처는 프로젝트 범위와 최신 정보를 우선시하며, 경험과 공식 기억을 명확히 구분합니다.
핵심 포인트
- 기억 저장보다 '저장-획득-적용' 규칙 분리가 중요함.
- 프로젝트별 메모리 범위를 엄격하게 분리하여 지식 혼재를 방지.
- 오래된 정보와 현재 사실 충돌 시, 최신 정보를 우선 적용하도록 설계됨.
- 경험(Experience)과 공식적인 기억(Memory)을 구분하는 경계가 중요함.
ChatGPT로 조사나 개발을 오래 지속하다 보면, '이전 대화에서 결정한 것을 다음에서도 올바르게 사용하고 싶다'는 상황이 늘어납니다.
하지만 단순히 대화를 많이 저장하는 것만으로는 해결되지 않습니다. 오래된 방침이 현재 정보보다 우선시되거나, 다른 프로젝트의 지식이 섞이거나, AI의 추측이 확정 사항으로 남을 가능성이 있습니다.
그래서 기억을 늘리기보다 먼저, 저장(保存)·획득(取得)·적용(採用) 규칙을 분리하는 것을 생각했습니다.
장기적인 ChatGPT 활용을 위해 설계한 외부 메모리(external memory)의 참조 아키텍처를 GitHub에 공개하고 있습니다.
무엇을 해결하고 싶었는가
장기 운영에서 특히 신경 쓰였던 네 가지가 있습니다.
- 범위: 다른 프로젝트의 Memory를 함부로 사용하지 않게 합니다. -
- 신선도(鮮度): 오래된 기억과 현재 사실이 충돌할 경우, 현재 정보를 우선시합니다. -
- 근거(根拠): 새롭게 얻은 지식과 공식적으로 채택한 규칙을 구분합니다. -
- 운용: 답변 내용과 무관하더라도 필요한 절차(예: Writeback Gate)를 놓치지 않게 합니다.
핵심은 단순히 검색 정확도를 높이는 것이 아니라, 어떤 기억에, 언제, 어떤 권한으로 따라야 하는지를 명확히 하는 것입니다.
설계의 기본 형태
처리 흐름을 간략화하면 다음과 같습니다.
사용자의 요청
↓
프로젝트 확정
...
Experience와 공식적인 Memory를 동일시하지 않는 것이 중요한 경계입니다.
모델이 '학습했다'고 말한 것을 그대로 미래의 정답으로 채택하지 않습니다.
또한, 화제가 일치하는 기억만 검색하면 운영에 필수적인 절차가 누락될 수 있습니다.
따라서 운영 규칙과 주제 관련 지식은 획득 경로를 분리했습니다.
Python으로 시도해 볼 수 있는 최소 샘플
개념만으로는 이해하기 어려우므로, Python 표준 라이브러리만으로 작동하는 합성 데이터 샘플을 추가했습니다.
Python 3.10 이후 환경에서 다음 명령어를 실행할 수 있습니다.
git clone https://github.com/yutayuki-sute/learning-memory-reference-architecture.git
cd learning-memory-reference-architecture
python examples/minimal_memory.py
...
샘플에서는 프로젝트를 명시적으로 선택하고, ACTIVE한 기억만 획득합니다.
또한, Writeback 시에는 후보와 근거(evidence)가 모두 전달된 경우에 한해, 기존 기록과의 중복을 조사한 후 UNREVIEWED로 추가합니다.
실행 결과의 일부는 다음과 같습니다.
{
"project_id": "DEMO",
"gate": "WRITEBACK_GATE",
...
이것은 보기 좋게 발췌한 출력입니다. 전체 샘플과 사용법은 GitHub의 examples에 있습니다.
자동 테스트 9개에서는 다음과 같은 동작을 확인했습니다.
- 프로젝트 간 Memory가 섞이지 않는 것
- 은퇴된 기록을 획득하지 않는 것
- 동일한 학습 후보를 중복 기록하지 않는 것
- 근거가 없는 경우 기록하지 않는 것
- 운영 규칙이 누락되거나 중복될 경우 안전하게 정지하는 것
- Experience를 공식적인 Memory로 자동 승격시키지 않는 것
굳이 구현하지 않은 것
이 코드는 구조를 확인하기 위한 작은 데모이며, ChatGPT나 Google Sheets와 자동으로 연결되는 제품은 아닙니다.
저장소는 메모리상에만 있기 때문에, 실행 후 데이터는 영속화되지 않습니다.
또한, evidence에 문자열이 들어있는지는 확인하지만, 그 근거가 올바른지 여부는 검증하지 않습니다.
글이 비슷하기만 한 의미적 중복도 감지할 수 없습니다.
실제 운영에는 영속화(persistence)·권한 관리·감사 로그·근거의 독립 확인·실패 시 처리 등이 필요합니다.
실제로 장기 프로젝트에서 시도하며 얻은 설계상의 배움을 일반화한 것이지만, 이 공개 샘플의 테스트 성공이 장기적인 답변 품질 향상까지 입증하는 것은 아닙니다.
향후 개선 예정
현재 GitHub는 외부 메모리의 설계 원칙과, 그 일부를 재현할 수 있는 최소 구현을 공개한 단계입니다.
앞으로는 다음과 같은 개선을 검토하고 있습니다.
- 외부 Memory와 Runtime State의 관계 정리
- 장기 운영에서 실시한 테스트를 익명 케이스 스터디로 정리
- 실패 조건과 회귀 테스트 추가
- Memory 유무에 따른 품질·처리 시간·운영 부담 차이 검증
복잡한 메커니즘을 늘리는 것 자체가 목적이 아닙니다.
필요한 기억만을, 안전하게, 적절한 타이밍에 사용할 수 있도록 하는 것을 중시하고 있습니다.
기술적인 의견을 듣고 싶습니다
github의 README에는 프로젝트 단위 분리, 운영 절차 습득(取得), Memory의 생애 주기(ライフサイクル), Writeback과 적용의 경계, 실패 테스트에 대한 생각까지 정리되어 있습니다.
특히 알고 싶은 것은 다음과 같은 점들입니다.
- 더 적은 구성으로도 같은 문제를 예방할 수 있는지
- 놓치고 있는 실패 패턴은 없는지
- 실제 운영에서는 무엇을 측정해야 하는지
- 더 간단하고 재현성이 높은 방법은 없는지
만약 개선안이나 반례가 있다면, github의 Issue 등으로 알려주시면 감사하겠습니다.
GitHub Repository
이 프로젝트는 독립적인 실험적 시도이며, OpenAI의 공식 프로젝트가 아닙니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기