Claude Code in-TTL previous_message_not_found 프롬프트 캐시 유실을 보고한 기계 단위로 추적한다. 기계 1대가 1행이고, 같은 기계의 두 번째 제출은 행을 늘리지 않고 기존 행을 갱신한다. 아래 모든 수치는 자발적 제출자의 브라우저에서 로컬로 파싱되어, 본인이 승인한 집계 숫자만 제출된 것이다.
짧은 경위. 헤드라인에 불리한 사실도 함께 적는다.
2026년 봄부터 일부 Claude Code 사용자에게서 사용량이 비정상적으로 빨리 소진되는 일이 반복됐다. 5시간 한도 창이 수십 분 만에 바닥나는 수준이었다. 5월의 GitHub 신고(#63282)는 응답 없이 자동으로 닫혔다.
8월, 서버가 로컬 세션 로그에 직접 남기는 진단 필드 message.diagnostics.cache_miss_reason이 확인됐다. 이때부터 유실을 체감이 아니라 서버 기록으로 판정할 수 있게 됐다.
정직한 반론도 적어 둔다: 원시 집계의 대부분(운영자 데이터 기준 78%)은 장시간 유휴 후의 정당한 만료였다. 이 사이트는 그것을 제외하고 TTL 안쪽 유실만 센다.
통제된 재현에서는 같은 기계의 4개 세션이 같은 1분 안에 동시에 캐시를 잃었고, 생성된 지 24초 된 캐시 엔트리가 사라지는 것도 관측됐다. 같은 시그니처가 독립 계정 3곳에서 확인됐다.
개인 환경 문제인지 광범위한 문제인지 가르려면 여러 기계에서 모은 구조화된 데이터가 필요하다. 그것을 모으는 곳이 이 사이트다. 논의는 anthropics/claude-code#87966에서 진행 중이다.
내 로그로 진단을 돌리면 돌아오는 화면이 이 모양이다. 아래 테두리 안의 숫자는 전부 assets/demo.js가 만든 합성 예시다. 관측 데이터도, 누군가의 제출 데이터도, 운영자 기계의 실측도 아니다.
왜 합성 예시여야 하나: 제출 스키마에는 일별 집계만 있고 시간대별 항목이 아예 없다. 제출만으로 언제 일하는지가 드러나지 않도록 일부러 뺐다. 그래서 실제 제출로는 시간 단위 히트맵을 그릴 수 없고, 여기서도 쓰지 않는다.
내 로그로 직접 돌려보기 → 파싱은 브라우저 안에서 일어난다. 로그 파일은 기기를 떠나지 않고, 공유 버튼을 누르기 전에는 아무것도 제출되지 않는다.
그날 요청 대비 in-TTL 유실 비율, 보고한 기계별 한 선. 기계를 가로질러 수직으로 정렬된 급등은 서버측 이벤트를, 기계 전체에서 유지되는 하락 계단은 수정 배포 시점을 가리킨다. 이 축의 하루는 모두 UTC 기준이고 모든 제출에 같은 기준이 적용된다. 서로 다른 기계를 같은 날짜에 놓고 보는 일이 의미를 가지는 근거가 이것이다.
같은 제출 데이터를 환경 항목 하나로 묶어 본 것이다. 표본 수는 모든 행에 함께 적는다. 기준 미만인 그룹은 건수만 보여주고 유실률은 내지 않는다.
제출 데이터를 어떤 자기신고 항목으로 묶을지 고르는 버튼이다. 고른 기준으로 아래 표가 다시 묶이고, 그룹마다 유실률을 새로 계산하며, 표본 수는 모든 행에 함께 적는다.
이 테두리 안의 숫자는 단 하나도 관측이 아니다. 이 섹션이 앞으로 그릴 비교가 어떤 모양인지 보여주려고 지어낸 고정 숫자이고, 실제 표본이 하한 미만인 동안만 그 자리에 서 있다. 이 페이지에서 실제 데이터에는 언제나 녹색 실제 제출 데이터 배지가 붙는다. fleet 차트, 제출 목록, 그리고 행이 충분히 모인 뒤의 이 비교표가 그것이다.
| 값 (예시) | 표본 수 (n) | 합산 요청 | in-TTL 유실 | 유실률 |
|---|
| 값 | 표본 수 (n) | 합산 요청 | in-TTL 유실 | 유실률 |
|---|
| 닉네임 | 클라이언트 | 플랜 | 동시 세션 | 총 요청 | in-TTL | 유실률 |
|---|
제출별 집계 합계. 시각·세션 ID·파일 경로는 없다. 스키마 차원에서 담을 수 없다. 닉네임은 마스킹해서 저장하므로, 본인이 제출한 행은 이 브라우저에 남은 기록으로 표시한다. 열 제목을 누르면 정렬된다. 화면에 보이는 행 순서만 바뀌고 이 페이지의 다른 것은 아무것도 바뀌지 않는다.
무엇을 유실로 판정하는지, 그리고 왜 모든 단계를 직접 검증할 수 있는지.
본인이 시켰을 때만 남는다. 기본값에서 진단 결과는 열려 있는 탭 안에만 있고 탭을 닫으면 사라진다. 진단 페이지에서 "이 브라우저에 저장"을 누르고 확인 창에서 확인하면, 총계·일별 집계·시간대별 요청 수가 그 브라우저의 저장 공간에 기록된다.
저장분의 성격: 그 컴퓨터의 그 브라우저 안에만 있고, 서버로는 전송되지 않으며, "저장된 기록 지우기"를 누르면 즉시, 완전히 삭제된다. 다음 진단이 마지막 제출 다음 날부터 시작되게 해서 이미 공유한 기간을 다시 보내지 않도록 하는 용도다. 로그 파일 경로·세션 ID·requestId·대화 내용은 저장하지 않는다. 제출 스키마에서 빼 둔 것과 같은 기준이다. 공용·공유 컴퓨터에서는 저장하지 말 것.
실행되는 코드가 repo 파일 그대로다(빌드 없음). 브라우저 view-source와 repo를 한 줄씩 대조할 수 있다. 구성은 이게 전부다: