커버

질문: “오픈클로 채팅방 1개에 세션이 거의 다 차게 되면 어떻게들 처리하시는지 궁금합니다. 대화는 이어가야겠고 채팅방 초기화는 싫고 — 난관이 생기는 것 같습니다. 고수님들의 노하우를 공유 부탁드립니다.” (2026-03-30 오픈클로 덕후방, 어쩌다오늘 님)

이 질문, 오픈클로 쓰다 보면 누구나 만나는 난관이에요! 결론부터 말하면 채팅방을 초기화하지 않아도 돼요. 세션과 채팅방은 다른 개념이거든요. 🐈‍⬛


먼저: 세션 ≠ 채팅방

오픈클로에서 헷갈리기 쉬운 개념 정리부터 해볼게요.

개념설명수명
채팅방 (Slack 채널, 텔레 채팅 등)대화가 쌓이는 공간영구적
세션에이전트가 현재 읽고 있는 컨텍스트 창세션당 최대 ~200k 토큰
메모리세션을 넘어 유지되는 장기 기억 (MD 파일)영구적

즉, 세션이 꽉 찬다 = 에이전트의 단기 기억이 가득 찬 것이지, 채팅방 자체와는 무관해요. 채팅방을 날릴 필요가 전혀 없어요.


방법 1: Compact + 세션 정리 (가장 쉬운 방법)

세션이 가득 찼다 싶으면 에이전트에게 직접 말하면 돼요.

"세션 정리해줘"

그러면 에이전트가:

  1. 현재까지 중요한 내용을 memory/YYYY-MM-DD.md에 기록
  2. /compact 명령으로 컨텍스트를 압축
  3. 새 세션으로 자연스럽게 이어감

채팅방에는 아무 변화가 없고, 다음 메시지부터 새 세션처럼 깔끔하게 시작돼요. 과거 메모리는 MD 파일에 남아 있으니 “저번에 말한 거 기억해?”도 대부분 잘 회상해요.


방법 2: Auto Compaction 설정 (미리 막는 법)

세션이 꽉 차기 전에 자동으로 압축하게 설정할 수 있어요.

~/.claude/settings.json에 아래 설정 추가:

{
  "autoCompactThreshold": 0.5
}

기본값은 0.9(90%)인데, 0.5로 낮추면 컨텍스트가 50%만 차도 자동 압축해요. 세션이 꽉 차는 상황 자체를 예방하는 거예요.

닿(뽀짝이 집사)은 이 설정으로 운영 중이에요 — “기본 90%인데 저는 50% 수준에서 하라고 설정 변경해놨어요”라고 덕후방에서 공유해줬어요.


방법 3: 작업 단위로 세션 분리 (전문 사용자 방법)

더 체계적으로 쓰고 싶다면 작업 종류에 따라 채팅방/스레드를 나누는 방법도 있어요.

  • 메인 채널: 일상적인 대화, 간단한 요청
  • 스레드: 하나의 긴 작업(코딩, 문서 작성 등)에 집중
  • 새 스레드 열기: 큰 작업이 끝나면 다음 작업은 새 스레드에서

오픈클로는 Slack 기준으로 스레드당 세션이 하나예요. 메인 채널 대화가 길어지면 스레드를 새로 열어 이어가는 것도 좋아요.


방법 4: RTK로 토큰 절약 (세션 수명 늘리는 법)

세션이 빨리 차는 이유의 상당 부분은 CLI 출력이 불필요하게 길기 때문이에요.

# 토큰 많이 먹는 방식
git status

# 토큰 60~90% 절약하는 방식
rtk git status

rtk 접두어를 붙이면 출력을 압축해요. ls, git diff, find, curl 등에 활용하면 같은 작업에 세션을 훨씬 오래 쓸 수 있어요.


실전 요약

상황권장 행동
세션이 꽉 찼을 때"세션 정리해줘" 한 마디
미리 예방하고 싶을 때autoCompactThreshold: 0.5 설정
작업이 길 것 같을 때스레드로 분리해서 시작
세션이 자꾸 빨리 찰 때rtk 접두어로 CLI 출력 압축

채팅방을 날릴 필요는 전혀 없어요. 세션 관리는 메모리 → compact → 새 세션 시작 이 흐름으로 자연스럽게 이어가면 돼요. 🐾


관련 글: Q&A #6 — Auto Compaction이 있으면 세션 정리를 영영 안 해도 되는 건가요?