Claude Code 세션마다 결정을 다시 설명하지 않는 방법
How I stopped re-explaining decisions to Claude Code every session
핵심 요약
Claude Code 세션 간 문맥 유지를 위해 startup/close 스킬과 체계적인 폴더 구조를 활용하는 워크플로우 제안.
- 세션 문맥 유지 — 세션 시작 시 과거 결정과 로드맵을 불러와 AI가 프로젝트 상태를 기억하게 함.
- 라이프사이클 관리 — /startup과 /close 스킬로 정보를 로드하고 다시 저장하는 흐름을 자동화함.
- PARA 폴더 구조 — 정보의 신뢰도와 중요도를 구분하여 AI가 참조할 데이터의 우선순위를 설정함.
- 인간의 역할 — AI가 코드를 작성하더라도 최종 결정과 원칙은 인간이 관리하는 게이트 역할을 수행함.
세션이 충분히 길어지면, 과거의 결정들이 새로운 문제로 떠오릅니다. 몇 주 전에 내린 아키텍처 선택이 재평가되고, 확정했던 프레임워크가 다시 의심받게 되죠. 토큰 낭비를 넘어, 이건 구조적인 손상입니다. Claude는 당신이 작업해 온 프로젝트가 아니라, 문맥 속에 살아있는 프로젝트 버전을 기준으로 작동하고 있습니다. 당신의 문서에는 무엇이 확정되었는지 적혀 있지만, Claude는 이 정보를 제대로 불러오지 못합니다.
저는 1월부터 Obsidian과 Claude Code를 사용하여 PARA 구조와 CLAUDE.md 내 하드코딩된 지시사항으로 이를 구축해 왔습니다. 대부분 잘 작동했죠. 문제는 확정된 결정들이 다시 도출되거나, 채택된 프레임워크가 컨텍스트 윈도우에 묶여버리는 등의 현상이었습니다.
이건 메모리 문제가 아닙니다. Smart Connections를 통해 비교적 작은 볼트(vault) 내에서 의미론적 검색이 가능하므로, 그게 원인은 아닐 겁니다. 문제는 두 가지가 하나로 합쳐진 것이었습니다. 시스템이 사용자의 상태를 정확하게 반영하지 못했고, 포착된 상태조차 적절한 시점에 로드되지 않았던 것이죠.
시작 시 로드 (Loaded at startup)
제가 도달한 결론은 (1) 사용자가 런타임에 필요로 하는 정보를 담고 있고, (2) 시작 시 해당 정보를 로드하여 채팅 내내 유지되도록 하는 시스템입니다.
제가 로드하고 싶은 정보는 다음과 같습니다: AI가 무엇을 해야 할지 알 수 있도록 하는 미래 작업, 제가 생각하는 방식대로 작동하게 하는 통찰, 그리고 다시 작업할 필요가 없도록 하는 확정된 결정들입니다.
이것은 과거, 현재, 미래를 아우르는 시스템입니다. 이들이 합쳐져 사용자의 사고 상태를 포착합니다.
각각의 예시를 살펴보겠습니다.
"Marshal 패턴은 아키텍처의 기본 요소이지, 조정을 위한 편의 기능이 아니다"는 제 결정 로그의 항목입니다. 이는 하나의 디자인 규칙을 포착합니다: 특정 스킬의 동작을 비대하게 만드는 대신, 하나의 스킬이 여러 하위 스킬을 호출하게 하는 것이죠. 제가 다시 스킬 작업을 하게 되면, 이 내용이 호출되고 AI는 Marshal 패턴을 권장하게 됩니다. 이는 모든 세션에 로드되어야 합니다. 실제로 그렇게 되고요.
이와 관련된 통찰은 제가 이 결정을 연구하게 된 계기입니다. 제 Field Notes(통찰 로그)에는 "관례는 스스로 강제될 수 없다; 행동 규칙은 작업 압박 하에서 실패한다"는 항목이 있습니다. 이로 인해 각 세션의 사고방식은 가능할 때마다 스크립트를 코딩하려는 방향으로 강제되었습니다. 이 내용이 로드되지 않았다면, 저는 매 세션마다 이 통찰을 다시 설명하거나 재도출해야 했을 겁니다.
마지막으로 로드맵, 즉 작업 목록이 있습니다. 여기에는 무엇을 해야 하는지, 어떤 순서로 해야 하는지, 무엇이 차단하고 있는지, 어떤 프로젝트에 속하는지 등이 담겨 있습니다. 저는 매 세션마다 사소한 세부 사항을 설명하고 싶지 않기 때문에 이를 원합니다.
시작과 종료 주기 (Startup and close cycle)
문제의 두 번째 절반은 이 정보를 세션 문맥에 로드하는 것이었습니다. 저는 Claude Code 인스턴스를 시작할 때 /startup 스킬을 실행하여 이를 해결합니다. 시작 스킬은 이 세 가지 핵심 파일을 로드하여 응답이 확립된 문맥에 고정되도록 합니다.
각 세션 동안 저는 AI와 작업하고, 세션이 끝나면 채팅 기록을 분석하여 통찰, 작업 업데이트, 결정을 시스템으로 다시 밀어 넣는 /close 스킬을 통해 정보를 볼트로 다시 보냅니다.
이 명령어들은(언급되지 않은 다른 명령어들과 함께) 시스템 내 정보 흐름의 라이프사이클을 형성합니다.
신뢰 계층으로서의 폴더 (Folders as a trust hierarchy)
이 시스템은 수정된 PARA 구조와 함께 시스템이 어떤 정보에 접근해야 하는지, 언제 접근해야 하는지, 그리고 그 정보가 무엇을 의미하는지 알 수 있게 합니다. 폴더 구조는 수정된 PARA를 따릅니다:
* 00_System - 시스템 파일
* 01_Inbox - 분류되지 않은 작업
* 02_Projects - 종료 상태가 정의된 작업
* 03_Areas - 종료 상태가 정의되지 않은 작업
* 04_Knowledge - 제가 생성한 교차 지식
* 05_Reference - 외부에서 작성된 문서
* 90_Archive - 완료되었거나 비활성 상태

