웹의 Claude Code는 GitHub 저장소의 코드로 작업하면서 Claude Code 작업을 원격으로 실행합니다. 이 문서에서는 작동 방식, 터미널이나 IDE에서 Claude Code를 실행하는 대신 사용해야 할 때, 그리고 어떤 워크플로우를 활성화하는지 설명합니다.
웹의 Claude Code가 제공하는 것
웹의 Claude Code를 사용하면 활발한 감시 없이 실행되는 작업을 Claude에 위임할 수 있습니다. 브라우저에서 GitHub 저장소를 선택하고 수행할 작업을 설명하면 Claude가 원격 환경에서 작업을 진행합니다. Claude Code가 작업을 시작한 후에는 페이지를 완전히 떠날 수 있으며, Claude는 계속 작업을 진행합니다. 완료되면 Claude는 자동으로 검토할 변경 사항이 포함된 풀 요청을 생성합니다.
이 기능은 로컬 머신에 없을 수 있는 저장소에서 작동합니다. 로컬로 복제하거나 개발 환경을 설정할 필요 없이 액세스 권한이 있는 모든 GitHub 저장소에서 작업을 시작할 수 있습니다. 이는 가끔 기여하는 프로젝트나 아직 배우고 있는 코드베이스를 탐색하는 데 유용합니다.
웹용 Claude Code는 비동기 개발 워크플로우를 활성화합니다. 터미널이나 편집기에서 Claude Code를 사용할 때는 일반적으로 동기식으로 작업합니다. 요청을 하고, Claude의 응답을 기다리고, 변경 사항을 검토한 다음, 다른 요청을 합니다. 이와 같은 동기식 작업은 세밀한 제어를 제공하지만 전체 프로세스 동안 주의가 필요합니다. 웹의 Claude Code는 다르게 처리합니다. 더 큰 작업을 할당하고, Claude가 독립적으로 작업하도록 하고, 나중에 완료된 작업을 검토하기 위해 돌아올 수 있습니다.
여러 작업을 병렬로 실행할 수도 있습니다. 각 작업이 자체 격리된 환경에서 실행되므로 Claude가 여러 다른 문제나 저장소에서 동시에 작업할 수 있습니다. 각 작업은 독립적으로 진행되며 완료되면 자체 풀 요청을 생성합니다. 둘 이상의 작업이 동시에 같은 저장소에서 작업할 수 있습니다.
작동 방식
작업을 시작하면 웹의 Claude Code는 작업을 위한 격리된 가상 머신을 생성합니다. GitHub 저장소가 이 환경에 복제되며, 일반적인 개발 도구 및 언어 생태계가 미리 구성되어 있습니다.
Claude는 저장소의 구성에서 정의한 설정 명령을 실행하여 환경을 준비합니다. 여기에는 종속성 설치, 데이터베이스 설정 또는 프로젝트에 필요한 기타 초기화 단계가 포함됩니다. 작업에 패키지 설치나 데이터 가져오기를 위해 네트워크 액세스가 필요한 경우 환경이 가지는 인터넷 액세스 수준을 구성할 수 있습니다.
환경이 준비되면 Claude가 작업을 시작합니다. Claude는 코드를 읽고, 변경을 하고, 테스트를 작성하고, 명령을 실행하여 작업을 확인합니다. 필요한 경우 웹 인터페이스를 통해 진행 상황을 모니터링하고 지침을 제공할 수 있습니다.
Claude가 작업을 완료하면 변경 사항을 GitHub 저장소의 새 분기로 푸시합니다. 알림을 받고 변경 사항을 검토한 다음 인터페이스에서 직접 풀 요청을 생성할 수 있습니다. 풀 요청에는 Claude의 모든 작업이 포함되어 있으며 검토 및 추가 변경을 위해 준비되어 있습니다.
각 작업은 완전히 격리된 상태에서 실행됩니다. 가상 머신은 해당 특정 작업에만 존재하며 제한된 네트워크 액세스 및 보호된 자격증명 처리와 같은 보안 제어를 포함합니다. GitHub 인증은 보안 프록시를 통해 관리되므로 자격증명이 Claude가 작업하는 환경에 직접 존재하지 않습니다.
웹의 Claude Code와 터미널 사용 시기
웹의 Claude Code는 Claude Code로 작업하는 새로운 방식입니다. 일부 작업은 웹에서 비동기 실행에 적합하지만, 다른 작업은 터미널이나 IDE를 통해 Claude Code로 실행하는 것이 가장 좋습니다.
웹의 Claude Code를 사용하는 경우:
명확한 요구 사항이 있는 잘 정의된 작업: 정확히 무엇을 해야 하는지 설명할 수 있고 작업 중간에 Claude를 조종할 필요가 없을 것으로 예상되는 경우, 웹 인터페이스를 사용하면 작업을 시작하고 완료되었을 때 돌아올 수 있습니다.
버그 백로그에 대한 백그라운드 작업: Claude에 백로그의 여러 문제를 할당하고 병렬로 실행하도록 할 수 있습니다. 각 작업은 독립적으로 진행되므로 각각을 개별적으로 모니터링하지 않고도 여러 수정을 한 번에 처리할 수 있습니다.
로컬에 없는 저장소: 복제하지 않았거나 머신에 설정하고 싶지 않은 저장소를 변경해야 하는 경우, 웹의 Claude Code가 환경 설정을 처리합니다.
대기열에 넣고 싶은 작업: 변경할 목록이 있지만 지금 바로 작업하고 싶지 않은 경우, 웹에서 작업을 시작하고 나중에 결과를 검토할 수 있습니다. 이를 통해 유사한 작업을 일괄 처리하거나 다른 것에 집중하고 있을 때 작업을 위임할 수 있습니다.
터미널/IDE에서 Claude Code를 사용하는 경우:
빈번한 방향 수정이 필요한 작업: 올바른 접근 방식이 정확히 무엇인지 확실하지 않거나 보이는 것을 기반으로 Claude를 리다이렉트해야 할 것으로 예상되는 경우, 터미널에서 작업하면 즉각적인 피드백을 얻을 수 있습니다. Claude가 작업하는 동안 완전한 결과를 기다리지 않고 방향을 조정할 수 있습니다.
요구 사항이 불명확한 탐색 작업: 문제를 해결하는 방법을 파악하거나 다양한 접근 방식을 조사하는 경우, 터미널을 사용하면 배우면서 요청을 개선할 수 있습니다. 왕복은 처음에 명확하지 않았던 요구 사항을 명확히 하는 데 도움이 됩니다.
커밋되지 않은 변경 사항이 있는 로컬 개발: 활발히 개발 중이고 로컬 저장소에 커밋되지 않은 작업이 있는 경우, 터미널에서 Claude Code를 사용하면 모든 것을 한 곳에 유지할 수 있습니다. 준비되지 않은 작업을 커밋하거나 푸시할 필요 없이 변경 사항을 빠르게 반복할 수 있습니다.
즉각적인 피드백이 필요한 작업: 빠르게 결과를 보고 싶고 빠르게 반복하려는 경우, 터미널은 더 낮은 지연 시간을 제공합니다. Claude가 실시간으로 작업하는 것을 볼 수 있으며 프로세스 초기에 문제가 발생하면 중지하거나 리다이렉트할 수 있습니다.
사용 사례 예시
테스트 주도 개발을 통한 백엔드 변경
Claude가 예상 동작을 정의하는 테스트를 작성한 다음 해당 테스트를 통과하는 코드를 구현하도록 합니다. 이는 자동화된 테스트를 통해 동작을 검증할 수 있는 백엔드 변경에 특히 잘 작동합니다.
예시 프롬프트:
/api/search 엔드포인트에 속도 제한을 추가합니다.
속도 제한기는 다음을 수행해야 합니다:
- API 키당 분당 100개 요청 허용
- 제한 초과 시 429 상태 반환
- 60초 후 제한 재설정
- 다양한 API 키를 독립적으로 추적
TDD 접근 방식을 사용합니다. 먼저 포괄적인 테스트를 작성한 다음 속도 제한 로직을 구현하여 테스트를 통과하도록 합니다.
이 접근 방식을 사용할 때: 테스트가 Claude에 명확한 검증 기준을 제공하므로 이는 웹에서 잘 작동합니다. Claude의 진행 상황을 모니터링할 필요가 없습니다. 테스트가 문제를 포착하고 작동하는 솔루션을 향해 반복을 안내하기 때문입니다. Claude가 테스트를 작성한 다음 통과하도록 하는 작업의 자체 포함 특성은 시작 후 입력이 필요하지 않습니다.
이것이 효과적인 이유: Claude는 테스트 실패를 사용하여 문제를 식별하고 해결하면서 감시 없이 구현을 반복할 수 있습니다. 작업은 간단한 코드 변경보다 오래 실행되지만 백그라운드에서 완료되도록 할 수 있습니다. 풀 요청을 검토할 때 테스트와 구현이 모두 준비되어 있으며, 테스트가 통과하기 때문에 솔루션이 작동한다는 확신을 가질 수 있습니다.
문서 업데이트
README 파일, API 문서, 코드 주석 또는 사용자 가이드와 같은 기술 문서를 생성하거나 업데이트합니다.
예시 프롬프트:
v2.3.0 릴리스 이후의 모든 변경 사항으로 CHANGELOG.md를 업데이트합니다:
- 해당 태그 이후 main 분기의 커밋을 검토합니다.
- 변경 사항을 "추가됨", "변경됨", "수정됨", "제거됨" 섹션으로 분류합니다.
- 각 항목에 대한 커밋 해시를 포함합니다.
이 접근 방식을 사용할 때: Claude가 커밋 기록을 독립적으로 검토하고 지침 없이 항목을 형식화할 수 있으므로 변경 로그 업데이트는 웹에 적합합니다. 작업은 수동으로 수행하기에는 지루하지만 Claude가 포함할 커밋이나 분류 방법에 대한 질문 없이 완료할 수 있을 정도로 충분히 간단합니다.
이것이 효과적인 이유: 전체 변경 로그 업데이트를 위임하고 완료되었을 때 결과를 검토할 수 있습니다. Claude는 커밋을 읽고, 의미 있는 변경을 추출하고, 기존 변경 로그 형식을 따릅니다.
명확한 범위의 리팩토링
변경의 명확한 경계를 정의할 수 있을 때 코드를 재구성하여 조직이나 가독성을 개선합니다. 여기에는 코드 추출, 큰 파일 분할 또는 모듈 구조 구성이 포함됩니다.
예시 프롬프트:
/src/services/user.go의 UserService 클래스는 800줄입니다.
세 가지 집중된 서비스로 분할합니다:
- UserAuthService (로그인/로그아웃/세션)
- UserProfileService (프로필 CRUD 작업)
- UserPreferencesService (설정/기본 설정)
모든 테스트가 여전히 통과하는지 확인합니다.
이 접근 방식을 사용할 때: 명확한 제약 조건이 있는 리팩토링은 Claude가 따를 명확한 경계를 설정할 수 있으므로 웹에서 잘 작동합니다. 테스트 스위트는 검증을 제공하여 Claude가 리팩토링이 기존 기능을 손상시키지 않았는지 확인할 수 있습니다.
이것이 효과적인 이유: 작업은 시간이 걸리지만 구조가 정의되면 활발한 입력이 필요하지 않습니다. 리팩토링을 시작하고 Claude가 작업을 진행하는 동안 모니터링하지 않고 나중에 구성된 결과를 검토할 수 있습니다. 명확한 범위는 Claude가 작업 중간에 지침이 필요할 가능성이 낮다는 것을 의미합니다.
효과적인 사용을 위한 팁
Claude가 작업을 성공적으로 완료했는지 더 쉽게 확인할 수 있도록 저장소에 테스트 스위트를 추가하는 것을 고려합니다.
"개선" 또는 "수정"과 같은 모호한 목표 대신 성공 기준을 지정합니다.
프롬프트에서 변경되어야 할 사항과 동일하게 유지되어야 할 사항을 정의합니다.
Claude가 작업 중간에 지침이 필요하지 않도록 명확한 경계로 작업의 범위를 지정합니다.
"먼저 이것이 어떻게 진행되는지 봐야 할 것 같다"고 생각하면 대신 터미널 사용을 고려합니다.
작업 중간에 지침을 제공해야 한다는 것을 깨닫게 되면 "CLI에서 열기"를 사용합니다.
