
Claude의 프로젝트 이력을 분석하여 자신의 작업 패턴을 시각화해 보았다
요약
Claude Code의 세션 로그(JSONL)를 분석하여 사용자의 작업 패턴을 시각화하고 효율성을 검증한 사례를 소개합니다. Bash 실행 빈도와 반복적인 Read 호출 등 낭비되는 패턴을 탐지하여 자동화 및 위임 가능한 태스크를 제안합니다.
핵심 포인트
- Claude Code는 ~/.claude/projects에 세션 로그를 JSONL 형식으로 저장함
- 분석 결과 Bash 도구 사용 비중이 59.5%로 가장 높게 나타남
- 반복적인 Read 호출이나 과도한 Bash 실행 등 비효율적인 패턴 탐지 가능
- 분석 데이터를 기반으로 코드 리뷰 등 특정 태스크의 LLM 위임 제안
서론
X에서 이런 포스트가 올라왔다:
"당신의 머신에는 상담사보다 당신을 더 잘 아는 폴더가 있습니다. Claude가 방금 그것을 읽는 법을 배웠습니다."
— @0xAI42exe
「Claude가 당신의 모든 세션 이력을 읽고, 시간 낭비나 위임해야 할 태스크를 특정한다」는 홍보 문구. 6단계 프로세스를 통해 당신의 Claude 사용법을 자기 분석한다는 내용이다.
실제로 얼마나 유용한지 검증해 보았다.
~/.claude/projects
의 정체
Claude Code (CLI 버전 Claude)는 프로젝트마다 세션 로그를 저장하고 있다. 위치는 ~/.claude/projects/ 이다.
디렉터리 이름은 절대 경로를 하이픈(-) 구분자로 변환한 것이다. 내부 구성은 다음과 같다:
-프로젝트명/
├── UUID.jsonl ← 세션 로그
└── memory/ ← 프로젝트 기억
각 세션은 JSONL (1행 1JSON) 형식이다. 한 파일에 모든 이벤트가 시계열로 담겨 있다.
JSONL의 내용
{"type":"user","message":{...},"timestamp":"...","entrypoint":"cli"}
{"type":"assistant","message":{"content":[{"type":"text","text":"..."},{"type":"tool_use","name":"Bash","input":{...}}]},"timestamp":"..."}
{"type":"tool_result","message":{...},"timestamp":"..."}
이벤트 타입은 주로: user (인간의 입력), assistant (Claude의 응답), tool_result (도구 실행 결과), mode (모드 변경), file-history-snapshot (파일 스냅샷) 등이다.
분석 스크립트 만들기
68개 세션, 6개 프로젝트, 총 파일 크기 56MB. 이것을 수동으로 보는 것은 비현실적이므로 분석 스크립트를 작성했다 (약 200줄의 Python).
추출한 정보:
- 세션 ID, 시작/종료 시각, 엔트리 포인트 (entrypoint)
- 사용자/어시스턴트 메시지 수
- 도구 호출 (tool call) 종류와 빈도
- 요청 수, 추정 토큰량
- 파일 크기
충격적인 데이터
전체적인 통계
| 지표 | 값 |
|---|---|
| 세션 총수 | 68 |
| ... |
도구 사용 빈도 TOP 10
Bash 2,840 ████████████████████████████████████████ 59.5%
Edit 514 ████████ 10.8%
Read 508 ████████ 10.6%
...
Bash만으로 59.5%. 코드를 "쓰는" 것보다 "실행하는" 데 더 많은 리소스를 사용하고 있다. 이는 많은 Claude 사용자에게 공통적으로 나타날 법한 경향이다.
낭비 패턴 탐지
분석 로직으로 "낭비스러운" 세션을 자동 탐지했다:
1. Read 호출 과다 (>20회): 3개 세션
최대 209회의 Read. 파일을 반복해서 다시 읽고 있는 패턴.
2. Bash 대량 실행 (>50회): 3개 세션
최대 1,709회의 Bash 실행. 커맨드 실행 루프에 빠졌을 가능성.
3. 사용자 왕복 과다 (>10회): 15개 세션
최대 3,447회 왕복. 인간이 세세하게 지시를 계속 내리고 있는 패턴.
4. AskUserQuestion 사용: 3개 세션
판단을 인간에게 맡기고 있는 패턴.
위임 제안
분석 결과를 LLM에 전달하여, 자동으로 위임 가능한 태스크를 제안하게 했다:
1️⃣ 정기적인 Code Review 위임
Bash 59.5% + Edit 10.8% + Read 10.6% = 81%가 코드 조작 계열이다. 변경 차분(diff) 리뷰를 Claude에게 상시 위임함으로써, 사용자 왕복을 30% 절감할 수 있을 것으로 기대된다.
2️⃣ 파일 발견 태스크의 자동화
Read 호출 508회의 상당수가 "파일을 찾는" 행위이다. find / grep
래퍼(Wrapper)를 정형화하여 에이전트(Agent) 태스크로 만든다면, Read 호출을 50%까지 절감할 수도 있다.
3️⃣ Web 검색 + 정보 수집의 자동 위임
WebFetch 71회 + WebSearch 52회. 정보 수집 계열은 즉시 서브 에이전트(Sub-agent)에게 위임해야 한다.
4️⃣ 정형 커맨드 실행의 캐싱
Bash 2,840회 중 적어도 30%는 동일한 커맨드의 재실행이다. 결과 캐싱(Caching) 또는 스킬화(Skillification)를 통해 Bash 호출을 20% 절감할 수 있다.
5️⃣ AskUserQuestion의 자동 판단
68회의 질문 중 "어느 쪽이 좋아?" 계열이 많다. 과거의 판단 패턴을 기억하고 자동 판단하게 하면 응답 대기 시간을 해소할 수 있다.
검증의 한계
실제로 "6단계" 구현까지는 재현할 수 없었다. 원문 포스트의 주장에는 과장이 포함되어 있다:
- ❌ "every session you have ever run" → 실제로는 프로젝트별로 나뉜 약 반년 치
- ❌ "테라피스트보다 당신을 더 잘 안다" → 과장된 표현
- ❌ 모든 세션을 LLM에 통째로 맡겨 의미 분석 → 토큰(Token) 소비가 너무 커서 비현실적
알 수 있는 것은 "사용한 도구의 경향"이나 "시간 사용의 대략적인 패턴"이며, 깊은 심리나 의도까지는 읽어낼 수 없다.
결론
실용적인 가치: 있음
"자신의 Claude 사용 패턴을 객관적으로 본다"는 행위 자체는 매우 유용하다. 특히:
- **Bash가 59.5%**라는 사실은, 코드 생성 AI가 "쓰기보다 실행하고 있는" 현상을 부각시킨다.
- Read 과다 세션은 파일 탐색 효율화의 여지를 보여준다.
- 사용자 왕복 과다는 배치 처리(Batch processing)로의 전환 여지를 보여준다.
추천하는 사용법
- 이 기사의 스크립트를 베이스로 하여, 자신의
~/.claude/projects를 분석한다. - "Bash만 계속 쓰고 있다", "Read가 많다"와 같은 경향을 찾아낸다.
- 그 경향에 맞춰 스킬이나 에일리어스(Alias)를 정비한다.
- 3개월 후에 재측정하여 개선을 확인한다.
"데이터 드리븐(Data-driven)한 자기 개선"의 입구로서는 충분한 가치가 있다. 다만, 포스트의 주장을 그대로 믿고 "Claude에게 모든 이력을 읽게 하는 것"은 현실적이지 않다(토큰 소비가 너무 크다).
우선은 도구 사용 패턴이라는 "외부 데이터"로부터 자신의 경향을 파악하고, 그것을 바탕으로 개선해 나가는 것이 현실적인 해답이다.
스크립트
분석에 사용한 Python 스크립트의 요점:
def extract_session_info(rows):
# 세션 ID, 시간, 메시지 수, 도구 호출을 추출
...
...
동봉된 스크립트를 복사하여 python3 analyze_claude_logs.py로 실행 가능하다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기