Claude Code가 출시된 이후로 저는 이 도구의 열렬한 팬이 되었습니다.
처음 사용해봤을 때, 그 성능에 정말 놀랐습니다. 하지만 토큰 비용이 빠르게 제게 부담이 되었습니다. 당시에는 그런 엄청난 비용을 정당화할 수 없었습니다.
Anthropic이 Claude.ai 구독을 통해 Claude Code 사용을 지원하기 시작한 이후로는 저에게 당연한 선택이 되었습니다. 저는 빠르게 Max 티어를 구매해서 사용하고 있습니다.
그 이후로 Claude Code를 광범위하게 사용해왔습니다. 저는 항상 여러 개의 CC 인스턴스를 실행하여 어떤 형태로든 코딩이나 유용한 작업을 수행하고 있습니다. API를 사용해서 지불해야 했다면 수천 달러가 들었을 것입니다. 이것을 시작한 이후로 제 생산성이 눈에 띄게 향상되었고, 이런 에이전틱 코딩 도구들을 더 잘 사용하게 되면서 꾸준히 증가하고 있습니다.
일회성 프로젝트부터...
에이전틱 코딩은 재미를 위해 탐구하고 싶은 일회성 프로젝트를 수행할 수 있다는 명백한 이점을 제공합니다. 바로 어제, 저는 덴마크 의료 시스템에서 제 모든 의료 기록을 다운로드하고 LLM이 쉽게 이해할 수 있도록 포맷했습니다. 그런 다음 OpenAI의 o3 모델에게 제공하여 제 (다소 비전형적인) 의료 이력을 더 잘 이해할 수 있도록 도움을 받았습니다. 이것은 설정하고 가이드하는 데 겨우 15분의 시간이 필요했고, 결과는 환상적이었습니다. 저는 마침내 수년간 궁금해했던 질문들에 대한 답을 얻었습니다.
CC가 유용하지만 일상에서 우선순위를 둘 만큼 중요하지 않은 일들을 도와준 수많은 사례들이 있습니다.
진지한 개발까지
제가 가장 관심 있는 것은 Claude Code와 같은 도구를 사용하여 어떻게 제 영향력을 증가시키고 더 나은, 더 유용한 솔루션을 만들 수 있는지입니다. 사이드 프로젝트는 재미있지만, 최적화해야 할 가장 중요한 것은 아닙니다. 진지한 프로젝트는 (보통) 기존 코드베이스와 유지해야 할 품질 표준이 있습니다.
저는 이런 종류의 프로젝트에서 Claude Code, AmpCode, 그리고 다른 AI 코딩 도구들을 사용해서 훌륭한 경험을 했지만, 코딩 패턴이 다릅니다:
- 컨텍스트 큐레이션이 중요합니다: 작업 명세를 넘어서 확립된 경험과 방향적 단서를 포함해야 합니다.
- 아키텍처를 가이드해야 합니다: 시스템의 컨텍스트에 잘 맞는 디자인을 만들도록 모델에게 제공하고 가이드하는 것은 여러분의 책임입니다. 이는 더 많은 손잡아주기와 에이전틱 도구들이 실행할 명시적인 계획을 만드는 것을 의미합니다.
- 바이브 코딩 대신 파트너십: 여러분을 위해 사소한 작업들을 열심히 수행하고, 어떤 영역에서는 놀랍도록 유능하며, 몇 분 안에 수백 페이지의 문서를 읽고 이해할 수 있지만, 가이드 없이는 여러분의 시스템이나 프로젝트를 완전히 이해하지 못하는 지적 토론 파트너와 더 비슷합니다.
에이전틱 코딩을 위한 패턴과 팁
이 조언의 대부분은 다음과 같이 요약할 수 있습니다:
- 사용하고 있는 도구를 잘 사용하는 법을 배우세요
- 이런 에이전틱 코딩 도구들을 더 잘 사용할 수 있도록 도와주는 도구와 프레임워크를 구축하고 유지하세요. 에이전틱 도구를 사용해서 이런 것들을 작성하세요
에이전틱 코딩 도구에서 얻는 여러분의 기술과 생산성 향상은 시간이 지남에 따라 기하급수적으로 향상될 것입니다.
다음은 Claude Code를 광범위하게 사용하면서 배운 가장 유용한 패턴과 팁들을 요약한 것입니다.
1. CLAUDE.md 파일 설정 및 유지
이것은 번거로울 수 있지만 엄청나게 유용하고 많은 시간을 절약해줄 수 있습니다.
CC 프롬프트에 #
을 접두사로 사용하면 CLAUDE.md에 추가하여 지침을 기억합니다.
테스트, 프론트엔드 코드, 백엔드 서비스 등에 대한 특정 지침을 제공하기 위해 하위 디렉토리에 CLAUDE.md 파일을 넣으세요. 컨텍스트를 큐레이션하세요!
CLAUDE.md 같은 파일이나 (7)의 절차, (11)의 스크립트에 투자하는 것은 개발자 도구에 투자하는 것과 같습니다. 린터나 포매터 없이 코딩하시겠습니까? 여러분을 수정하고 피드백을 주는 언어 서버 없이? 또는 타입 체커 없이?
할 수는 있지만, 대부분은 그것이 쉽지도 않고 생산적이지도 않다는 데 동의할 것입니다.
2. 명령어 사용
몇 가지 유용한 것들:
- 계획 모드 (shift+tab). 이것이 CC의 신뢰성을 높인다고 생각합니다. 작업을 완료까지 볼 수 있는 능력이 더 향상됩니다.
- 상세 모드 (CTRL+R)로 Claude가 보고 있는 전체 컨텍스트 확인
- Bash 모드 (
!
접두사)로 명령어를 실행하고 출력을 다음 턴의 컨텍스트로 추가 - Escape로 중단하고 double escape로 대화 기록에서 다시 점프
3. 여러 인스턴스를 병렬로 실행
프론트엔드 + 백엔드를 동시에 하는 것은 훌륭한 접근법입니다. 한 인스턴스가 플레이스홀더/모킹된 API로 프론트엔드를 구축하고 디자인을 반복하는 동안 다른 에이전트가 백엔드를 코딩하도록 하세요.
Git worktrees를 사용하여 여러 에이전트와 동일한 코드베이스에서 작업할 수 있습니다.
여러 Docker Compose 환경을 구동해야 할 때는 솔직히 득보다 실이 많으므로, 그런 종류의 프로젝트에서는 단일 Claude 인스턴스를 사용하세요. 또는 프로젝트의 여러 인스턴스를 동시에 실행하지 마세요.
4. 서브 에이전트 사용
Claude Code에게 그렇게 하라고 요청하기만 하면 됩니다.
일반적이고 유용한 패턴은 여러 서브 에이전트를 사용하여 동시에 여러 각도에서 문제에 접근한 다음, 메인 에이전트가 노트를 비교하고 여러분과 함께 최선의 솔루션을 찾도록 하는 것입니다.
5. 시각적 자료 사용
스크린샷을 사용하세요 (그냥 드래그해서 넣으면 됩니다). Claude Code는 시각적 정보를 이해하는 데 뛰어나고 UI 문제를 디버그하거나 디자인을 복제하는 데 도움을 줄 수 있습니다.
6. Claude 4 Opus 선택
특히 상위 티어를 사용하고 있다면. 사용 가능한 최고의 모델을 사용하지 않을 이유가 있나요?
일화적으로, 이미 좋은 모델인 Claude 4 Sonnet에서 눈에 띄는 한 단계 업그레이드입니다.
7. 프로젝트별 슬래시 명령어 생성
.claude/commands
에 넣으세요.
예시:
- 일반적인 작업이나 지침
- 마이그레이션 생성
- 프로젝트 설정
- 컨텍스트/지침 로딩
- 매번 다른 초점으로 반복이 필요한 작업
@tokenbender가 이 관행을 보여주는 agent-guides 설정에 대한 훌륭한 가이드를 작성했습니다.
8. Extended Thinking 사용
디버깅, 계획, 디자인과 같이 더 많은 고려가 필요한 경우에 think
, think harder
, 또는 ultrathink
를 작성하세요.
이것들은 사고 예산을 증가시켜서 더 나은 결과를 제공합니다 (하지만 더 오래 걸립니다).ultrathink
는 31,999 토큰을 할당한다고 알려져 있습니다.
9. 모든 것을 문서화
Claude Code가 자신의 생각, 현재 작업 명세, 디자인, 요구사항 명세 등을 중간 마크다운 문서에 작성하도록 하세요. 이것은 나중에 컨텍스트 역할과 지금의 스크래치패드 역할을 모두 합니다. 그리고 코딩 과정을 검증하고 가이드하는 데 더 쉬워집니다.
나중 세션에서 이런 문서들을 사용하는 것은 매우 귀중합니다. 세션이 길어질수록 컨텍스트가 손실됩니다. 문서를 다시 읽기만 하면 중요한 컨텍스트를 되찾을 수 있습니다.
10. 바이브 코더들을 위해
GIT을 사용하세요. 자주 사용하세요. Claude가 커밋 메시지를 작성하도록 할 수 있습니다. 하지만 진짜로, AI 지원으로 빠르게 움직일 때 버전 관리가 더욱 중요해집니다.
다른 AI 코딩 도구들이 가지고 있는 것과 같은 체크포인트 시스템이 없으므로, 저는 Git 사용에 매우 주의를 기울입니다. 지난 두 메시지 분량의 편집을 되돌릴 수 없습니다 - Claude가 변경을 하면, 그것으로 끝입니다. Git이 여러분의 안전망입니다.
11. 워크플로우 최적화
- 컨텍스트를 보존하기 위해 이전 세션을 계속하세요 (
--resume
또는--continue
사용). - MCP 서버 사용 (context7, deepwiki, puppeteer, 또는 직접 구축)
- 일반적인 결정론적 작업을 위한 스크립트를 작성하고 CC가 유지하도록 하세요
- GitHub 컨텍스트를 위해 fetch 도구 대신 GitHub CLI를 사용하세요. GitHub에서 컨텍스트를 검색하기 위해
fetch
도구를 사용하지 마세요. (또는 MCP 서버를 사용하되, CLI가 더 좋습니다). - ccusage로 사용량 추적
- Pro/Max 티어를 사용한다면 더 재미있는 기믹입니다 – API를 사용했다면 '지출할 수 있었던' 금액을 볼 수 있습니다.
- 하지만 라이브 대시보드 (
bunx ccusage blocks --live
)는 여러 에이전트가 속도 제한에 가까워지고 있는지 확인하는 데 유용합니다.
- 문서를 통해 최신 정보를 유지하세요 – 정말 좋습니다
12. 빠른 피드백 루프 목표
모델이 빠른 피드백 루프를 달성할 수 있도록 검증 메커니즘을 제공하세요. 이것은 특히 특정 지침과 제약 조건과 함께 사용될 때 보상 해킹을 줄이는 데 도움이 됩니다.
보상 해킹: AI가 실제로 문제를 해결하지 않고도 성공한 것처럼 보이게 하기 위해 지름길을 택하는 것입니다.
예를 들어, 실제 작업을 하는 대신 가짜 출력을 하드코딩하거나 항상 통과하는 테스트를 작성할 수 있습니다.
13. IDE에서 Claude Code 사용
경험이 페어 프로그래밍과 더 비슷해지고, CC가 IDE 도구와 상호작용할 수 있는 능력을 제공하므로 매우 유용합니다. 예를 들어 린트 오류, 활성 파일 등에 액세스할 수 있습니다.
14. 메시지 대기열
Claude Code가 작업하는 동안 메시지를 계속 보낼 수 있으며, 이것들이 다음 턴을 위해 대기열에 들어갑니다. 다음에 무엇을 할지 이미 알고 있을 때 유용합니다.
현재 CC가 이 메시지를 항상 보지 못하는 버그가 있지만, 보통은 작동합니다. 그냥 인지하고 있으세요.
15. 압축 및 세션 컨텍스트 길이
압축에 매우 주의하세요. 대화의 노이즈를 줄이지만 중요한 컨텍스트도 압축해버릴 수 있습니다. 압축은 정보 손실로 이어지므로 자연스러운 중단점에서 미리 수행하세요.
이상적으로는 작업을 단일 세션에서 처리할 수 있을 만큼 작게 나누는 것이 좋습니다. 저는 /clear
를 거의 사용하지 않습니다 - 그냥 다른 세션을 시작합니다.
16. 더 나은 PR 템플릿 사용
이것은 템플릿 자체에 대한 개인적인 불만입니다.
기본값과 다른 PR 템플릿을 사용하세요. Claude 4/CC가 특정 템플릿을 사용하도록 지시받은 것 같지만, 그 템플릿은 별로입니다. "Summary → Changes → Test plan"은 괜찮지만 정확한 PR이나 프로젝트에 맞춤화된 PR 본문을 갖는 것이 더 좋습니다.
17. 디버깅을 위한 로그 파일 사용
제가 발견한 가장 강력한 디버깅 패턴 중 하나는 Claude Code가 읽을 수 있는 로그 파일로 출력을 리디렉션하는 것입니다. 작동 방식은 다음과 같습니다:
- 개발 서버 출력을 로그 파일로 리디렉션:
bun run dev > dev.log 2>&1
- Claude Code가 로그 파일을 읽어서 무슨 일이 일어나고 있는지 이해하도록 하세요
- 디버깅을 위해 코드 전체에 로깅 문을 추가할 수 있습니다
- 수동으로 (Claude가 언제 테스트할지 프롬프트할 수 있음) 또는 자동으로 (Claude가 작성한 스크립트를 통해) 테스트
- 통합된 뷰를 위해 프론트엔드와 백엔드 양쪽의 출력을 같은 파일로 파이프할 수도 있습니다
이제 Claude가 로그의 패턴을 분석하고, 더 많은 로깅을 어디에 추가할지 제안하고, 여러분이 무슨 일이 일어났는지 계속 묻지 않고도 반복적으로 문제를 좁혀나가는 데 도움을 줄 수 있습니다.
18. 여러 모델을 함께 사용
제가 하고 있는 것 중에 엄청나게 잘 작동하는 것이 있습니다: o3-pro와 Claude Code를 동시에 실행하는 것입니다.
저는 Claude Code와 함께 Cursor에서 o3 (특히 o3-pro)를 실행합니다. o3-pro는 계획과 디자인에서 엄청나게 뛰어납니다 - 여러분의 코드베이스를 보고 외과적 정밀도로 정확히 무엇을 변경해야 하는지 알려줄 수 있습니다. 여러분의 시스템을 이해하고 어떤 파일의 정확히 어떤 세 줄을 조정해야 하는지 정확히 아는 것에 대해 말하고 있습니다.
제 워크플로우는 다음과 같습니다:
- Cursor IDE에서 Claude Code 실행
- 어려운 사고를 위해 o3-pro 실행
- Cursor에서 코드베이스의 관련 부분 태그
- o3-pro가 접근법을 파악하도록 함
- Claude Code가 구현하도록 함
이 조합이 복잡한 작업, 리팩토링, 디버그하기 어려운 문제에 엄청나게 좋다는 것을 발견했습니다.
이 워크플로우는 꽤 비쌀 수 있고, Opus를 사용한 Claude Code는 대부분의 작업에 충분합니다. o3-pro에 도달하기 전에 Claude Code에서 광범위한 계획을 사용하는 것을 권장합니다.
코딩을 넘어서
Claude Code는 코드 이상의 용도로 사용할 수 있습니다.
- 문서 연구 → 요약 작성 (예: 다른 세션 컨텍스트에 사용하기 위해)
- 디버깅 (정말 잘합니다!)
- 기능 완료 후 문서 작성
- 리팩토링
- 테스트 작성
- X가 어디서 수행되는지 찾기 (예: 새로운 코드베이스나 익숙하지 않은 거대한 코드베이스에서)
- 제 노트에 대한 광범위한 연구를 위해 Obsidian 볼트에서 Claude Code 사용 (일지, 생각, 아이디어, 노트, ...)
주의할 점들
도구 사용 시 보안
MCP나 다른 수단으로 가져오는 등 모델에 주입하는 외부 컨텍스트에 매우 주의하세요. 프롬프트 인젝션은 실제 보안 문제입니다.
사람들이 예를 들어 GitHub 이슈에 악성 프롬프트를 작성하여 여러분의 에이전트가 의도하지 않은 정보를 누출하거나 전례 없는 행동을 취하도록 할 수 있습니다.
바이빙
사람들이 코드를 적극적으로 유지해야 하는 프로덕션 시스템에서는 몇 시간 동안 완전 자동화된 바이브 코딩이 의미가 있는 경우를 아직 보지 못했습니다. 네, 작동하고 할 수 있지만, 적어도 코드를 직접 검토하거나 피하는 것이 좋습니다.
모델 변동성
때로는 Anthropic이 모델 수요에 따라 양자화된 모델을 사용하고 있는 것 같습니다. 마치 모델 품질이 시간에 따라 변할 수 있는 것 같습니다. 이것은 기술 문제일 수 있지만, 다른 사용자들도 비슷한 경험을 보고하는 것을 보았습니다. 이해할 수 있지만, 유료 사용자로서는 기분이 좋지 않습니다.
Claude Code 실행
저는 사용하는 도구들을 만지작거리고 탐구하는 것을 도울 수 없어서, Claude Code와 함께 사용할 몇 가지 흥미로운 구성을 찾았습니다.
제가 사용하는 환경 변수 중 일부는 아직 공개적으로 문서화되지 않았으므로, 불안정할 수 있다는 경고입니다.
다음은 최적화된 설정으로 Claude Code를 실행하기 위해 사용하는 bash 함수입니다:
function ccv() {
local env_vars=(
"ENABLE_BACKGROUND_TASKS=true"
"FORCE_AUTO_BACKGROUND_TASKS=true"
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=true"
"CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL=true"
)
local claude_args=()
if [ "$1" == "-y" ]; then
claude_args+=("--dangerously-skip-permissions")
elif [ "$1" == "-r" ]; then
claude_args+=("--resume")
elif [ "$1" == "-ry" ] || [ "$1" == "-yr" ]; then
claude_args+=("--resume" "--dangerously-skip-permissions")
fi
env "${env_vars[@]}" claude "${claude_args[@]}"
}
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=true
: 텔레메트리, 오류 보고, 자동 업데이트 비활성화ENABLE_BACKGROUND_TASKS=true
: 장시간 실행되는 명령어를 위한 백그라운드 작업 기능 활성화FORCE_AUTO_BACKGROUND_TASKS=true
: 확인 없이 자동으로 긴 작업을 백그라운드로 보냄CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL=true
: Jupyter 노트북을 포함한 파일 읽기 기능 통합
이것은 다음을 제공합니다:
- 긴 작업에 대한 자동 백그라운드 처리 (예: 개발 서버)
- 텔레메트리나 불필요한 네트워크 트래픽 없음
- 통합된 파일 읽기
- 일반적인 시나리오를 위한 쉬운 스위치 (
-y
는 자동 승인,-r
은 재개)
백그라운드 작업 플래그에 대한 참고사항: 이론적으로는 좋지만, Claude Code가 아직 제대로 처리할 수 없습니다. 작업이 백그라운드로 강제될 때, CC는 작업의 로그를 가져오는 방법을 모릅니다. 따라서 플래그는 작동하지만 구현이 아직 완전하지 않습니다.
출처: https://bagerbach.com/blog/how-i-use-claude-code/
관련 태그: #Claude #ClaudeCode #AI코딩 #개발도구 #생산성향상