Claude 토큰 한도 감지 방법 선택
상태
승인
후보군
| 방안 | 설명 |
|---|---|
| 출력 문자열 패턴 매칭 | stdout에 context length, token limit, rate limit, maximum context 포함 여부 또는 빈 출력으로 감지 |
| exit code 기반 감지 | claude -p의 exit code만으로 토큰 오류와 일반 오류 구분 |
| stderr 파싱 | stderr 메시지로 오류 유형 구분 |
결정
출력 문자열에 context length, token limit, rate limit, maximum context 포함 여부 또는 출력 완전 비어있음으로 감지한다.
결정 이유
- Claude
-p는 exit code만으로 토큰 오류와 일반 오류를 구분하기 어렵다. - 출력 문자열 패턴이 가장 직접적인 감지 방법이다.
- 출력이 비어있는 경우도 fallback 트리거로 처리해 일반 오류도 커버한다.
검토 대안
| 방안 | 기각 이유 |
|---|---|
| exit code 기반 감지 | claude -p가 토큰 한도와 일반 오류에 동일한 exit code를 반환해 구분 불가 |
| stderr 파싱 | stderr 메시지 형식이 버전마다 달라 불안정 |
트레이드 오프
- 득: Claude 버전에 무관하게 안정적으로 동작, 빈 출력도 커버
- 실: 메시지 내용이 바뀌면 패턴 업데이트 필요 — 그러나 감지 실패 시 빈 출력 조건이 보완