devlog.

Claude Code in Action - What is Claude Code?

·10분 읽기·

이 글은 Anthropic 공식 Course 한국어로 번역 & 정리한 글입니다. (by Steven Greider Anthropic tech staff)
Claude Code in Action 첫 번째 섹션입니다.


코딩 어시스턴트, 뒤에서 무슨 일이 벌어지는가#

코딩 어시스턴트를 쓸 때 우리는 그냥 채팅창에 질문을 던집니다. 그런데 그 뒤에서 실제로 어떤 일이 일어나는지 이해하면, 왜 어떤 어시스턴트는 뛰어나고 어떤 건 그저 그런지가 명확해집니다.

코딩 어시스턴트가 작업을 처리하는 흐름은 크게 세 단계입니다.

1. 컨텍스트 수집: 에러 메시지가 어떤 코드를 가리키는지, 관련 파일은 무엇인지 파악합니다.

2. 계획 수립: 문제를 어떻게 해결할지 전략을 세웁니다. 코드를 수정한 뒤 테스트를 돌릴지, 아니면 다른 방식으로 접근할지 결정합니다.

3. 행동 실행: 실제로 파일을 수정하고 명령어를 실행합니다.

여기서 중요한 점이 있습니다. 1단계와 3단계는 단순히 텍스트를 생성하는 것이 아니라, 외부 세계와 상호작용해야 합니다. 파일을 읽거나, 문서를 가져오거나, 명령어를 실행하는 것처럼요.


언어 모델은 텍스트만 다룬다#

여기서 핵심적인 문제가 생깁니다.


언어 모델은 텍스트를 입력받고 텍스트를 반환합니다. 그게 전부입니다. Claude든 GPT든 Gemini든 모든 언어 모델은 이 원칙에서 벗어나지 않습니다.


그래서 코딩 어시스턴트 없이 언어 모델에 직접 "main.go 파일에 뭐가 있어?"라고 물으면, 모델은 "저는 파일을 읽을 수 없습니다"라고 답할 뿐입니다.



Tool Use — 언어 모델에 능력을 부여하는 방법#

그렇다면 코딩 어시스턴트는 어떻게 파일을 읽는 걸까요?


트릭은 간단합니다. 사용자의 요청을 그대로 언어 모델에 보내는 대신, 어시스턴트가 뒤에서 이런 내용을 자동으로 덧붙입니다.


"파일을 읽고 싶으면 이런 형식으로 응답하세요: read_file: 파일명"

언어 모델이 이 규칙을 이해하면 read_file: main.go라고 응답합니다. 어시스턴트는 이 응답을 감지해 실제로 파일을 읽고, 그 내용을 다시 모델에 전달합니다. 그러면 모델은 파일 내용을 바탕으로 최종 답변을 만들어 사용자에게 돌려줍니다.


이 전체 메커니즘을 Tool Use(도구 사용) 라고 부릅니다.



파일 읽기뿐만 아니라 파일 쓰기, 명령어 실행, 웹 검색 등 모든 "외부 세계와의 상호작용"이 이 Tool Use 방식으로 구현됩니다.


Claude가 다른 이유 — Tool Use 숙련도#

모든 언어 모델이 Tool Use를 지원하지만, 얼마나 잘 쓰는지는 모델마다 크게 다릅니다.


Claude 시리즈(Opus, Sonnet, Haiku)는 Tool Use에서 특히 강점을 보입니다. 구체적으로:


  • 어떤 도구를 언제 써야 할지 정확하게 판단합니다.
  • 여러 도구를 영리하게 조합해 복잡한 작업을 처리합니다.
  • 도구 사용 결과를 해석해 다음 단계를 결정합니다.

이 Tool Use 숙련도가 Claude Code의 핵심 경쟁력입니다.




Claude Code의 세 가지 강점#

1. 복잡한 작업 처리 능력#

Tool Use가 뛰어나면 단순한 코드 자동완성을 넘어, 버그 추적 → 원인 파악 → 수정 → 테스트 실행까지 이어지는 복잡한 작업을 자율적으로 처리할 수 있습니다.

2. 확장성#

Claude Code는 새로운 도구를 쉽게 추가할 수 있도록 설계되어 있습니다. 예를 들어 Playwright MCP 서버를 연결하면 Claude가 직접 브라우저를 열고 스크린샷을 찍으며 UI를 검사할 수 있습니다. 개발 생태계가 변화해도 함께 성장할 수 있는 구조입니다.

3. 보안#

코드베이스 전체를 외부 서버로 전송하는 인덱싱 방식 대신, Claude는 필요한 파일만 그때그때 검색하고 읽습니다. 민감한 코드가 불필요하게 외부에 노출되는 위험이 줄어듭니다.




실제 활용 사례#

사례 1 — Chalk 라이브러리 성능 최적화#

Chalk는 터미널 텍스트에 색상을 입히는 JavaScript 패키지로, 간단하지만 주간 다운로드 4억 2900만 회를 기록하는 JavaScript 생태계 5위 패키지입니다.


IDE 상에서 Claude Code에게 "벤치마크 돌리고, 가장 느린 케이스 찾아서, 프로파일링 후 개선해"라고 지시하자:

  1. 할 일 목록 작성 (작업 추적)
  2. 벤치마크 명령어 실행
  3. 느린 케이스 격리를 위한 파일 작성
  4. CPU 프로파일러 실행 및 분석
  5. 코드 개선 구현

결과: 특정 연산에서 3.9배 처리량 향상

실제 영상에서 사용한 명령어 프롬프트: Run the benchmarks. Identify worst performing cases. Use some profiling tools to find the root cause and fix it.

사례 2 — Jupyter 노트북 데이터 분석#

스트리밍 플랫폼 사용자 데이터 CSV를 주고 이탈(churn) 원인 분석을 Jupyter 노트북으로 해달라고 요청했습니다.


Claude는 단순히 코드를 작성하는 것을 넘어, 셀을 실행하고 결과값들을 보면서 다음 분석 방향을 플래닝하고 결정했습니다. 마치 직접 노트북을 조작하는 데이터 분석가처럼 동작했습니다.

사례 3 — GitHub Actions 보안 리뷰#

Terraform으로 AWS 인프라를 관리하는 프로젝트에서, 개발자가 Lambda 함수에 사용자 이메일을 S3 버킷에 저장하는 코드 한 줄을 추가하는 PR을 올렸습니다.


문제: 그 S3 버킷은 외부 마케팅 파트너와 공유 중이었고, 이메일은 개인정보(PII)입니다.


Claude Code는 PR 리뷰를 자동으로 실행하면서, Terraform 파일로 인프라 구조를 파악하고 데이터 흐름을 추적해 "이 변경사항이 파트너에게 PII를 노출한다"는 사실을 정확히 짚어냈습니다.


배포 후에 발견했다면 큰 보안 사고가 될 수 있었던 문제를 개발 단계에서 차단한 사례입니다.



정리#

개념핵심
Tool Use언어 모델이 외부 세계와 상호작용하는 메커니즘
Claude의 강점Tool Use 숙련도 — 언제 무슨 도구를 쓸지 정확히 판단
Claude Code복잡한 작업 처리 + 확장성 + 보안의 균형

코딩 어시스턴트를 단순한 자동완성 도구로만 보는 시각에서 벗어나야 합니다. Claude Code는 컨텍스트를 파악하고, 계획을 세우고, 도구를 조합해 자율적으로 작업을 완수하는 팀 동료에 가깝습니다.




다음 글에서는 Claude Code를 실제 프로젝트에 적용하는 방법과 CLAUDE.md 설정 전략을 다룰 예정입니다.