새 채팅을 열 때마다 같은 의식을 치렀습니다. "나는 지금 이런 프로젝트를 하고 있고, 이 단계고, 산출물 양식은 이렇고…" 본론 전에 앞부분이 매번 재설명으로 날아갔습니다.
1차 시도는 실패했습니다. 답이 뻔해 보였습니다 — 다 저장하자. 대화 요약본을 파일로 쌓고 새 세션에 통째로 물려줬습니다. 결과는 반대였습니다. 저장량은 늘었는데 답이 오 히려 무뎌졌습니다.
이유는 나중에 알았습니다. 대화에는 결론만 있는 게 아닙니다. 거기까지 헤맨 과정 — 폐기한 가설, 틀린 중간판단, 톱밥 — 이 같이 들어있습니다. 그걸 통째로 불러오면 AI는 살아남은 결론과 버려진 시도를 구분하지 못합니다. 컨텍스트를 채울수록 신호가 희석됩니다.
그래서 뒤집었습니다. 대화록은 버립니다. 대신 세션 끝에 네 칸만 증류해 남깁니다: 현재 상태 / 확정된 결정 / 열린 질문 / 다음 액션.
실제로 만든 것
1) 파일 구조
work/
_active.md ← 지금 어느 프로젝트인지 가리키는 포인터 한 줄
_continuity.md ← 살아있는 스레드 전체의 상태판 (항상 로드)
projects/
{프로젝트A}/
brief.md ← 목표·범위·일정 (거의 안 변함)
glossary.md ← 이 프로젝트 용어집
templates/ ← 산출물 양식
worklog.md ← 현재상태·결정 이력 (계속 변함)
{프로젝트B}/ ...핵심은 레이어 분리입니다. 프로젝트가 바뀌면 갈아끼우는 것(프로젝트 폴더)과, 프로젝트가 바뀌어도 계속 쓰는 것(사고방식·방법론·일반 지식 → 별도 위키)을 물리적으로 다른 데 둡니다. 그래야 프로젝트 교체가 포인터 한 줄 수정으로 끝납니다. 덤으로, 활성 프로젝트 폴더 하나만 읽게 강제하면 A 정보가 B 산출물에 새는 사고도 구조적으로 막힙니다.
2) _continuity.md — 상태판
---
type: continuity
updated: 2026-07-28
---
## 지금 진행 중인 스레드
### 1. {스레드명}
- 현재 상태: (한두 줄로 압축)
- 도달한 결론: (왜 이렇게 정했는지 한 줄 포함)
### 2. {스레드명}
- ...
## 표준 결정 (standing)
- 프로젝트가 바뀌어도 유지되는 규칙들
## 열린 질문 / 다음 액션
- [ ] 아직 안 정해진 것
- [x] ~~닫힌 것은 취소선으로 남김~~[x] 취소선이 은근히 중요합니다. 삭제하면 나중에 같은 걸 또 고민합니다. "이미 검토했고 이렇게 결론남"을 남겨야 재고민이 안 일어납니다.
3) worklog.md — 무한 성장을 막는 2구역 구조
여기서 한 번 더 실패했습니다. worklog에 계속 append만 했더니 몇 주 만에 읽기 부담스러운 덩어리가 됐고, 낡은 "열린 질문"이 층층이 쌓여서 AI가 이미 닫힌 걸 다시 물어봤습니다. 그래서 두 구역으로 쪼갰습니다.
## ▶ 지금 (live) ← 갈무리 때 통째로 '덮어쓰기'
- 현재 상태 / 확정 결정 / 열린 질문 / 다음 액션
## 결정 로그 ← 갈무리 때 블록 하나 '추가'
### [2026-07-28] 제목
- 요지 한 줄
- 살아남은 결정만규칙은 두 줄입니다. 현재형 정보는 덮어쓴다(항상 하나만 존재). 이력은 붙인다(대신 열린 질문은 여기 안 넣는다). 그리고 결정 로그가 8~10블록을 넘으면 오래된 건 아카이브 파일로 빼자고 AI가 먼저 제안하게 해뒀습니다 — 자동 삭제는 막아뒀고요.
4) 갈무리 — 트리거 단어 하나
작업이 한 매듭 지어지면 "갈무리"라고 칩니다. 그러면 정해진 4단계가 돕니다.
결정화 — 이번 세션에서 살아남은 결론만 증류 (헤맨 과정·폐기 아이디어는 버림)
저장 위치 판정 — 프로젝트 업무면 해당
worklog.md, 아니면_continuity.md의 그 스레드 섹션만 갱신 (다른 섹션은 건드리지 않음)전이지식 분리 — 이번 프로젝트 한정 사실이 아니라 다음에도 쓸 방법론이면 별도 위키로 라우팅
보고 — 저장한 파일 경로 + "새 채팅 열고 이어가면 됨"
이 "저장 위치 판정"이 생각보다 핵심입니다. 다음에도 쓸 지식과 이번에만 쓸 사실을 매번 갈라놓지 않으면, 프로젝트가 끝날 때 배운 게 같이 폐기됩니다.
5) 부팅 규칙
세션을 열면 _active.md → _continuity.md → 활성 프로젝트 폴더 순으로 읽고 시작합니다. 이걸 매번 손으로 시키지 않으려고 슬래시 커맨드 하나에 묶어놨습니다.
바뀐 것. 새 채팅의 첫 마디가 "무엇을 도와드릴까요?"에서 "지난번 X 닫았고 남은 건 Y입니다. 이것부터 갈까요?" 로 바뀌었습니다. 재설명 구간이 사라졌습니다. 덤으로, 2주 전에 왜 그렇게 정했는지를 제가 기억할 필요가 없어졌습니다 — 결정이 대화 속에 묻히지 않고 파일에 박혀 있으니까요.
교훈 한 줄. 메모리는 무엇을 저장할까가 아니라 무엇을 버릴까의 문제였습니다. 그리고 순서가 있습니다 — 기억이 서야 실행이 얹히고, 실행이 있어야 검증할 대상이 생기고, 검증이 쌓여야 개선이 가능합니다. 네 동사 중 첫 번째가 나머지 셋의 바닥입니다. 덤으로 얻은 게 하나 더 있습니다. 프로젝트가 끝나도 이 구조는 그대로 남습니다. 갈아끼우는 건 폴더 하나뿐이고, 일하는 방식은 다음 프로젝트로 그대로 넘어갑니다.