Claude Code에 모든 것을 맡기고 있으면, 이용 한도가 얼마나 줄어들지 예측하기 어렵습니다. 저의 경우, 매일 작동하는 AI 루틴이 사이트 코드 수정뿐만 아니라 기사 조사·집필·도표 제작·git 작업까지 Claude Code에게 의존하고 있었습니다.
그래서 2026년 10월 30일 오후부터는 Claude Code에 맡기는 것을 '사이트의 코드 및 디자인 변경'과 '보안 수정'으로만 한정하고, 글쓰기 작업은 다른 에이전트에게 넘겼습니다. 로그를 계산해 보니, 변경 전 약 13일 동안 기록된 Claude Code의 출력 토큰은 5,899,323이었으나, 변경 후 약 14일간은 41,663(약 1/140)으로 줄었습니다. 호출 횟수도 145회 → 13회로 감소했습니다.
이 글에서는 어떻게 분리했는지, 어떻게 계산했는지(로그 계산에는 한 가지 함정이 있습니다), 그리고 남은 13회의 작업 내용이 무엇이었는지를 적습니다. (집계일: 2026-11-13)
静かな木工所の作業台。奥には粗く挽いた板の山と大きな両手のこぎりが掛かり、手前には小さなのみが1本と、きれいに彫られたほぞ穴が1つ、かんなくずが少し。大きな仕事は別の道具で済ませ、細かい1か所だけに鋭い道具を使う様子のたとえ
이미지는 Codex CLI를 통한 GPT 이미지 생성으로 제작되었습니다
결론부터 말씀드리자면
- 사람이 보는 것은 Claude Code가 만든 디자인 변경의 미리보기뿐입니다. 디자인 변경은 미리보기용 브랜치에서 만들고 승인한 후에 본편에 배포합니다. 기사는 루틴이 자동적으로 수행하는 검사(링크·이미지·구조화 데이터·표시 속도 등)를 거쳐 공개됩니다. - 변경 전(10/17 12:25
10/30 12:35)과 변경 후(10/30 16:5611/13 09:36)에 걸쳐 Claude Code는
세션 145 → 13, 응답 7,642 → 114, 출력 토큰 5,899,323 → 41,663으로 변했습니다. - 변경 후의 13회 작업 중에는
기사 집필이 0회였습니다. 가장 많았던 것은 기사를 한 편 추가할 때마다 server.js
파일 목록에 12줄을 추가하는 작업(6회)이었습니다. 이들은 모두 응답 35회, 출력 447~1,467 토큰으로 끝났습니다. - 사이트에 추가된 기사 수는 변경 전 13일 동안 32편이었고, 변경 후에는 box가 멈춰 있던 3일을 제외한 11일 동안 25편이었습니다(하루 평균 2.5편 → 2.3편).
- 이는 'AI의 작업량이 줄었다'는 이야기가 아닙니다. 조사나 집필은 다른 에이전트와 Codex로 옮겼을 뿐이며, 해당 사용량이나 비용은 이 글에서 비교하지 않았습니다.
무엇을 어떻게 분리했는지
이 사이트(ai.sanvia.co.jp)와 note·Zenn은 매일~주 1회 작동하는 11개의 루틴으로 운영됩니다. 일간 사이트 개선, 평일 2회의 속보, 사이트 기사(주 3회), 부동산용 입문 기사(매일), note(주 2회), Zenn(주 2회), 주간 효과 측정, 매일 아침 보안 점검, 하네스 검토, 인기 기사 경향 분석, 유명 사이트 분석 등이 포함됩니다.
10월 30일까지는 루틴의 대부분이 Claude Code를 구동하여 '조사부터 공개까지 전부'를 맡기고 있었고, 요청문의 서두는 예를 들어 다음과 같은 형태였습니다.
당신은 note 기사 1편 분량의 '공개 가능한 패키지' 조사·검증·집필·작도·파일 생성 전반을 모두 담당합니다.
10월 30일 오후부터 경계를 파일 위치로 정했습니다.
| 업무 | 담당 |
|---|
server.js, api/, JS·CSS, 템플릿, scripts/의 변경 | Claude Code |
| 보안 수정 (매일 아침 점검에서 발견된 것) | Claude Code |
| 조사, Codex를 통한 실험, 본문, 도표, 이미지, 공개 전 검사, git, IndexNow, 로그 | 루틴을 돌리는 에이전트가 직접 수행 (이미지는 Codex CLI의 이미지 생성) |
| note·Zenn 기사 | Claude Code는 사용하지 않음 |
Claude Code에 대한 요청은 작고 닫힌 형태로 만들었습니다. 기사 등록이나 미리보기 요청 시에는 커밋(commit)이나 푸시(push)를 Claude Code에게 맡기지 않고, 호출한 쪽이 직접 수행합니다 (보안 수정만은 수정부터 push 및 본편 확인까지 Claude Code에 의존하고 있습니다).
In /workspace/ai-michishirube/server.js, find the line 'const RE_SLUGS = new Set([...]);' and append the slug '…' as the last element of that array …
어떻게 계산했는지
Claude Code는 세션별 기록을 ~/.claude/projects/<작업디렉토리>/<세션ID>.jsonl에 남깁니다. 서브 에이전트의 기록은 그 아래 폴더에 별 파일로 저장됩니다. 이 JSONL 파일에서 type: "assistant" 행에 있는 message.usage를 합산했습니다.
함정: 같은 응답의 usage가 여러 행에 걸쳐 나오는 경우
처음에는 모든 행을 그대로 합산했더니, 변경 전 출력 토큰이 14,676,098로 나왔습니다. 하지만 기록을 살펴보니, 하나의 응답 내용(문장, 툴 호출 등)이 여러 개의 행으로 분리되어 저장되었고, 모든 행에 동일한 usage가 붙어 있었습니다.
message.id를 사용하여 중복을 제거하니 5,854,348 (서브 에이전트분 제외)로, 단순히 합산했을 때보다 약 2.5배 적은 수치였습니다.
import json, glob, os
def session_usage(path):
seen, out, cache_read, n = set(), 0, 0, 0
...
분석 대상 및 제외 항목
- 대상: 작업 디렉토리(
cwd)가 이 사이트의 리포지토리, 해당 worktree, note/Zenn의 작업 폴더인 세션. (변경 전 145개 세션 + 서브 에이전트 기록 15건 → 변경 후 13개 세션)
- 제외 대상: 같은 머신에서 실행된 다른 봇의 프로젝트. 모델 비교 실험으로
claude -p를 측정 대상으로 호출한 세션 (변경 전 51개, 변경 후 26개). 이는 작업 내용이 아닌 실험 내용이므로 제외했습니다.
- 구분: 변경 전 마지막 세션은 10/30 12:35였고, 변경 후 첫 세션은 10/30 16:56입니다.
결과
| 구분 | 변경 전 (10/17 12:2510/30 12:35) | 변경 후 (10/30 16:5611/13 09:36) | |
|---|---|---|
| 세션 수 | 145 | 13 |
| ... | | |
출력 토큰은 약 141.6분의 1, 응답 수는 약 67분의 1로 감소했습니다.
10月17日から11月13日まで、1日ごとの Claude Code の出力トークンを並べた棒グラフ。10月29日までは毎日およそ19万〜66万トークン、10月31日以降はほとんど0に近く、最大でも11月11日の約1.5万トークン。11月4日から6日は box が止まっていた期間として灰色の帯
변경 전 출력이 많았던 상위 5개 세션 중 4개는 아티클 작성(속보 기사, note, 심층 분석 기사, Zenn) 요청이었습니다. note/Zenn 작업 폴더에서 실행된 세션은 변경 전 25건에서 변경 후 0건으로 줄었습니다.
남아있는 13회는 무엇이었나
変更後に Claude Code を起動した13回の内訳の横棒グラフ。記事を登録する1〜2行のデータ追加が6回、プレビュー用ブランチでのデザイン・機能の変更が4回、表示のバグ・CSS の修正が2回、セキュリティ修正が1回。記事の執筆は0回
| 종류 | 횟수 | 응답 수 | 출력 토큰 |
|---|
기사 등록을 위한 데이터 추가 (예: server.js 목록에 slug 또는 이미지 설명 추가) | 6 | 각 3~5회 | 447~1,467 |
| 디자인/기능 변경 (미리보기 브랜치 예시: 실제 이미지 대체, 템플릿 다운로드 등) | 4 | 5~26회 | 3,048~14,636 |
| 표시 버그 및 CSS 수정 | 2 | 6회・6회 | 1,647・1,506 |
| 보안 수정 (npm audit moderate 건 1건) | | | |
| 1 | 20회 | 4,986 | |
여기서 알 수 있는 점이 두 가지 있습니다.
1. 요청 범위를 좁히면 Claude Code는 3응답 만에 끝난다
데이터 추가가 발생한 6건 모두 "이 파일의 이 위치에 이것을 추가해라. 다른 부분은 건드리지 마라. 커밋하지 마라"라는 요청이었습니다. 응답은 35회, 출력 토큰은 4471,467 토큰입니다. 변경 전 세션의 중앙값(41응답・31,299토큰)과 비교했을 때, 요청 범위를 정하는 것만으로도 한 번의 작업 무게가 완전히 다릅니다.
2. 경계를 파일 위치로 정하면 단순 데이터 추가에도 호출하게 된다
13건 중 6건은 코드라기보다는 아티클 목록 데이터를 추가하는 것이었습니다. 아티클의 slug나 이미지 설명문이 server.js 안에 작성되어 있기 때문에, "server.js는 Claude Code"라는 규칙에 걸리게 됩니다. 이 목록을 JSON 같은 데이터 파일로 분리할 수만 있다면, 이 6건은 Claude Code를 호출하지 않고도 처리할 수 있을 것입니다 (아직 시도해보지 않았습니다).
아티클 수는 줄었나
사이트의 articles/에 새로 추가된 아티클을 git 히스토리로 세어보았습니다 (첫날인 10/17은 기존 아티클 12건이 포함되어 있으므로 제외했습니다).
| 기간 | 일수 | 추가된 기사 | 일일 평균 |
|---|
| 10/18~10/30 | 13일 | 32편 | 2.5편 |
10/3111/13 (11/411/6 제외) | 11일 | 25편 | 2.3편 |
11/4~11/6은 머신(box) 문제로 어떤 루틴도 작동하지 않은 기간이므로 제외했습니다. 날짜별로 구분했기 때문에, 10/30의 2편은 변경 전 데이터에 포함되어 있습니다. 약간 감소했지만, 이 차이가 Claude Code를 제거한 것 때문인지는 이 수치만으로는 알 수 없습니다.
확인되지 않은 사항
- 전체 비용을 비교하지는 않았습니다. 조사, 집필, 이미지는 다른 에이전트와 Codex로 이동했을 뿐이며, 해당 사용량은 이번에 계산하지 않았습니다. 확실하게 말할 수 있는 것은 'Claude Code의 이용 한도를 어디에 쓰고 있는지'가 명확해졌다는 것뿐입니다. -
- 기사 품질을 비교하지는 않았습니다. 공개 전 자동 검사는 변경 전후로 동일한 것을 통과했지만, 독자 반응 비교는 아직 진행되지 않았습니다. - 기간은 약 2주씩이며, 루틴의 내용물도 조금씩 바꾸고 있습니다. 동일한 조건으로 반복된 실험이 아닙니다.
요약
Claude Code의 이용 한도를 절약하고 싶다면, 먼저 무엇에 사용했는지 JSONL에서 세는 것이 빠릅니다. 이때 message.id로 중복을 제거하지 않으면 2배 이상 많이 보일 수 있습니다.
제 경우, 글쓰기 작업을 제외하고 코드 변경만 요청하도록 바꾼 결과, 2주 만에 출력 토큰(output token)이 약 1/140 수준으로 줄었습니다. 남은 호출의 절반은 '목록에 한 줄 추가'하는 것뿐이었으므로, 다음에는 그 목록을 코드로 추출할 계획입니다.
논의 (Discussion)