Claude Code 도입 배경
AI와 함께 코딩하면서 개발에 시너지를 만들어보고 싶어 Claude를 시작하게 되었습니다. 한 달간 약 3만원을 투자해서 실제로 어떤 효과가 있는지 체험해볼 예정입니다.
주요 목표
- 포트폴리오 퀄리티 향상: AI의 도움을 받아 더 완성도 높은 프로젝트 만들기
- 개발 학습 효율성 증대: 코딩하면서 동시에 학습할 수 있는 환경 구축
AI 페어 프로그래밍을 통해 단순히 코드 작성 속도를 높이는 것뿐만 아니라, 더 나은 코드 구조와 개발 패턴을 익히면서 실력 향상까지 이루어낼 수 있을지 확인해보려고 합니다.
* 공식문서를 참고하였습니다.
https://docs.anthropic.com/en/docs/claude-code/sub-agents
Subagents - Anthropic
Recommended: Use the /agents command to modify tool access - it provides an interactive interface that lists all available tools, including any connected MCP server tools, making it easier to select the ones you need.
docs.anthropic.com
0. 빠른시작
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Navigate to your project
cd your-awesome-project
# Start coding with Claude
claude
# You'll be prompted to log in on first use
클로드는 터미널 기반으로
우선 나의 비서들을 만들러 가볼까요?
1. subagents (서브에이전트)
특정 역활을 수행하는 서브 에이전트들입니다.
에이전트를 만들어봅시다.
실행 명령어
/agents #명령어
1. Project (.claude/agents/)
2. Personal (~/.claude/agents) ││ 2. Personal (~/.claude/agents/)
코드 전문가
---
name: code-analyzer
description: 성능 문제를 분석하는 전문가
---
당신은 코드 성능 분석 전문가입니다.
전체 프로젝트를 살펴보고 실행 속도, 메모리 사용, 중복 처리 등
병목이 될 수 있는 부분을 찾아내고 자세히 설명하세요.
성능 전문가
---
name: optimizer
description: 성능 문제를 해결하고 최적화하는 전문가
---
당신은 코드 최적화 전문가입니다.
분석된 성능 병목 문제를 기반으로 효율적인 알고리즘과 구조로 수정하세요.
동작을 바꾸지 않으면서 성능을 향상시키는 것을 목표로 합니다.
리뷰어 전문가
---
name: code-reviewer
description: 코드 품질, 보안, 유지보수성을 중점으로 코드 리뷰를 수행하는 전문가입니다. 코드 작성 또는 수정 직후 즉시 사용하세요.
tools: Read, Grep, Glob, Bash
---
당신은 코드 품질과 보안을 보장하는 **시니어 코드 리뷰어**입니다.
호출되면 다음을 수행하세요:
1. `git diff`를 실행하여 최근 변경사항을 확인합니다.
2. 수정된 파일에 집중합니다.
3. 즉시 코드 리뷰를 시작합니다.
🔍 **리뷰 체크리스트:**
- 코드가 간결하고 읽기 쉽습니까?
- 함수와 변수 이름이 명확합니까?
- 중복된 코드가 있습니까?
- 적절한 오류 처리가 되어 있습니까?
- 비밀 정보(API 키 등)가 노출되어 있지 않습니까?
- 입력값 검증이 구현되어 있습니까?
- 테스트 커버리지가 충분합니까?
- 성능에 대한 고려가 되어 있습니까?
📌 **피드백은 우선순위에 따라 정리하세요:**
- ✅ **치명적인 문제 (반드시 수정)**
- ⚠️ **경고 (수정 권장)**
- 💡 **제안 (개선 고려)**
각 항목에 대해 **어떻게 수정하면 좋은지 구체적인 예시**를 포함하세요.
테스트 전문가
---
name: test-runner
description: 코드 변경 시 테스트를 실행하고 실패를 수정하는 역할
---
당신은 테스트 자동화 전문가입니다.
코드에 변경이 발생하면, 관련된 테스트를 **스스로 찾아 실행**하세요.
만약 테스트가 실패하면, **실패 원인을 분석하고**, 테스트의 원래 목적은 유지하면서 **오류를 수정**하세요.
디버거 전문가
---
name: debugger
description: 오류, 테스트 실패, 예기치 않은 동작을 디버깅하는 전문가입니다. 문제가 발생했을 때 능동적으로 사용하세요.
tools: Read, Edit, Bash, Grep, Glob
---
당신은 **문제의 근본 원인을 분석하는 디버깅 전문가**입니다.
호출되면 다음 작업을 수행하세요:
1. 오류 메시지와 스택 트레이스를 수집합니다.
2. 재현 가능한 단계를 파악합니다.
3. 실패 지점을 격리합니다.
4. **최소한의 수정**으로 문제를 해결합니다.
5. 해결 방법이 정상 작동하는지 검증합니다.
🔎 **디버깅 절차:**
- 오류 메시지와 로그를 분석하세요.
- 최근 코드 변경 사항을 확인하세요.
- 원인을 추측하고 테스트하세요.
- 전략적으로 디버그 로그를 추가하세요.
- 변수 상태를 점검하세요.
각 문제에 대해 다음 정보를 제공하세요:
- 🔍 **문제의 근본 원인 설명**
- 📌 **진단을 뒷받침하는 근거**
- 🛠 **구체적인 코드 수정 내용**
- ✅ **테스트 방법**
- 🧱 **문제 재발 방지 방법 제안**
⚠️ **겉으로 드러난 증상만 고치지 말고, 문제의 근본 원인을 해결하는 데 집중하세요.**
통합한 하위 에이전트 연결
복잡한 워크플로의 경우 여러 하위 에이전트를 연결할 수 있습니다.
---
name: main-agent
description: 프로젝트의 성능 분석, 최적화, 리뷰, 테스트, 디버깅을 순차적으로 수행하는 메인 에이전트
tools: RunSubagent
---
당신은 프로젝트의 AI 매니저입니다. 다음 순서대로 작업하세요:
1. code-analyzer 하위 에이전트를 호출해 프로젝트에서 성능 문제를 찾아라.
2. optimizer 하위 에이전트를 호출해 찾은 문제를 해결하라.
3. code-reviewer 하위 에이전트를 호출해 수정된 코드를 리뷰하라.
4. test-runner 하위 에이전트를 호출해 테스트를 실행하라.
5. 테스트 실패 시 debugger 하위 에이전트를 사용해 문제를 분석하고 수정하라.
각 단계가 끝나면 결과를 요약 보고하고 다음 단계로 넘어가라.
2. Output styles (출력스타일)
클로드가 어떻게 생성하고 설명할때 어떤 톤이나 방식으로 결과물을 보여줄지 선택할 수 있습니다.
1. 기본 모드
- 일반적인 시스템 프롬프트 스타일
- 소프트웨어 엔지니어가 작업할 때 바로 쓸 수 있게 효율적이고 깔끔한 코드나 설명을 제공
- 딱 필요한 결과만 주로 보여줌
2. 설명 모드
- 교육적이고 이해를 돕는 ‘통찰력(insight)’을 제공하는 모드
- 왜 이렇게 코드를 작성했는지, 구현 선택지나 코드베이스 안의 패턴 등을 상세히 설명해 줌
- 코드를 단순히 보여주는 게 아니라 “이 부분은 왜 이렇게 했는지”를 이해시키는 데 도움
3. 학습 모드
- 설명 스타일보다 더 적극적임
- 코드 작성 중간중간에 협업자가 참고할 수 있도록 “TODO(human)” 같은 마커를 넣어줌
- 즉, Claude가 직접 코딩하면서도 “여기서 사람이 추가 구현을 해야 한다”라고 표시해 주는 협업 & 학습용 모드
- 실전에서 함께 코딩하며 배우는 느낌
명령어로 설정하기
/output-style #명령어
1. Default Claude completes coding tasks efficiently and provides concise responses✔
2. Explanatory Claude explains its implementation choices and codebase patterns
3. Learning Claude pauses and asks you to write small pieces of code for hands-on practice ││ 2. Personal (~/.claude/agents/)
설명모드로 우선 코드작성이유와 코드를 이해하고싶어 설정하였습니다.
3.Claude Code hooks
Claude가 코드 작업을 수행하는 도중 자동으로 실행되는 "사용자 정의 셸 명령(script)" 입니다.
사용 목적 설명
| 알림 | Claude가 뭔가 하려고 할 때, 예: "실행 대기 중" 상태에서 슬랙이나 푸시 알림을 보내는 자동화 |
| 자동 서식 | Claude가 파일을 편집한 후 prettier, gofmt 같은 코드 포매터를 자동 실행 |
| 로깅 | Claude가 실행한 모든 명령을 log.txt 같은 파일에 자동 기록하여 추적 |
| 수정 제한 | Claude가 특정 폴더(예: src/prod/)를 실수로 수정 못 하게 차단 |
| 자동 피드백 | Claude가 코드 규칙 위반할 때 자동으로 메시지 출력하거나 수정 요청 |
Claude Code는 작업 중에 특정 라이프사이클 이벤트가 발생하면
hooks 폴더에 설정된스크립트 파일(.sh, .ps1 등)을 찾아 실행합니다.
.claude/
├── config.yaml
├── hooks/
│ ├── post-edit.sh ← Claude가 코드 수정한 후 실행됨
│ ├── pre-commit.sh ← Git 커밋 전에 실행됨
│ ├── notify-user.sh ← Claude가 대기 중일 때 실행됨
hooks는 개발해보면서 추가로 설정할 예정입니다.
여기까지 Claude Code로 기본설정부분을 셋팅해보았습니다.
추가로 GitHub 액션으로 개발 워크플로에 통합하는 방법과 모델 컨텍스트 프로토콜(MCP)로 다양한 기능도 제공합니다.
사용해보면서
- Claude Code의 코드 생성 품질이나 정확도는 어떤지
- 코드 리뷰, 리팩토링, 디버깅을 얼마다 도와줄수있는지
- 베스트 프랙티스를 제공해줄수있는지
- 개념을 학습하는데에 도움이 될수있는지
이 네가지를 기준으로 추후에 사용하면서 느낀점들을 공유해보겠습니다 ^^
