OpenCode의 부실한 압축 기능을 직접 고쳐 만든 'Magic Compact'
도구인 는 대화가 길어져 용량이 꽉 차면 ''을 실행해 전체 대화 내용을 하나의 요약본으로 바꿔버린다. 문제는 이 압축 과정에서 그동안 쌓아온 세부 정보, 즉 도구 호출 기록, 파일을 읽고 쓴 내용, 내린 결정들, 알아낸 사실들이 전부 사라지고 원래 정보의 10% 정도만 담은 뭉뚱그려진 요약만 남는다는 점이다. 개발자는 npm에 올라온 압축(난독화)된 파일에서 Claude Code의 내부 구조를 역추적하는 작업을 몇 달째 진행 중이었는데, 심볼 이름의 의미, 함수 동작, 대화 처리 흐름, 터미널 화면 구성 모듈, 권한 시스템 등을 힘들게 매핑해 두었다.
그런데 압축이 한 번 일어나자 에이전트가 이 모든 맥락을 거의 통째로 잊어버렸고, 결과 품질이 급격히 떨어졌으며, 이미 풀어낸 내용을 처음부터 다시 읽고 다시 추론하는 상황이 반복됐다. 이에 개발자는 의 기본 압축 알고리즘을 대체하는 자체 도구 'Magic Compact'를 만들기 시작했다.
핵심 포인트
- 는 문맥이 꽉 차면 대화 전체를 하나의 요약으로 압축한다
- 압축 과정에서 도구 호출, 파일 내용, 결정 이력 등 세부 정보가 대부분 사라진다
- 실제 사례에서 압축 후 요약이 원래 정보의 약 10%만 담고 있었다
- 압축 이후 에이전트가 이미 끝낸 분석을 처음부터 다시 반복하는 문제가 발생했다
- 개발자는 이를 해결하려고 'Magic Compact'라는 대체 압축 도구를 개발 중이다