에이전트와 함께 작업하는 데 가장 비싼 것은 컨텍스트를 다시 설명하는 것입니다. 매일 아침 어제의 결정을 다시 설명하고, 마지막 커밋 메시지를 붙여넣고, 배포를 차단하는 버그를 다시 설정합니다. 모든 세션에 곱하면 숨겨진 비용은 몇 분이 아니라 주당 몇 시간입니다.
STATE.md는 그 세금을 없앱니다. 하나의 파일은 모든 세션이 끝날 때 업데이트되고, 다음 세션이 시작될 때 로드됩니다. 규율: 세션을 닫기 전에 파일을 업데이트하는 데 3분을 할애하십시오. 내일, 그 3분은 20분을 절약할 것입니다.
STATE.md는 세 가지를 담고 있으며, 그 이상은 없습니다.
결정: 무엇을 결정했고 왜 결정했는지. 이유가 없으면 미래의 당신은 결정을 다시 열 것입니다. "일일 다이제스트를 위한 크론 대신 Postgres 트리거: 트리거는 트랜잭션적이고, 크론은 쓰기 경로와 경쟁합니다."
진행 중: 절반만 완료되었고, 넘겨줄 만큼 구체적인 것. "마이그레이션 014는 /migrations/014_add_subscription_columns.sql에 작성되었지만 적용되지 않았습니다. 웹훅 핸들러가 활성화되기 전에 실행해야 합니다."
차단 요인: 시도한 것을 포함하여 진행을 막는 것. "테스트 환경에서 Stripe 웹훅 서명 실패. 원시 바디 파서를 시도했지만 여전히 400. 다음: Vercel 미리보기에서 env 변수 확인."
60-80줄로 제한하십시오. 해결되면 제거하십시오. 배포되면 보관하십시오.
업데이트 규율. 자신에게 상기시키기 위해 Stop 훅을 추가하십시오.
{
"hooks": {
"Stop": [
{
"command": "echo 'Before you close: update STATE.md with decisions, in-flight, and blockers from this session.'"
}
]
}
}알림만으로는 충분하지 않습니다. 습관은 자동적이어야 합니다. 가장 빠른 경로: 5회 연속 세션 동안 수행하십시오. 6번째 세션이 되면 업데이트하지 않고 닫는 것이 잘못되었다고 느낄 것입니다. 불편함은 습관이 형성되었다는 신호입니다.
MEMORY.md는 모든 영구적인 것을 위한 인덱스입니다. 각 항목은 별도의 파일을 가리키는 한 줄입니다. 네 가지 유형:
user_*: 당신에 대한 영구적인 사실: 시간대, 경력 컨텍스트, 선호도. user_location.md
feedback_*: 실수에서 배운 규칙, 신뢰도 필드 포함. 0.3에서 시작하여 패턴이 반복될 때 0.5로 올리고, 0.9+에서 CLAUDE.md로 승격. feedback_public_endpoints_need_rate_limits.md
project_*: 하나의 프로젝트에 대한 날짜가 지정된 상태 및 결정. 배포되면 보관. project_stripe_integration_2026_05.md
reference_*: 사람, 도구, API를 위한 조회 테이블. reference_neon_db_config.md
각 인덱스 줄을 200자 미만으로 유지하고 인덱스를 200줄 미만으로 유지하십시오. 그 이상이면 항목이 잘리고 Claude가 볼 수 없습니다.
STATE.md는 현재를 위한 것입니다. MEMORY.md는 항상을 위한 것입니다. 경험 법칙: 스탠드업에서 말할 내용이라면 STATE.md에 들어갑니다. 위키나 온보딩 문서에 작성할 내용이라면 메모리 파일에 들어갑니다. 스탠드업은 일시적이고, 위키는 영구적입니다.
프로젝트가 배포되고 STATE.md에 여전히 5줄이 남아 있다면, 해당 줄을 날짜가 지정된 project_* 메모리 파일로 이동하고 지우십시오. 프로젝트가 중요하지 않게 된 것이 아니라, 현재가 아니게 된 것입니다. 이 구별은 STATE.md를 유용하게 유지합니다.
저널이 아닌 상태를 작성하십시오. 저널 항목: "Stripe 통합 작업을 했습니다. 까다로웠습니다." 상태 항목: "웹훅 엔드포인트는 app/api/webhooks/stripe/route.ts에 있습니다. 서명 확인은 로컬에서 작동하지만 Vercel 미리보기에서 실패합니다(잘못된 원시 바디 형식). 다음: rawBody 미들웨어 구성을 확인하십시오." 하나는 다음 세션에 시작점을 제공하고, 다른 하나는 회고록을 제공합니다.
두 가지 더 많은 안티 패턴: 새로운 세션이 실행할 수 있는 구체적인 다음 작업이 없는 진행 중 항목, 그리고 세션 간에 동일한 주제에 대한 중복 항목. 중복을 병합하십시오: 하나의 주제, 하나의 항목, 현재 상태만.
좋은 세션 업데이트는 9~12줄입니다: 이유가 있는 결정 하나, 다음 단계가 있는 진행 중 항목 하나, 시도한 것이 있는 차단 요인 하나.
50개 이상의 메모리 파일로 확장: 다이제스트 계층. 각 MEMORY.md 포인터 줄은 약 100-150 토큰을 소비합니다. 200줄이면 순수 포인터가 20-30K 토큰입니다. 해결책: STRATEGY-DIGEST.md, 모든 주요 문서의 2-3문장 요약과 "사용 시:" 필드:
## q2-positioning.md
Q2 포지셔닝은 중견 시장 영업 조직의 AI 활성화를 목표로 합니다.
사용 시: 대상 고객, 가격 책정 또는 리드 자격에 대해 논의할 때.Claude는 다이제스트(약 3K 토큰)를 읽고 관련성이 있을 때만 전체 문서를 로드합니다. 25개의 전략 문서에서 50K 대신 3K 토큰이므로 세션이 빠르게 유지됩니다. "사용 시:" 필드는 라우팅 메커니즘입니다. 파일 설명이 아닌 특정 트리거 조건으로 작성하십시오.
STATE.md는 현재 상태(결정, 진행 중, 차단 요인)를 80줄 미만으로 캡처합니다. 세션 종료 시 업데이트하고 기록을 즉시 보관하십시오. MEMORY.md는 네 가지 유형(사용자, 피드백, 프로젝트, 참조)으로 영구적인 지식을 인덱싱하며 200줄로 제한됩니다. 오늘 밤 결정 하나, 진행 중 항목 하나, 차단 요인 하나로 세 줄을 시작하십시오. 습관이 형성되는 동안 세 줄은 0줄보다 낫습니다.