반응형

 

이 포스팅에서는 MCP(Model Context Protocol)가 무엇인지 개념부터 설명하고, Python으로 나만의 MCP 서버를 직접 만들어 Claude Desktop과 연결하는 방법을 단계별로 다룹니다.

 

MCP 서버를 만들면 Claude가 내 PC의 파일, 데이터베이스, 외부 API 등 다양한 시스템에 직접 접근할 수 있게 됩니다.

 


1. MCP란 무엇인가?

MCP(Model Context Protocol)는 Anthropic이 만든 오픈 표준 프로토콜입니다.

LLM(대형 언어 모델)이 외부 도구나 데이터에 접근하는 방식을 통일한 규격으로 이해하시면 됩니다.

 

쉽게 말하면 Claude에게 손발을 달아주는 표준 규격인데요 USB-C 포트처럼, 한 번 규격을 맞춰두면 어떤 도구든 Claude에 꽂아서 쓸 수 있습니다.

구분 설명
MCP 없이 Claude는 텍스트만 생성. 외부 시스템 접근 불가
MCP 있으면 파일 읽기/쓰기, DB 조회, API 호출 등 실제 행동 가능

 

 

MCP 서버는 크게 세 가지 기능을 제공합니다.

  • Tool : Claude가 호출할 수 있는 함수 (예: 파일 읽기, 계산, API 요청)
  • Resource : Claude가 참조할 수 있는 데이터 (예: 문서, DB 내용)
  • Prompt : 재사용 가능한 프롬프트 템플릿

 

이 글에서는 가장 많이 사용하는 Tool 기능을 중심으로 설명하겠습니다.

 


2. 사전 준비

시작 전에 아래 두 가지가 준비되어 있어야 합니다.

  • Python 3.10 이상 설치 (공식 SDK 최소 요구사항)
  • Claude Desktop 설치 (claude.ai/download에서 다운로드)

 

Python 버전 확인 방법은 아래와 같습니다.

python --version

python --version 명령어 실행 결과


3. fastmcp 설치

MCP 서버를 만드는 가장 간단한 방법은 fastmcp 라이브러리를 사용하는 것입니다. fastmcp는 복잡한 MCP 프로토콜을 감싸서 Python 함수 하나로 도구를 등록할 수 있게 해줍니다.

pip install fastmcp

 

설치가 완료되면 바로 서버 코드를 작성할 수 있습니다.

 


4. 첫 번째 MCP 서버 만들기

두 숫자를 더하는 간단한 계산기 MCP 서버를 만들어 보겠습니다.

server.py 파일을 생성하고 아래 코드를 작성하세요. 

from fastmcp import FastMCP

# MCP 서버 생성
mcp = FastMCP("나의 첫 번째 MCP 서버")

@mcp.tool
def add(a: int, b: int) -> int:
    """두 숫자를 더합니다."""
    return a + b

@mcp.tool
def greet(name: str) -> str:
    """이름을 입력받아 인사말을 반환합니다."""
    return f"안녕하세요, {name}님! Claude MCP 서버에 오신 걸 환영합니다."

if __name__ == "__main__":
    mcp.run()

 

코드가 맞게 입력 되었는지 확인을 위해 실행했을때 아래와 같은 화면이 보입니다.

server.py는 Claude Desktop에서 실행되기 때문에 아래 화면과 같이 직접 실행할 필요는 없습니다.

 

FastMCP 실행 화면

 

코드 핵심 포인트

코드 설명
FastMCP("서버이름") MCP 서버 인스턴스 생성
@mcp.tool Claude가 호출할 수 있는 도구로 등록
함수 독스트링 Claude가 이 도구의 용도를 이해하는 설명. 중요!
타입 힌트 (int, str) fastmcp가 자동으로 파라미터 스키마를 생성할 때 사용
mcp.run() 서버 실행 (STDIO 방식으로 Claude Desktop과 통신)

 


5. Claude Desktop에 MCP 서버 연결하기

MCP 서버를 직접 실행하는 것이 아니라, Claude Desktop이 자동으로 서버를 실행하도록 설정 파일에 등록해야 합니다.

 

5-1. 설정 파일 위치 확인

Claude Desktop의 MCP 설정 파일 위치는 OS에 따라 다릅니다.

OS 설정 파일 경로
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json

💡 더 쉬운 방법: Claude Desktop 실행 → 좌측 하단 설정(Settings)Developer 탭 → Edit Config 클릭

 

 

5-2. 설정 파일 작성

설정 파일을 열고 아래 내용을 입력합니다. /절대경로/server.py 부분을 실제 server.py 파일의 절대 경로로 변경하세요.

 

MCP 설정 파일 화면

 

macOS 예시

# command 경로는 which python 명령어를 입력하여 나온 경로로 실행.
# args 경로는 server.py 가 위치한 절대 경로 입력.
{
  "mcpServers": {
    "my-server": {
      "command": "/Users/ahnlab/projects/test-project/.venv/bin/python",
      "args": ["/Users/ahnlab/projects/test-project/server.py"]
    }
  }
}

 

 

Windows 예시

# command 경로는 which python 명령어를 입력하여 나온 경로로 실행.
# args 경로는 server.py 가 위치한 절대 경로 입력.
{
  "mcpServers": {
    "my-server": {
      "command": "python",
      "args": ["C:\\Users\\사용자이름\\프로젝트명\\server.py"]
    }
  }
}

 

※ Windows에서는 경로에 역슬래시(\)를 두 번(\\) 써야 합니다.

 

 

5-3. Claude Desktop 재시작

설정 파일을 저장한 뒤 Claude Desktop을 완전히 종료 후 재실행해야 적용됩니다.

  • macOS: Cmd + Q로 완전 종료 후 재실행
  • Windows: 시스템 트레이 아이콘 우클릭 → Quit 후 재실행

 

6. 연결 확인하기

Claude Desktop을 재실행한 뒤 좌측 하단 설정(Settings)  Developer 로컬 MCP서버 running 이 표시되면 MCP 서버가 정상적으로 연결된 것입니다.

Claude에게 아래와 같이 질문해서 동작을 확인합니다.

15 + 27을 계산해줘

 

Claude가 MCP 서버의 add 도구를 호출해서 42를 반환하면 성공입니다.

 

로컬 MCP 를 통해 덧셈한 결과

 

 


7. 실용적인 예제 - 현재 날짜/시간 반환 도구

조금 더 실용적인 예제로, 현재 날짜와 시간을 반환하는 도구를 추가해 보겠습니다.

from fastmcp import FastMCP
from datetime import datetime

mcp = FastMCP("나의 MCP 서버")

@mcp.tool
def add(a: int, b: int) -> int:
    """두 숫자를 더합니다."""
    return a + b

@mcp.tool
def get_current_time() -> str:
    """현재 날짜와 시간을 반환합니다."""
    now = datetime.now()
    return now.strftime("%Y년 %m월 %d일 %H시 %M분 %S초")

@mcp.tool
def greet(name: str) -> str:
    """이름을 입력받아 인사말을 반환합니다."""
    return f"안녕하세요, {name}님!"

if __name__ == "__main__":
    mcp.run()

 

server.py를 수정한 뒤 Claude Desktop을 재시작하면 새 도구가 추가됩니다. Claude에게 "지금 몇 시야?"라고 물으면 get_current_time 도구를 호출해 현재 시간을 알려줍니다.

 

로컬 MCP를 통한 시간 출력 결과

 

 


8. 자주 발생하는 에러와 해결 방법

증상 원인 및 해결 방법
로컬 MCP 서버 설정 화면 running 없음  설정 파일 경로 오류 또는 JSON 문법 오류 → 파일 경로와 JSON 구조 재확인
서버가 연결되지 않음 server.py의 절대 경로가 잘못됨 → 절대 경로를 정확히 입력했는지 확인
도구 호출 시 오류 발생 함수 타입 힌트 누락 → 모든 파라미터에 타입 힌트 추가
Windows 경로 오류 역슬래시(\) 대신 \\ 사용했는지 확인

 


9. 응용 아이디어

기본 구조를 익혔다면 아래처럼 다양하게 확장할 수 있습니다.

  • 로컬 파일 읽기/쓰기 도구 → Claude가 내 PC 문서를 직접 열람
  • 사내 REST API 호출 도구 → Claude가 사내 시스템 데이터를 조회
  • SQLite DB 조회 도구 → Claude가 로컬 데이터베이스에 질문
  • Python 스크립트 실행 도구 → Claude가 자동화 스크립트를 실행

 


 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

이 포스팅은 이전 글 ollama 설치 및 모델 실행 방법 에서 ollama를 설치하고 터미널로 모델을 실행해 본 이후, 이제 Python 코드로 ollama를 제어하는 방법을 다룹니다.

 

 

ollama로 로컬 LLM 실행하기 — llama3.2, qwen3, mistral 완전 비교 가이드

이 포스팅은 이전 글 ollama, git, cursor, uv 설치 방법에서 ollama를 설치한 이후, LLM 모델을 다운로드하고 실행하는 방법을 단계별로 다룹니다. ollama, git, cursor, uv 설치 방법 - Windows & MacOS AI 실습환경

betterinvesting.tistory.com

 

터미널에서 직접 대화하는 것을 넘어서, Python 코드로 ollama를 연동하면 자동화, 반복 작업, 나만의 AI 도구 제작이 가능해집니다.


1. 사전 준비

시작 전에 아래 두 가지가 준비되어 있어야 합니다.

  • ollama 설치 완료 및 실행 중
  • 사용할 모델 다운 완료 (예: ollama pull llama3.2)

ollama가 실행 중인지 확인하려면 아래 명령어로 체크하세요.

curl http://localhost:11434/api/version

curl을 통한 ollama 실행 확인

버전 정보가 출력되면 ollama가 정상 실행 중입니다. 연결이 안 된다면 아래 명령어로 ollama를 먼저 실행하세요.

ollama serve

2. ollama Python 라이브러리 설치

ollama는 공식 Python 라이브러리를 제공합니다. 터미널(Windows: cmd 또는 PowerShell / macOS: Terminal)에서 아래 명령어로 설치합니다.

pip install ollama

또는

python3 -m pip install ollama

ollama Python 라이브러리 설치

설치가 완료되면 Python에서 바로 import해서 사용할 수 있습니다.


3. 기본 사용법 - 질문하고 답변 받기 (chat)

가장 기본적인 사용 방법입니다. ollama.chat() 함수로 모델에 질문을 보내고 답변을 받습니다.

import ollama

response = ollama.chat(
    model='llama3.2',
    messages=[
        {
            'role': 'user',
            'content': '파이썬이란 무엇인지 한 문장으로 설명해줘'
        }
    ]
)

print(response['message']['content'])

실행하면 아래와 같이 모델의 답변이 출력됩니다.

ollama chat 질문에 대한 답변

코드 핵심 포인트

 

항목 설명
model 사용할 모델 이름 (ollama pull로 받은 모델명)
messages 대화 내용 목록. role과 content로 구성
role: 'user' 사용자의 발화
response['message']['content'] 모델의 답변 텍스트

4. 스트리밍 - 답변을 실시간으로 출력하기

기본 방식은 모델이 답변을 다 생성한 뒤에 한꺼번에 출력합니다. stream=True 옵션을 사용하면 ChatGPT처럼 답변이 한 글자씩 실시간으로 출력됩니다.

import ollama

stream = ollama.chat(
    model='llama3.2',
    messages=[
        {
            'role': 'user',
            'content': '파이썬의 장점 3가지를 알려줘'
        }
    ],
    stream=True
)

for chunk in stream:
    print(chunk['message']['content'], end='', flush=True)

실행하면 답변이 한 글자씩 실시간으로 출력되는 것을 확인할 수 있습니다.

하지만 실행 결과에서 나타나듯 llama3.2 모델은 한국어에 최적화 되어 있지 않은 결과가 확인됩니다.

ollama chat 스트리밍 출력


5. 대화 이어가기 - 이전 내용 기억하는 챗봇

messages 리스트에 대화 내용을 계속 추가하면 이전 대화를 기억하는 챗봇을 만들 수 있습니다.

import ollama

# 대화 기록을 저장하는 리스트
messages = []

print("대화를 시작합니다. 종료하려면 'quit'을 입력하세요.\n")

while True:
    user_input = input("나: ").strip()

    if user_input.lower() == 'quit':
        print("대화를 종료합니다.")
        break

    # 사용자 발화 추가
    messages.append({
        'role': 'user',
        'content': user_input
    })

    # 모델에 요청
    response = ollama.chat(
        model='llama3.2',
        messages=messages
    )

    assistant_reply = response['message']['content']
    print(f"AI: {assistant_reply}\n")

    # 모델 답변도 기록에 추가
    messages.append({
        'role': 'assistant',
        'content': assistant_reply
    })

실행하면 이전 대화 내용을 기억하면서 이어서 대화할 수 있습니다.

위와 같이 llama3.2 모델에 대한 이번 실행 결과도 한국어가 조금씩 깨지는 결과가 확인됩니다.

ollama 연속 대화 이어가기


6. generate - 단순 텍스트 생성

ollama.chat()이 대화형이라면, ollama.generate()는 프롬프트 하나만 넣고 결과를 받는 단순 텍스트 생성 방식입니다. 요약, 번역, 코드 생성처럼 단발성 작업에 적합합니다.

import ollama

response = ollama.generate(
    model='llama3.2',
    prompt='파이썬으로 1부터 10까지 더하는 코드를 작성해줘'
)

print(response['response'])

ollama generate 실행 결과

구분 chat() generate()
방식 대화형 (messages 리스트) 단발형 (prompt 문자열)
결과 키 response['message']['content'] response['response']
적합한 용도 챗봇, 멀티턴 대화 요약, 번역, 코드 생성

7. 자주 쓰는 ollama Python 코드 정리

import ollama

# 설치된 모델 목록 확인
models = ollama.list()
for model in models['models']:
    print(model['model'])

# 모델 다운로드 (pull)
ollama.pull('llama3.2')

# 모델 삭제
ollama.delete('llama3.2')

8. 에러 대처 방법

코드 실행 시 자주 마주치는 에러와 해결 방법입니다.

에러 메시지 원인 및 해결 방법
Connection refused ollama가 실행 중이지 않음 → ollama serve 실행 후 재시도
model not found 모델이 다운로드되지 않음 → ollama pull 모델명 먼저 실행
ModuleNotFoundError: ollama 라이브러리 미설치 → pip install ollama 실행

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

 

이 포스팅은 이전 글 ollama, git, cursor, uv 설치 방법에서 ollama를 설치한 이후, LLM 모델을 다운로드하고 실행하는 방법을 단계별로 다룹니다.

 

 

 

ollama, git, cursor, uv 설치 방법 - Windows & MacOS AI 실습환경 구성 가이드

AI 개발을 시작하기 위해 가장 먼저 해야 할 일은 로컬 실습 환경 구성입니다. 어디서부터 시작해야 할지 막막하다면 이 글 하나로 해결할 수 있습니다. 이 포스팅에서는 AI 개발에 필수적인 도구

betterinvesting.tistory.com

 

 

ChatGPT 같은 AI를 인터넷 없이, 무료로, 내 PC에서 직접 실행할 수 있다면 어떨까요?

ollama를 이용하면 명령어 몇 줄로 로컬 LLM을 바로 구동할 수 있습니다.

 


1. 실행 전 확인 - 내 PC 사양에 맞는 모델 고르기

 

모델을 다운로드하기 전에 내 PC의 메모리(RAM)를 먼저 확인해야 합니다. 모델 파일 크기만큼의 메모리가 필요하기 때문입니다.

 

 

💡 RAM 확인 방법

Windows

작업 관리자(Ctrl + Shift + Esc) → 성능 탭 → 메모리

 

macOS

# 터미널에서 실행
sysctl hw.memsize | awk '{print $2/1024/1024/1024 " GB"}'

 

 

아래 표를 참고해서 내 RAM에 맞는 모델을 선택하세요.

내 RAM 권장 모델 모델 파일 크기 비고
8GB llama3.2:3b 약 2GB 가장 가벼운 선택
16GB llama3.2 / qwen3:8b / mistral 약 4~5GB 일반적인 권장 사양
32GB 이상 qwen3:14b 이상 9GB 이상 고성능 활용 가능

 

※ GPU(그래픽카드)가 있다면 응답 속도가 훨씬 빨라지지만, 없어도 CPU만으로 실행 가능합니다.

 


2. 모델 다운로드 (pull)

ollama는 pull 명령어로 모델을 다운로드합니다. Docker의 docker pull과 동일한 개념으로, 모델 이름만 입력하면 자동으로 다운로드됩니다.

터미널(Windows: cmd 또는 PowerShell / macOS: Terminal)을 열고 아래 명령어를 입력하세요.

 

# ① llama3.2 — Meta 개발, 기본 8B 모델
ollama pull llama3.2

# RAM이 8GB라면 경량 버전 사용
ollama pull llama3.2:3b

# ② qwen3:8b — Alibaba 개발, 한국어/코딩 강점
ollama pull qwen3:8b

# ③ mistral — Mistral AI 개발, 빠른 응답, 7B 모델
ollama pull mistral

 

다운로드 중에는 아래와 같은 진행 상황이 표시됩니다.

ollama pull 을 이용한 다운로드

 


3. 설치된 모델 목록 확인

다운로드된 모델 목록은 아래 명령어로 확인할 수 있습니다.

ollama list

 

실행하면 아래와 같이 모델 이름, 크기, 다운로드 시간이 표시됩니다.

ollama list 출력 결과

 

 


4. 모델 실행 (run)

ollama run <Model> 명령어로 모델을 실행하면 바로 대화형 인터페이스가 열립니다.

ChatGPT처럼 질문을 입력하고 엔터를 누르면 답변이 생성됩니다.

 

4-1. llama3.2 실행

ollama run llama3.2

 

실행 후 >>> 프롬프트가 뜨면 질문을 입력합니다.

ollama run 실행 결과

 

 

4-2. qwen3:8b 실행

qwen3는 한국어 응답 품질과 코딩 능력이 특히 뛰어납니다.

ollama run qwen3:8b

 

실행 후 >>> 프롬프트가 뜨면 질문을 입력합니다.

qwen3:8b를 통해 1부터 10까지 더하는 Python 코드 요청

 

 

4-3. mistral 실행

ollama run mistral

 

 

대화 종료 방법

>>> /bye

또는 Ctrl + D를 눌러도 종료됩니다.

 


5. 모델별 특징 비교

모델 개발사 파일 크기 특징 이런 분께 추천
llama3.2 Meta 약 4.7GB 범용 모델, 영어 강점 처음 시작하는 분
llama3.2:3b Meta 약 2GB 경량, RAM 8GB에서도 실행 가능 저사양 PC 사용자
qwen3:8b Alibaba 약 5.2GB 한국어·코딩·수학 강점 한국어 사용자, 개발자
mistral Mistral AI 약 4.1GB 빠른 응답, 7B 경량 모델 빠른 답변이 필요한 분

 

💡 한국어 응답 품질qwen3가 가장 자연스러운 편입니다.

llama3.2와 mistral도 한국어를 지원하지만, 프롬프트에 "한국어로 답변해 주세요."를 명시하는 것이 좋습니다.

 


6. 자주 쓰는 ollama 명령어 정리

명령어 설명
ollama list 다운로드된 모델 목록 확인
ollama ps 현재 실행 중인 모델 확인
ollama show llama3.2 모델 상세 정보 확인
ollama rm mistral 모델 삭제 (디스크 용량 확보)
ollama stop llama3.2 실행 중인 모델 중지

 


7. 알아두면 유용한 팁

대화 없이 단일 질문만 실행하기

대화형 인터페이스 없이 질문 하나만 바로 실행할 수 있습니다.

ollama run llama3.2 "파이썬이란 무엇인가?"

 

 

ollama 서버 정상 실행 여부 확인

아래 명령어 실행 후 버전 정보가 출력되면 ollama가 정상적으로 실행 중인 것입니다.

curl http://localhost:11434/api/version

 

 

ollama는 기본적으로 localhost:11434 포트로 REST API를 제공합니다.

다음 포스팅에서는 이 API를 Python으로 연동하는 방법을 다뤄볼 예정입니다.

 


 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

AI 개발을 시작하기 위해 가장 먼저 해야 할 일은 로컬 실습 환경 구성입니다. 어디서부터 시작해야 할지 막막하다면 이 글 하나로 해결할 수 있습니다. 이 포스팅에서는 AI 개발에 필수적인 도구 4가지 — ollama, git, cursor, uv — 를 Windows와 MacOS 환경에 설치하는 방법을 단계별로 정리합니다.

 


AI 실습환경에 필요한 도구 4가지

도구 설명
ollama 로컬 PC에서 LLM(대형 언어 모델)을 실행할 수 있는 툴
git 소스코드 버전 관리 도구
cursor AI 기반 코드 편집기 (VS Code 기반)
uv Python 패키지 및 가상환경 초고속 관리 도구 (pip 대체)

 


ollama 설치 방법 (Windows & MacOS)

 

 

로컬에서 llama3, mistral, qwen 등의 LLM을 무료로 실행할 수 있는 도구입니다.

 

Windows

  1. https://ollama.com/download 접속
  2. Windows 버튼 클릭 후 OllamaSetup.exe 다운로드
  3. 설치 파일 실행 → 안내에 따라 설치 완료
  4. 설치 확인 (cmd 또는 Powershell)
ollama --version

 

MacOS

터미널에서 아래 명령어를 실행합니다. (Homebrew 사용 권장)

brew install --cask ollama

또는 공식 사이트(https://ollama.com/download)에서 .dmg 파일을 다운로드한 후 Applications 폴더로 이동합니다.

설치 확인:

ollama --version

모델 실행 테스트 (예시):

ollama run llama3.2

git 설치 방법 (Windows & MacOS)

 

 

Windows

  1. https://git-scm.com/download/win 접속
  2. 64-bit Git for Windows Setup 다운로드
  3. 설치 마법사 실행 → 기본 옵션으로 설치
  4. 설치 확인
git --version

 

 

MacOS

macOS에는 기본적으로 git이 포함되어 있으나, 최신 버전을 원하는 경우 Homebrew로 설치합니다.

brew install git
git --version

cursor 설치 방법 (Windows & MacOS)

 

AI가 내장된 코드 편집기입니다. VS Code와 거의 동일한 UI이며 AI 자동완성 및 채팅 기능이 강력합니다.

Windows / MacOS 공통

  1. https://www.cursor.com 접속
  2. 운영체제에 맞는 설치 파일 다운로드
    • Windows: .exe
    • MacOS: .dmg
  3. 설치 후 실행
  4. 회원가입 (무료 플랜 사용 가능)

설치 후 Cursor를 실행하면 VS Code와 동일한 화면이 나타납니다.
우측 상단 또는 Ctrl+L (Mac: Cmd+Shift+L) 로 AI 채팅창을 열 수 있습니다.


uv 설치 방법 (Windows & MacOS)

Anaconda 대신 uv를 쓰는 이유

  • 라이선스 문제 : Anaconda는 2020년부터 200인 이상 기업은 유료 구독 필요
  • 무거운 설치 용량 : 설치 용량 약 20GB로 불필요한 패키지까지 함께 설치됨
  • 압도적인 속도 : Rust 기반으로 제작되어 pip 대비 최대 10~100배 빠른 패키지 설치 속도
  • 통합 도구 : pyenv + pip + venv를 따로 쓸 필요 없이 Python 버전 관리, 가상환경 생성, 패키지 설치를 uv 하나로 처리
  • 완전 무료 : 라이선스 제약 없이 개인·기업 모두 무료 사용 가능
     
     

 

Windows

PowerShell을 열고 아래 명령어를 실행합니다.

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

설치 후 터미널을 재시작하고 확인합니다.

uv --version

 

 

 

MacOS

curl -LsSf https://astral.sh/uv/install.sh | sh

터미널 재시작 후 확인:

uv --version

 

 

uv 기본 사용법

# 프로젝트 초기화
uv init my-project
cd my-project

# 가상환경 생성
uv venv

# 패키지 설치 (pip install 대신)
uv add requests

# 스크립트 실행
uv run main.py

 

https://docs.astral.sh/uv/getting-started/installation/

 

Installation | uv

Use curl to download the script and execute it with sh: $ curl -LsSf https://astral.sh/uv/install.sh | sh If your system doesn't have curl, you can use wget: $ wget -qO- https://astral.sh/uv/install.sh | sh Request a specific version by including it in the

docs.astral.sh

 


설치 완료 확인 요약

도구 확인 명령어
ollama ollama --version
git git --version
cursor 앱 실행으로 확인
uv uv --version

 

모든 도구가 정상적으로 설치되었다면 AI 실습 환경 구성이 완료된 것입니다.
이제 ollama로 로컬 LLM을 띄우고, Cursor에서 AI의 도움을 받아 코드를 작성하고, uv로 패키지를 관리하는 AI 개발 워크플로우를 바로 시작할 수 있습니다.

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

 

GitHub Copilot & Claude Code

 

GitHub Copilot과 Claude Code, 둘 다 써보셨나요?

이미 GitHub Copilot vs Claude Code 비교 글에서 두 도구가 근본적으로 다른 방향성을 가지고 있다는 점을 다뤘습니다. 그렇다면 자연스럽게 이런 질문이 생깁니다.

"그럼 둘을 어떻게 같이 써야 가장 효율적일까?"

이 글에서는 GitHub Copilot과 Claude Code를 함께 사용하는 실전 워크플로우를 단계별로 정리합니다. 단순한 이론이 아니라 실제 개발 흐름 안에 두 도구를 어떻게 녹여낼 수 있는지 구체적인 패턴과 명령어 예시까지 다룹니다.

 

 


1. 왜 두 도구를 함께 써야 할까?

많은 개발자들이 GitHub Copilot과 Claude Code 중 하나만 선택하려고 합니다. 하지만 두 도구는 서로 다른 문제를 해결하는 도구입니다.

 

구분 GitHub Copilot Claude Code
역할 코드 자동 완성 AI 페어 프로그래머
작동 위치 에디터 내부 터미널 CLI
입력 방식 타이핑 중 제안 자연어 명령
파일 접근 범위 현재 열린 파일 프로젝트 전체
강점 속도, 편의성 맥락 이해, 리뷰, 리팩토링

 

Copilot은 빠르게 타이핑할 때의 속도를 높여주고, Claude Code는 생각하는 작업을 대신해 줍니다. 두 도구를 함께 쓰면 개발 생산성이 단순 합산 이상으로 올라갑니다.

 

2. 실전 워크플로우 5단계

① STEP 1 — Claude Code로 기능 설계 및 초안 작성

새로운 기능을 구현할 때는 Claude Code로 시작합니다. 자연어로 요구사항을 설명하면 파일 구조부터 초안 코드까지 만들어 줍니다.

Claude Code 실행 화면

예시 명령어:

사용자 인증 기능을 구현해줘.
JWT 토큰 기반으로 하고, access token 만료 시 refresh token으로 재발급하는 로직까지 포함해줘.
FastAPI 기반이고 models.py, auth.py, router.py 파일로 분리해줘.

Claude Code는 프로젝트 전체 구조를 읽고 기존 코드와 일관된 방식으로 파일을 생성하거나 수정합니다. 이 단계에서 코드 뼈대와 핵심 로직이 완성됩니다.

 

② STEP 2 — VS Code에서 GitHub Copilot으로 세부 완성

Claude Code가 초안을 만들면, VS Code에서 열어 GitHub Copilot과 함께 디테일을 채워 나갑니다.

이 단계에서 Copilot이 특히 유용한 상황은 다음과 같습니다.

  • 반복적인 유효성 검사 로직 작성
  • API 응답 스키마 정의
  • 테스트 케이스 보일러플레이트 생성
  • 주석 및 docstring 자동 완성

Claude Code가 만든 코드 컨텍스트를 바탕으로 Copilot이 다음 줄을 정확하게 예측하기 때문에, 빈 파일에서 시작할 때보다 훨씬 높은 정확도로 제안을 받을 수 있습니다.

 

③ STEP 3 — Claude Code로 코드 리뷰 및 버그 점검

기능 구현이 어느 정도 완료되면 Claude Code에 코드 리뷰를 요청합니다.

예시 명령어:

auth.py 파일 전체를 리뷰해줘.
보안 취약점, 예외 처리 누락, 토큰 만료 엣지케이스 중심으로 확인해줘.

Claude Code는 프로젝트 전체 맥락을 알고 있기 때문에 단순히 문법 오류를 찾는 것을 넘어, 다른 파일과의 의존성 문제나 비즈니스 로직 충돌까지 잡아냅니다.

 

④ STEP 4 — CLAUDE.md로 팀 컨벤션 유지

CLAUDE.md 파일에 프로젝트 규칙을 정의해 두면, Claude Code가 항상 이를 참고해서 일관된 코드를 작성합니다.

CLAUDE.md 예시 설정:

# 프로젝트 컨벤션
- 언어: Python 3.11
- 프레임워크: FastAPI
- 코드 스타일: PEP8, Black formatter
- 변수명: snake_case
- API 응답: 항상 {"status": ..., "data": ..., "message": ...} 구조
- 에러 처리: HTTPException 사용, 로그는 logging 모듈로

GitHub Copilot도 열린 파일의 패턴을 학습하기 때문에, Claude Code가 컨벤션에 맞게 작성한 파일들이 많을수록 Copilot의 제안 품질도 올라가는 시너지 효과가 발생합니다.

 

⑤ STEP 5 — PR 전 최종 점검 자동화

PR을 올리기 전 마지막 단계에서 Claude Code에 전체 변경 파일을 리뷰 요청합니다.

예시 명령어:

git diff main 결과를 바탕으로 변경된 파일들을 리뷰해줘.
PR description 초안도 작성해줘.

Claude Code가 PR description까지 작성해 주기 때문에 문서화 작업 시간도 줄어듭니다.


 

3. 도구별 역할 분담 요약

작업 유형 추천 도구 이유
새 기능 설계 및 초안 Claude Code 전체 맥락 이해, 파일 생성 가능
반복 코드 완성 GitHub Copilot 빠른 자동완성, 타이핑 중 제안
코드 리뷰 / 버그 탐지 Claude Code 멀티 파일 분석, 보안 점검
리팩토링 Claude Code 의존성 파악 후 안전한 수정
테스트 코드 작성 Copilot (초안) + Claude Code (검증) 속도와 정확도 모두 확보
PR 문서화 Claude Code 변경 내용 전체 파악 후 요약

 

4. 자주 쓰는 Claude Code 명령어 패턴

워크플로우에서 반복적으로 활용하면 좋은 Claude Code 명령어 패턴을 정리합니다.

기능 구현 요청

[기능명]을 구현해줘. [요구사항]을 충족해야 하고, 기존 [파일명]의 패턴을 따라줘.

코드 리뷰 요청

[파일명] 리뷰해줘. 특히 [보안/성능/가독성] 관점으로 확인해줘.

리팩토링 요청

[파일명]의 [함수명]을 리팩토링해줘. 변경 이유도 설명해줘.

테스트 작성 요청

[파일명]에 대한 pytest 테스트 코드를 작성해줘. 엣지 케이스 포함.

 

5. 실제 개발 하루 루틴 예시

GitHub Copilot과 Claude Code를 함께 쓰는 실제 하루 개발 루틴을 정리하면 다음과 같습니다.

  • 오전 시작 — Claude Code로 오늘 구현할 기능의 요구사항 분석, 초안 파일 생성
  • 오전 개발 — VS Code에서 GitHub Copilot과 함께 세부 코드 완성
  • 점심 전 — Claude Code로 오전 작업 파일 리뷰, 버그 및 누락 로직 점검
  • 오후 개발 — 리뷰 피드백 반영, 추가 기능 구현 (Copilot 활용)
  • 퇴근 전 — Claude Code로 전체 변경사항 리뷰 + PR description 작성

이 루틴을 따르면 코드 작성 속도와 품질을 동시에 높일 수 있습니다.

 

6. 비용 효율적으로 사용하는 팁

두 도구를 함께 쓰면 비용이 늘어나는 것 아닌지 걱정하는 분들이 있습니다.

GitHub Copilot은 개인 유료 플랜(Pro)이 월 $10이며, 무제한 인라인 코드 제안을 제공합니다. 무료(Free) 플랜도 있지만 월 2,000건의 제안 한도가 있어 본격적인 개발에는 Pro 플랜을 권장합니다.

Claude Code는 claude.ai Pro($20/월)에서 접근할 수 있습니다. 단, Pro 플랜은 5시간 단위의 사용량 한도가 있어 하루 종일 집중적으로 사용하면 한도에 도달할 수 있습니다. 이 경우 Max 플랜($100/월~)으로 업그레이드가 필요합니다.

따라서 가벼운 사용 기준으로는 월 $30(Copilot Pro + Claude Pro), 본격적인 개발 업무에 Claude Code를 매일 집중 사용하는 경우에는 Claude Max 플랜($100/월~)까지 고려해야 합니다.

특히 Claude Code는 복잡한 기능 구현이나 대규모 리팩토링이 필요한 날에 집중적으로 활용하면 비용 대비 효과를 극대화할 수 있습니다.

 

7. 마치며

GitHub Copilot과 Claude Code는 경쟁 관계가 아닙니다. Copilot은 속도, Claude Code는 깊이를 담당하는 서로 다른 레이어에서 동작하는 도구입니다.

이 두 도구를 워크플로우 안에 체계적으로 배치하면, AI 혼자 쓸 때보다 훨씬 강력한 개발 환경을 만들 수 있습니다.

아직 Claude Code를 시작하지 않으셨다면 Claude Code 설치부터 첫 실행까지 완벽 가이드를 먼저 참고하세요. GitHub Copilot 기본 세팅은 GitHub Copilot 완전 가이드에서 다루고 있습니다.

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

GitHub Copilot은 GitHub와 OpenAI가 공동 개발한 AI 코딩 어시스턴트입니다.
코드를 직접 짜지 않아도, 주석 한 줄 또는 함수 이름만 입력하면 나머지 코드를 자동으로 완성해 줍니다.

이 글에서는 GitHub Copilot을 VS Code에 설치하는 방법부터, 실무에서 바로 쓸 수 있는 단축키와 활용 패턴까지 한 번에 정리합니다.

1. GitHub Copilot이란?

GitHub Copilot은 에디터 안에서 실시간으로 코드를 제안해주는 AI 도구입니다.

  • 함수명이나 주석을 입력하면 → 전체 함수 코드를 자동 완성
  • 반복적인 보일러플레이트 코드ⓐ 를 빠르게 생성
  • 여러 언어 지원: Python, JavaScript, TypeScript, Go, Java, C# 등
  • VS Code, JetBrains IDE, Neovim 등 주요 에디터와 통합

📌 Claude Code와의 차이점: GitHub Copilot은 에디터 내에서 인라인 코드 자동완성에 특화되어 있고, Claude Code는 터미널에서 대화하며 파일 전체를 읽고 수정하는 방식입니다. 두 도구는 용도가 다르므로 함께 쓰면 시너지가 납니다.

ⓐ - 보일러플레이트(Boilerplate) 코드는 최소한의 수정으로 여러 곳에서 재사용되며, 프로그램을 동작시키기 위해 반복적으로 작성해야 하는 표준화된 코드입니다.

 

2. GitHub Copilot 요금제 (2025년 기준)

플랜 가격 특징
Free 무료 월 2,000 코드 완성, 50회 채팅
Pro $10/월 무제한 코드 완성, 무제한 채팅
Business $19/월 팀 관리, 정책 설정 기능
Enterprise $39/월 사내 코드베이스 학습, 보안 강화

 

📌 개인 사용에는 Free 플랜도 충분합니다.

 

3. VS Code에 GitHub Copilot 설치하기

3-1. GitHub 계정 준비

GitHub 계정이 없다면 github.com에서 먼저 가입합니다.
이미 계정이 있다면 바로 다음 단계로 넘어갑니다.

3-2. Copilot 플랜 활성화

  1. github.com/features/copilot 접속
  2. Start for free 또는 원하는 플랜 선택
  3. 결제 정보 입력 후 활성화

GitHub Copilot

3-3. VS Code 확장 설치

VS Code를 실행하고, 확장(Extensions) 탭을 엽니다.

단축키: Ctrl + Shift + X (Windows/Linux)
        Cmd + Shift + X (Mac)

검색창에 GitHub Copilot 입력 후 설치합니다.

 

 

3-4. GitHub 계정 연동

설치 후 VS Code 우측 하단에 Copilot 아이콘이 표시됩니다.
아이콘 클릭 → Sign in to GitHub → 브라우저에서 인증 완료.

4. GitHub Copilot 기본 사용법

설치가 완료되면 코드 파일을 열고 타이핑을 시작하는 것만으로 Copilot이 작동합니다.

4-1. 인라인 코드 제안

함수 이름이나 주석을 입력하면 회색 텍스트로 제안이 표시됩니다.

# 두 수의 합을 반환하는 함수
def add_numbers(a, b):
    # ← 여기서 잠시 멈추면 Copilot이 아래 코드를 제안합니다

제안 수락: Tab
제안 거절: Esc

4-2. 주석으로 코드 생성

주석으로 원하는 기능을 설명하면 전체 함수를 생성해 줍니다.

# CSV 파일을 읽어서 딕셔너리 리스트로 반환하는 함수

위 주석 입력 후 Enter를 누르면 Copilot이 전체 함수를 작성합니다.

 

5. 꼭 알아야 할 단축키 정리

기능 Windows/Linux Mac
제안 수락 Tab Tab
제안 거절 Esc Esc
다음 제안 보기 Alt + ] Option + ]
이전 제안 보기 Alt + [ Option + [
제안 전체 열기 Ctrl + Enter Ctrl + Return
Copilot Chat 열기 Ctrl + Alt + I Ctrl + Cmd + I

📌 Ctrl + Enter로 전체 제안 목록을 열면 Copilot이 생성한 여러 버전을 비교해서 가장 좋은 코드를 선택할 수 있습니다.

https://docs.github.com/en/copilot/reference/keyboard-shortcuts

 

Keyboard shortcuts for GitHub Copilot in the IDE - GitHub Docs

Find a list of keyboard shortcuts for GitHub Copilot in the IDEs that support it.

docs.github.com

 

 

6. Copilot Chat으로 대화하며 코딩하기

GitHub Copilot Chat은 에디터 안에서 AI와 대화하며 코드 관련 질문을 할 수 있는 기능입니다.

사용 방법

  1. Ctrl + Alt + I (Mac: Ctrl + Cmd + I)로 채팅 패널 열기
  2. 코드를 선택한 상태에서 질문 입력

자주 쓰는 슬래시 명령어

/explain    → 선택한 코드 설명
/fix        → 선택한 코드 오류 수정
/tests      → 선택한 코드에 대한 테스트 코드 생성

 

7. 실전 활용 패턴

패턴 1: 반복 코드 자동 생성

CRUD API처럼 비슷한 구조가 반복되는 코드에서 특히 효과적입니다.

# 사용자 생성 API
@app.post("/users")
def create_user(user: UserCreate):
    # Copilot이 아래 로직을 자동 완성합니다

패턴 2: 테스트 코드 빠르게 작성

기존 함수를 선택하고 Chat에서 /tests를 입력하면 pytest 기반 테스트 코드를 생성해 줍니다.

패턴 3: 코드 리팩토링

긴 함수를 선택하고 Chat에서 /simplify를 입력하면 더 간결한 버전을 제안해 줍니다.

패턴 4: 에러 메시지로 디버깅

터미널에서 발생한 에러 메시지를 복사해 Chat에 붙여넣고 질문하면 원인과 해결 방법을 안내합니다.

다음 에러가 발생했어, 원인과 해결 방법 알려줘:
TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

8. GitHub Copilot 설정 팁

특정 언어에서만 활성화하기

.vscode/settings.json 파일에 아래 내용을 추가하면 원하는 언어에서만 Copilot을 켜거나 끌 수 있습니다.

{
  "github.copilot.enable": {
    "*": true,
    "markdown": false,
    "plaintext": false
  }
}

보안 주의사항

회사 내부 코드나 개인 정보가 포함된 파일 작업 시에는 Copilot을 일시적으로 비활성화하는 것이 좋습니다.
VS Code 우측 하단 Copilot 아이콘 클릭 → Disable Copilot으로 손쉽게 끌 수 있습니다.

9. 마무리

GitHub Copilot은 단순한 자동완성 도구가 아니라, 개발 전체 흐름을 빠르게 만들어 주는 AI 페어 프로그래머입니다.

처음에는 Tab 키 하나로 제안을 수락하는 것부터 시작해보세요.
Copilot Chat의 /explain, /fix, /tests 슬래시 명령어에 익숙해지면 코딩 속도가 눈에 띄게 달라집니다.

📌 다음 글 예고: GitHub Copilot과 Claude Code를 함께 쓰는 실전 워크플로우

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

 

반응형
반응형

GitHub Copilot vs Claude Code

 

AI 코딩 도구가 넘쳐나는 요즘, 가장 많이 받는 질문이 있습니다.

"GitHub Copilot이랑 Claude Code 중에 뭐가 더 좋아요?"

둘 다 써봤지만 막상 비교하려면 헷갈립니다. 이 글에서는 실제 사용 관점에서 두 도구를 항목별로 비교하고, 어떤 상황에 무엇을 선택해야 하는지 정리합니다.

1. 들어가며

GitHub Copilot은 2021년 출시 이후 수백만 명의 개발자가 사용하는 AI 코딩 어시스턴트입니다. Claude Code는 Anthropic이 2025년 공개한 터미널 기반 AI 개발 도구로, 출시 직후부터 빠르게 주목을 받고 있습니다.

두 도구 모두 "AI가 코드를 도와준다"는 공통점이 있지만, 설계 철학과 사용 방식이 완전히 다릅니다. 이 차이를 먼저 이해하는 것이 올바른 선택의 출발점입니다.

 

2. 두 도구의 근본적인 차이

GitHub Copilot은 코드 에디터(VS Code, JetBrains 등) 안에 통합되어 동작합니다. 현재 커서 위치를 보고 다음 코드를 자동 완성해 주는 방식입니다. 타이핑하는 흐름을 끊지 않고 자연스럽게 코드를 제안합니다.

Claude Code는 터미널에서 실행하는 CLI 도구입니다. 파일 전체를 읽고, 프로젝트 맥락을 이해한 뒤, 대화하듯 명령을 내리면 직접 파일을 수정해 줍니다. 단순 자동 완성이 아니라 "기능 구현", "코드 리뷰", "리팩토링"을 통째로 처리합니다.

 

3. 항목별 비교

① 작동 방식

항목 GitHub Copilot Claude Code
실행 위치 에디터 플러그인 터미널 CLI
입력 방식 타이핑 중 자동 제안 자연어 명령
파일 접근 현재 열린 파일 기준 프로젝트 전체 파일
수정 방식 제안 → 개발자가 수락 대화 후 직접 파일 수정

② 코드 자동 완성 품질

코드 한 줄, 한 함수를 빠르게 완성하는 데는 GitHub Copilot이 압도적으로 편합니다. 타이핑 흐름 안에서 Tab 한 번으로 수락할 수 있어 반응 속도가 빠릅니다.

Claude Code는 자동 완성 기능이 없습니다. 대신 "이 함수를 만들어줘"처럼 목적을 명시적으로 말하면 완성된 코드를 파일에 직접 써줍니다.

③ 컨텍스트 이해 범위

GitHub Copilot은 현재 열려 있는 파일과 최근 파일을 참고합니다. 프로젝트 전체 구조는 알지 못합니다.

Claude Code는 프로젝트 폴더 전체를 읽고 여러 파일 간의 관계를 파악합니다. models.py, views.py, serializers.py가 어떻게 연결되는지 이해한 채로 수정합니다.

④ 코드 리뷰 / 리팩토링

GitHub Copilot은 리뷰 기능이 없습니다. 코드 작성 보조에 특화되어 있습니다.

Claude Code는 코드 리뷰, 버그 탐지, 보안 취약점 분석, 리팩토링 제안을 대화 한 번으로 처리합니다. 이전 글(Claude Code로 코드 리뷰하는 방법)에서 다룬 내용이 이 부분입니다.

⑤ 가격 비교

항목 GitHub Copilot Claude Code
개인 플랜 $10/월 claude.ai Pro 구독($20/월) 포함
무료 플랜 제한적 무료 제공 없음 (API 사용량 과금)
팀/기업 $19~39/월 별도 API 비용

 

4. 실제 사용 시나리오별 추천

이럴 땐 GitHub Copilot

  • 코드를 빠르게 타이핑하면서 자동 완성을 원할 때
  • 에디터를 떠나지 않고 작업하고 싶을 때
  • 반복적인 보일러플레이트 코드를 빠르게 완성할 때
  • 혼자 작업하며 소규모 함수를 자주 작성할 때

이럴 땐 Claude Code

  • 새 기능을 처음부터 구현할 때 (전체 설계 포함)
  • PR 올리기 전 코드 리뷰를 받고 싶을 때
  • 여러 파일에 걸친 리팩토링이 필요할 때
  • 프로젝트 전체 맥락을 이해시키고 싶을 때
  • CLAUDE.md로 팀 컨벤션을 기억시키고 싶을 때

 

5. 함께 쓰는 방법

두 도구는 경쟁 관계가 아닙니다. 실무에서는 함께 사용하는 것이 가장 효율적입니다.

실제로 많이 쓰는 패턴은 다음과 같습니다.

  1. Claude Code로 초안 작성 — 기능 요구사항을 자연어로 설명하고 파일을 생성
  2. 에디터에서 GitHub Copilot으로 세부 수정 — 자동 완성으로 빠르게 디테일 보완
  3. PR 전에 Claude Code로 리뷰 — 변경된 파일을 Claude Code에 넘겨 최종 점검

 

6. 마치며

GitHub Copilot과 Claude Code는 목적이 다른 도구입니다.

타이핑 속도를 높이고 싶다면 Copilot, AI와 대화하며 기능을 통째로 구현하고 리뷰까지 받고 싶다면 Claude Code가 맞습니다.

Claude Code를 아직 설치하지 않으셨다면 Claude Code 설치부터 첫 실행까지 완벽 가이드를 먼저 참고하세요.

 

Claude Code 설치부터 첫 실행까지 완벽 가이드 (Windows/Mac)

Claude Code는 Anthropic에서 만든 AI 코딩 어시스턴트로, 터미널에서 직접 실행해서 코드 작성, 수정, 디버깅을 AI와 대화하며 처리할 수 있는 도구입니다.GitHub Copilot이 에디터 안에서 코드를 자동 완

betterinvesting.tistory.com

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

문의 : caul334@gmail.com

반응형
반응형

1. 들어가며

Claude Code 설치와 CLAUDE.md 설정까지 마쳤다면 이제 본격적인 실전 활용 차례입니다.

이 글에서는 Claude Code를 이용해 코드 리뷰하는 방법을 실제 명령어와 함께 정리합니다. 단순히 "이 코드 리뷰해줘"가 아니라, 원하는 방향으로 정밀하게 리뷰를 받는 방법을 다룹니다.

 

Claude Code 공식 워크플로우 가이드 화면

 

 

2. Claude Code 코드 리뷰가 기존 방식과 다른 점

일반적인 ChatGPT나 Claude.ai 웹에서 코드 리뷰를 받으려면 코드를 직접 복사해서 붙여넣어야 합니다.

Claude Code는 다릅니다.

  • 파일을 직접 읽습니다. 복사/붙여넣기 없이 파일 경로만 알려주면 됩니다.
  • 프로젝트 전체 컨텍스트를 이해합니다. 한 파일만 보는 게 아니라 관련 파일들을 함께 파악합니다.
  • 수정까지 바로 해줍니다. 리뷰 결과를 확인하고 바로 파일을 고칠 수 있습니다.

 

3. 코드 리뷰 기본 명령어

Claude Code 프롬프트를 열고 아래처럼 입력합니다.

특정 파일 리뷰 요청:

app/main.py 파일을 코드 리뷰해줘

여러 파일 동시 리뷰:

app/main.py 와 app/models.py 두 파일을 함께 리뷰해줘

전체 프로젝트 리뷰:

이 프로젝트 전체를 리뷰해줘. 특히 보안 취약점과 성능 이슈 위주로.

 

4. 목적별 리뷰 요청 패턴

코드 리뷰의 목적을 구체적으로 지정할수록 더 유용한 피드백을 받을 수 있습니다.

① 버그 탐지 리뷰

main.py에서 런타임 에러가 날 수 있는 부분을 찾아줘

② 보안 취약점 리뷰

이 코드에서 SQL Injection, XSS 같은 보안 취약점이 있는지 확인해줘

③ 성능 최적화 리뷰

이 함수에서 불필요한 반복이나 성능 저하 요소를 찾아서 개선 방법도 알려줘

④ 코딩 컨벤션 리뷰

PEP8 스타일 가이드 기준으로 어긴 부분을 찾아줘

⑤ 리팩토링 제안

이 코드를 더 읽기 쉽게 리팩토링해줘. 기능은 그대로 유지하고.

 

5. 리뷰 결과를 바로 파일에 반영하기

Claude Code의 가장 강력한 점은 리뷰 후 즉시 파일 수정이 가능하다는 것입니다.

main.py 리뷰해줘. 문제가 있으면 바로 수정해줘.

Claude Code가 변경 사항을 보여주고 허락을 구한 뒤 파일을 직접 수정합니다. 변경 내용이 마음에 들지 않으면 거절하면 됩니다.

여러 파일에 걸친 수정도 한 번에 처리합니다.

models.py와 views.py에서 중복된 로직을 정리해줘

 

6. PR(Pull Request) 전 최종 체크에 활용하기

실제 업무에서 Claude Code 코드 리뷰를 가장 유용하게 쓰는 타이밍은 PR 올리기 직전입니다.

git diff로 변경된 파일들을 보고, PR 올리기 전에 놓친 게 없는지 최종 점검해줘

또는 변경 파일만 지정해서 요청할 수도 있습니다.

오늘 수정한 파일은 api/user.py, api/auth.py야. PR 전에 두 파일 최종 리뷰해줘

 

7. 테스트 코드 자동 생성까지 연계하기

코드 리뷰 이후 자연스럽게 테스트 코드 작성까지 이어갈 수 있습니다.

utils/calculator.py 리뷰 후, 빠져있는 테스트 케이스를 pytest 코드로 만들어줘

Claude Code가 기존 코드를 읽고 누락된 엣지 케이스까지 포함한 테스트 코드를 작성해 줍니다.

 

8. CLAUDE.md와 함께 쓰면 더 강력해지는 이유

이전 글에서 설정한 CLAUDE.md에 코드 리뷰 기준을 추가해두면, 매번 설명하지 않아도 됩니다.

CLAUDE.md에 아래 내용을 추가하세요.

## 코드 리뷰 기준
- Python 코드는 PEP8 준수
- 모든 함수에 타입 힌트 필수
- 외부 API 호출은 반드시 예외 처리 포함
- SQL 쿼리는 ORM 사용 권장 (Raw SQL 지양)

이후부터는 "이 파일 리뷰해줘" 한 마디만 해도 위 기준에 맞춰 리뷰해 줍니다.

 

9. 자주 묻는 질문

Q. 리뷰 도중 파일이 수정되는 게 걱정돼요.
A. Claude Code는 파일을 수정하기 전에 반드시 변경 내용을 보여주고 허락을 구합니다. 원치 않으면 거절하면 됩니다. 또한 Git을 사용하고 있다면 언제든 git diff, git checkout으로 되돌릴 수 있습니다.

Q. 코드가 너무 길면 제대로 리뷰가 안 되지 않나요?
A. 파일 전체보다는 특정 함수나 클래스를 지정해서 요청하는 것이 더 정확한 리뷰를 받는 방법입니다. 예: "main.py의 process_data 함수만 리뷰해줘"

Q. 무료로 사용할 수 있나요?
A. Claude Code는 Anthropic API를 사용하기 때문에 유료입니다. 다만 claude.ai Pro 플랜 구독자라면 Claude Code도 포함되어 있습니다.

 

10. 마치며

설치 → CLAUDE.md 설정 → 코드 리뷰까지 Claude Code 시리즈 3편을 마쳤습니다.

코드 리뷰는 Claude Code의 가장 실용적인 기능 중 하나입니다. PR 전 최종 점검, 보안 취약점 탐지, 리팩토링 제안을 AI와 대화하듯 처리할 수 있습니다.

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

문의 : caul334@gmail.com

반응형
반응형

1. 들어가며

Claude Code를 설치했는데 매번 같은 설명을 반복하고 있나요?
CLAUDE.md 파일 하나로 AI가 내 프로젝트를 처음부터 이해하게 만들 수 있습니다.

이 글에서는 CLAUDE.md 파일이 무엇인지, 어떻게 작성하는지, 실제 예시까지 완전히 정리해 드립니다.

 

2. CLAUDE.md 파일이란?

CLAUDE.md는 Claude Code가 프로젝트를 열었을 때 자동으로 읽는 설명서 파일입니다.

  • 위치: 프로젝트 루트 디렉토리 (예: ~/myproject/CLAUDE.md)
  • 형식: Markdown (.md)
  • 역할: 프로젝트 구조, 코딩 컨벤션, 자주 쓰는 명령어 등을 AI에게 사전 안내

프로젝트 폴더 루트에 CLAUDE.md 파일이 있는 모습

 

 

3. CLAUDE.md 파일이 없으면 어떻게 되나?

CLAUDE.md가 없어도 Claude Code는 작동합니다. 하지만 이런 문제가 발생합니다.

  • 매 대화마다 "이 프로젝트는 Python 3.11 기반이고, FastAPI를 씁니다" 같은 설명을 반복해야 함
  • Claude가 프로젝트 컨벤션을 모르고 다른 스타일로 코드를 작성할 수 있음
  • 팀 프로젝트에서 팀원마다 다른 방식으로 AI를 사용하게 됨

CLAUDE.md는 Claude Code의 장기 기억이라고 생각하면 됩니다.

 

4. CLAUDE.md 기본 구조

아래가 권장하는 기본 템플릿입니다.

# 프로젝트 개요
- 프로젝트명: MyProject
- 언어: Python 3.11
- 주요 프레임워크: FastAPI, SQLAlchemy
- 패키지 관리: pip (requirements.txt)

# 프로젝트 구조
myproject/
├── app/
│   ├── main.py        # FastAPI 앱 진입점
│   ├── models/        # DB 모델
│   ├── routers/       # API 라우터
│   └── services/      # 비즈니스 로직
├── tests/
├── requirements.txt
└── CLAUDE.md

# 코딩 컨벤션
- 함수명: snake_case
- 클래스명: PascalCase
- 타입 힌트 필수 사용
- docstring은 Google 스타일로 작성

# 자주 쓰는 명령어
- 서버 실행: uvicorn app.main:app --reload
- 테스트 실행: pytest tests/
- 패키지 설치: pip install -r requirements.txt

# 주의사항
- main 브랜치에 직접 push 금지
- DB 마이그레이션은 반드시 alembic 사용
- API 응답은 항상 ResponseModel 사용

CLAUDE.md 파일 내용

 

5. CLAUDE.md 실제 작성 방법 (단계별)

5-1. 파일 생성

Mac:

cd 프로젝트_폴더
touch CLAUDE.md
open -e CLAUDE.md

Mac 터미널에서 파일 생성

 

Windows:

cd 프로젝트_폴더
New-Item CLAUDE.md
notepad CLAUDE.md

 

Windows PowerShell에서 파일 생성

 

5-2. Claude Code에서 자동 생성하기

직접 작성하기 귀찮다면 Claude Code에게 시키면 됩니다.

Claude Code 터미널에서 아래와 같이 입력하세요.

이 프로젝트의 구조를 분석해서 CLAUDE.md 파일을 생성해줘.
프로젝트 언어, 프레임워크, 폴더 구조, 자주 쓰는 명령어를 포함해줘.

 

Claude Code 터미널에서 CLAUDE.md 생성 명령

 

5-3. 생성 확인

cat CLAUDE.md

내용이 맞는지 확인하고, 틀린 부분은 직접 수정합니다.

 

6. 섹션별 작성 팁

섹션 작성 이유 예시
프로젝트 개요 언어/프레임워크 버전 혼동 방지 Python 3.11, Node 20 LTS
폴더 구조 파일 위치 안내 app/, tests/, docs/
코딩 컨벤션 일관된 코드 스타일 유지 snake_case, 타입 힌트 필수
자주 쓰는 명령어 매번 설명 불필요 npm run dev, pytest
주의사항 실수 방지 DB 직접 수정 금지
참고 문서 외부 문서 링크 사내 위키, API 문서 URL

 

7. 팀 프로젝트에서 CLAUDE.md 활용

팀 프로젝트라면 CLAUDE.md를 Git에 포함시켜 팀 전체가 동일한 AI 가이드라인을 사용하게 할 수 있습니다.

git add CLAUDE.md
git commit -m "docs: Add CLAUDE.md for Claude Code context"
git push

 

팀원 누구나 Claude Code를 열면 동일한 프로젝트 컨텍스트를 AI가 자동으로 인식합니다.

 

8. CLAUDE.md 고급 활용 - 서브 디렉토리별 설정

프로젝트가 크다면 폴더마다 별도의 CLAUDE.md를 둘 수 있습니다.

myproject/
├── CLAUDE.md          ← 전체 프로젝트 설명
├── backend/
│   └── CLAUDE.md      ← 백엔드 전용 설명
└── frontend/
    └── CLAUDE.md      ← 프론트엔드 전용 설명

Claude Code는 현재 작업 중인 폴더 기준으로 가장 가까운 CLAUDE.md를 우선 읽습니다.

서브 디렉토리에 각각 CLAUDE.md가 있는 폴더 구조

 

9. 자주 묻는 질문

Q. CLAUDE.md 파일명은 대소문자를 지켜야 하나요?
A. 네, 반드시 CLAUDE.md (대문자)로 작성해야 Claude Code가 자동으로 인식합니다.

Q. CLAUDE.md 내용이 너무 길면 성능에 영향이 있나요?
A. 너무 길면 컨텍스트 토큰을 많이 소모합니다. 핵심 내용만 간결하게 작성하는 것을 권장합니다. 보통 100~300줄 이내가 적당합니다.

Q. .gitignore에 CLAUDE.md를 추가해야 하나요?
A. 민감한 정보(API 키, 비밀번호 등)가 없다면 Git에 포함시키는 것을 권장합니다. 민감 정보는 절대 CLAUDE.md에 작성하지 마세요.

10. 마치며

CLAUDE.md 파일 하나로 Claude Code가 내 프로젝트를 처음부터 완벽하게 이해하게 됩니다. 매번 반복 설명하던 시간을 줄이고, 팀 전체가 일관된 방식으로 AI 코딩 도구를 사용할 수 있습니다.

다음 글에서는 Claude Code로 실제 코드 리뷰하는 방법을 다룰 예정입니다.

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

 

문의 : caul334@gmail.com

반응형
반응형

 

Claude Code는 Anthropic에서 만든 AI 코딩 어시스턴트로, 터미널에서 직접 실행해서 코드 작성, 수정, 디버깅을 AI와 대화하며 처리할 수 있는 도구입니다.

GitHub Copilot이 에디터 안에서 코드를 자동 완성해 주는 방식이라면, Claude Code는 터미널에서 대화하며 파일 전체를 읽고 직접 수정까지 해주는 방식이라 개발 워크플로우가 완전히 달라집니다.

이 글에서는 Windows와 Mac 두 환경에 Claude Code를 설치하고 첫 실행까지 하는 과정을 단계별로 정리합니다.

Claude Code 공식 홈페이지 화면

 

 

1. 사전 준비

Claude Code는 Node.js 기반으로 동작하기 때문에 Node.js가 먼저 설치되어 있어야 합니다.

터미널(Mac) 또는 PowerShell(Windows)에서 아래 명령어를 실행합니다.

node -v

 

Node.js 18 이상이면 정상입니다. 설치가 안 되어 있거나 버전이 낮다면 https://nodejs.org 에서 LTS 버전을 먼저 설치하세요.

 

PowerShell 에서 node -v 실행 결과

 

터미널에서 node -v 실행 결과

 

 

2. Claude Code 설치

Node.js 설치가 확인됐다면 npm으로 Claude Code를 전역 설치합니다. Mac과 Windows 모두 동일한 명령어를 사용합니다.

npm install -g @anthropic-ai/claude-code

 

설치 중 아래처럼 진행 상황이 표시되고, 완료되면 프롬프트가 돌아옵니다.

npm install 명령어 실행 중 화면

 

설치 완료 후 버전을 확인합니다.

claude --version

버전 번호가 출력되면 설치 성공입니다.

claude --version 실행 결과

 

3. 로그인 (Anthropic 계정 연결)

Claude Code를 사용하려면 Anthropic 계정이 필요합니다. claude.ai 계정이 있다면 그대로 사용할 수 있습니다.

아래 명령어를 실행하면 브라우저가 열리면서 로그인 화면이 나옵니다.

claude

 

처음 실행 시 약관 동의 화면이 나옵니다. 방향키로 이동하고 Space로 선택, Enter로 확인합니다.

터미널에 약관 동의 화면이 뜬 모습

 

약관 동의 후 브라우저가 자동으로 열리면서 Anthropic 로그인 페이지가 나타납니다. 로그인하면 터미널로 인증이 전달되고 Claude Code 프롬프트(>)가 나타납니다.

로그인 완료 후 Claude Code 프롬프트 화면

 

 

4. 첫 번째 실행 — 프로젝트 폴더에서 시작하기

Claude Code는 현재 디렉토리를 기준으로 동작합니다. 아무 프로젝트 폴더로 이동해서 실행하는 것이 기본입니다.

cd <내_프로젝트_폴더>
claude

프롬프트가 열리면 자연어로 명령을 입력하면 됩니다. 테스트로 아래 내용을 입력해 봅니다.

이 폴더에 있는 파일들을 알려줘

Claude Code가 현재 폴더의 파일 목록을 읽고 설명해 줍니다.

프로젝트 폴더에서 claude 실행 후 파일 목록 요청한 결과



5. 자주 쓰는 기본 명령어

Claude Code 프롬프트에서 사용할 수 있는 기본 슬래시 명령어입니다.

명령어 설명
/help 사용 가능한 명령어 목록 확인
/clear 대화 기록 초기화
/exit Claude Code 종료
/model 사용할 Claude 모델 변경
/ cost 현재 세션에서 사용한 비용 확인

 

/help 입력 후 명령어 목록이 표시된 화면


6. Windows에서만 발생하는 문제 & 해결법

문제 1 : claude가 명령어로 인식 안 될 때

PowerShell에서 아래 오류가 뜨는 경우가 있습니다.

claude : 이 시스템에서 스크립트를 실행할 수 없으므로...

 

PowerShell 실행 정책 문제입니다. 관리자 권한으로 PowerShell을 열고 아래 명령어를 실행합니다.

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

 

 

문제 2 : Node.js 설치 후에도 node 명령어가 안 먹힐 때

환경변수 PATH가 업데이트되지 않은 경우입니다. 터미널을 완전히 닫고 다시 열면 해결됩니다. 그래도 안 된다면 Node.js를 다

설치하면서 "Add to PATH" 옵션을 체크합니다.


7. Mac에서만 발생하는 문제 & 해결법

문제 1 : permission denied 오류

npm install -g @anthropic-ai/claude-code

 

실행 시 권한 오류가 나는 경우입니다. sudo를 붙이거나, nvm(Node Version Manager)을 사용하는 것을 권장합니다.

nvm을 사용 중이라면 sudo 없이 아래처럼 실행하면 됩니다.

npm install -g @anthropic-ai/claude-code

nvm이 없다면 아래처럼 설치합니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install --lts
npm install -g @anthropic-ai/claude-code

Mac 터미널에서 정상 설치 완료 화면

 

 

마무리

Claude Code 설치와 첫 실행까지 완료했습니다. 정리하면 아래 순서입니다.

  1. Node.js 18 이상 설치 확인
  2. npm install -g @anthropic-ai/claude-code 실행
  3. claude 명령어로 첫 실행 → 브라우저 로그인
  4. 프로젝트 폴더에서 claude 실행 후 자연어로 명령

 

다음 글에서는 CLAUDE.md 파일을 설정해서 Claude Code가 내 프로젝트 규칙을 기억하게 만드는 방법을 다루겠습니다.

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

 

caul334@gmail.com

반응형

+ Recent posts