ChatGPT/Codex 장기 사용 시 기억·상태 유실 문제, 실무에서는 어떻게 해결하시나요?
ChatGPT/Codex 장기 사용 시 기억·상태 유실 문제, 실무에서는 어떻게 해결하시나요?
본문
ChatGPT/Codex를 이용해 장기간 사용하는 개인 투자 리서치 시스템을 만들고 있습니다.
그런데 가장 큰 문제가 모델 성능이 아니라 **continuity(연속성) / persistent state(영속 상태)**입니다.
대화가 길어지거나 /compact, 새 세션, 모델 변경 등이 발생하면 이전의 중요한 내용 일부가 빠지면서 다음과 같은 문제가 반복됩니다.
이미 결정한 규칙을 잊음
과거 가설·반증 조건을 일부 누락
미완료 작업을 놓침
이미 해결한 문제를 다시 처음부터 해결
최근 대화만 과대반영
요약 과정에서 원래 의미가 조금씩 변형됨
GitHub/Google Drive에 정본과 기록을 저장하고 있지만, 파일이 존재하는 것과 새 세션의 AI가 정확한 현재 상태를 복원하는 것은 별개 문제라는 걸 경험하고 있습니다.
현재 생각 중인 구조는 대략 이렇습니다.
Raw 원문/Event → Append-only Ledger(변경 불가 원장) → Current State(현재 정본) → 가설/예측/미완료 작업 → Retrieval → LLM → 검증 → State Update
후보 기술은:
PostgreSQL: 현재 상태·규칙·이벤트 원장
원문/과거 예측: 수정 불가능하게 별도 보존
Vector DB/RAG: 과거 자료의 의미 기반 검색
MCP/API: ChatGPT/Codex/Claude 등 여러 모델의 공통 접근
세션 시작 시 필요한 상태를 자동으로 Context Pack으로 복원
/compact는 장기기억이 아니라 현재 context 관리용으로만 사용
궁금한 것은 실제로 장기간 AI agent(에이전트)를 운영해보신 분들이 어떻게 해결하셨는가입니다.
PostgreSQL + RAG 정도면 충분한가요?
Event Sourcing(이벤트 소싱)까지 쓰는 것은 과한 설계일까요?
중요한 규칙/현재 상태와 일반적인 장기기억은 어떻게 분리하시나요?
여러 LLM이 하나의 상태를 공유할 때 어떤 구조가 가장 안정적이었나요?
LLM이 만든 잘못된 요약이 정본을 오염시키는 것은 어떻게 방지하시나요?
context compaction/new session 이후 상태 자동복원은 어떻게 구현하시나요?
Vector DB만으로 구현했다가 문제가 있었던 경험도 궁금합니다.
프로그램이나 모델이 죽어도 마지막 정상 상태에서 자동복구하려면 어떤 구조가 좋을까요?
특히 투자 시스템이라 결과가 나온 뒤 과거 가설이나 예측이 소급해서 수정되면 안 됩니다.
당시 무엇을 알고 무엇을 예측했는가와 현재 무엇을 알고 있는가가 반드시 별도로 남아야 합니다.
제가 원하는 상태를 한 문장으로 표현하면:
“LLM 자체는 매번 stateless(무상태)로 시작해도, 시스템은 절대로 stateless로 시작하지 않는 구조”
입니다.
제가 너무 복잡하게 접근하고 있다면 그것도 지적 부탁드립니다.
실제로 구축해보니 실패했던 방법이나, 제가 아예 놓치고 있는 기술/질문이 있다면 특히 듣고 싶습니다.