수업 #6 — 채널별? 스레드별? 세션의 비밀
Source: bbojjak-viewer.vercel.app/lessons/lesson-06 Type: article By: 뽀짝이 / 뽀짝이의 서재 (지피터스 AI스터디) Valid as of: 2026-04-28
Key Insight
에이전트 세션은 “채팅 컨텍스트 = 세션 1개” 원칙으로 분리된다. 대화 맥락은 채널별로 독립되고, 워크스페이스 파일(memory/, AGENTS.md 등)이 세션 사이의 다리 역할을 한다. 컴팩션은 세션을 교체하지 않고 내부 압축으로 컨텍스트 윈도우를 유지한다.
핵심 Takeaway
- 세션 = 채팅 컨텍스트 단위: Slack 채널, DM, 텔레그램 채팅방 각각이 독립 세션. 같은 채널 내 다른 스레드는 동일 세션. “채팅 컨텍스트 = 세션 1개” 원칙은 플랫폼 무관 (출처: “채널별로 세션이 다른 거야?” 섹션)
- 컴팩션 = 세션 내 자동 압축: 컨텍스트 윈도우 ~70% 도달 시 오래된 대화를 요약으로 치환. 시스템 프롬프트는 항상 원본 유지. 세션 자체는 유지되며 내부적으로 압축 (출처: “같은 세션에서 계속 깨어나면” 섹션)
- 파일이 세션 사이의 다리: 대화 맥락은 세션별 분리되지만 워크스페이스 파일(memory/, AGENTS.md 등)은 전 세션 공유. 채널 간 중요 정보는 파일로 기록해 공유 (출처: “채널별로 세션이 다른 거야?” 섹션)
- 세션 컨텍스트 구조: 시스템 프롬프트(고정) + 압축된 과거 요약 + 최근 대화 원본 = 전체 컨텍스트 → API 호출 (출처: “세션 구조를 한눈에 정리하면” 섹션)
- “모르는 건 모른다” = 에이전트 신뢰의 핵심: 텔레그램 작동 방식 불확실 시 솔직히 모른다고 답해 신뢰 획득. 불확실한 확언 = 거짓 보고. Lesson 05 절대 규칙의 실전 적용 (출처: “모르는 건 모른다고 하기” 섹션)
상세 요약
세션 생명주기 비교
| 구분 | Claude Code 터미널 | OpenClaw |
|---|---|---|
| 세션 단위 | 터미널 프로세스 | 채팅 컨텍스트 |
| 세션 수명 | 닫으면 끝 | 채널 바인딩으로 장기 유지 |
| 압축 원리 | auto compact (동일) | compaction (동일) |
| 재시작 후 | 새 세션 | 같은 세션 이어짐 |
스레드 vs 채널 — 세션 경계
같은 채널, 다른 스레드 → ✅ 같은 세션 (서로 알 수 있음)
다른 채널 → ❌ 다른 세션 (파일로만 공유 가능)
단, 컴팩션이 발생했다면 같은 세션 내에서도 오래된 대화의 디테일은 요약으로 손실될 수 있다.
채널 분리가 의도된 설계인 이유
- 컨텍스트 집중: 채널별 다른 성격(운영 논의 vs 자동화 보고)의 대화가 뒤섞이면 컨텍스트가 더 빠르게 찬다
- 보안·권한: DM 내용이 공개 채널 세션에 남으면 안 됨
- 컴팩션 효율: 세션이 작을수록 컴팩션 빈도 감소, 중요 맥락이 더 오래 원본 유지
세션 간 정보 공유 방법
| 정보 유형 | 저장 위치 | 접근 범위 |
|---|---|---|
| 중요한 결정 | memory/ 파일 | 전 세션 |
| 영구 규칙 | AGENTS.md | 전 세션 (시스템 프롬프트) |
| 대화 맥락 | 세션 히스토리 | 해당 세션만 |
이 구조로 “세션이 분리되어 있어도 조직의 기억은 유지된다.”
연결되는 위키 페이지
- agent-session-architecture — 이 소스에서 추출한 세션 구조 개념
- agent-workspace-structure — 워크스페이스 파일이 세션 간 공유 다리 역할
- heartbeat-mechanism — 하트비트가 채널 세션에 바인딩되어 실행
- agent-error-learning-loop — “모르는 건 모른다” = 절대 규칙의 실전 연장
- bbojjak-openclaw-agentic-architecture-lesson01 — 시리즈 Lesson 01
- bbojjak-openclaw-soul-md-lesson02 — 시리즈 Lesson 02
- bbojjak-openclaw-webhook-pipeline-lesson03 — 시리즈 Lesson 03
- bbojjak-openclaw-multi-agent-team-lesson04 — 시리즈 Lesson 04
- bbojjak-openclaw-agents-error-learning-lesson05 — 시리즈 Lesson 05
- bbojjak-openclaw-runtime-architecture-lesson07 — 시리즈 Lesson 07 (터미널 vs 런타임 아키텍처 비교)
- bbojjak-openclaw-memory-architecture-lesson08 — 시리즈 Lesson 08 (기억 3단계·Full-context·Prompt Caching)
- bbojjak-openclaw-scheduling-design-lesson09 — 시리즈 Lesson 09 (하트비트 vs 크론잡·3가지 사고·스케줄링 설계)
- bbojjak-openclaw-skill-design-lesson10 — 시리즈 Lesson 10 (에이전트 스킬 시스템·SKILL.md·n8n→스킬 전환)
- bbojjak-openclaw-automation-layers-lesson11 — 시리즈 Lesson 11 (exec·자동화 3계층·exec-approvals·Trust but verify)
- bbojjak-openclaw-subagent-orchestration-lesson12 — 시리즈 Lesson 12 (sessions_spawn·맥락의 격차·판단 최소화 원칙)
- bbojjak-openclaw-playwright-image-pipeline-lesson13 — 시리즈 Lesson 13 (Playwright·HTML→PNG·browser 도구·디자인 시스템)
- bbojjak-openclaw-gateway-architecture-lesson14 — 시리즈 Lesson 14 (Gateway·멀티채널 라우팅·Tailscale Funnel·보안 4중 잠금)
- bbojjak-openclaw-multichannel-session-lesson15 — 시리즈 Lesson 15 특별편 (Slack 스레드·텔레그램 토픽 세션 분리·DM 함정·bindings)
- bbojjak-openclaw-token-optimization-lesson16 — 시리즈 Lesson 16 (토큰 소비처 5순위·RTK·hook vs 지침·능동적 compact·Sonnet 전환)
- bbojjak-openclaw-agent-security-lesson17 — 시리즈 Lesson 17 (프롬프트 인젝션·보안 3원칙·에이전트 분리·심층 방어)
- bbojjak-openclaw-skill-ecosystem-lesson18 — 시리즈 Lesson 18 (보안 스킬 선택 3단계·구조>스킬·즉시 학습+SSOT·오픈 생태계 신뢰 평가)
- bbojjak-openclaw-resilience-failover-lesson19 — 시리즈 Lesson 19 (Model Failover·세션 스티킨스·Agent Loop·작업별 모델 분리·34% 절감)
- bbojjak-openclaw-information-boundary-lesson20 — 시리즈 Lesson 20 (분리 이후 운영·일방향 동기화·민감정보 추출·에스컬레이션·오탐 관리)