[00:00]
Claude Code는 지난 몇 달 동안 제가 가장 많이 사용하는
[00:02]
코딩 에이전트가 되었습니다. 이 영상에서는
[00:04]
모든 워크플로우와 기능들을
[00:06]
보여드리겠습니다. 지난 3개월간의
[00:07]
집중적인 사용 경험을 통해 발견한
[00:10]
매우 효과적인 기능들입니다. 또한
[00:13]
이러한 워크플로우를 더욱 효과적으로 만들기 위해
[00:15]
제가 직접 구축한 커스텀 도구들도 소개하겠습니다.
[00:18]
본격적으로 시작하기 전에 빠른 업데이트입니다.
[00:20]
Beyond the Hype 뉴스레터를 런칭하게 되어
[00:22]
매우 기쁩니다. 이 뉴스레터를 통해
[00:24]
모든 전문가 팁과 인사이트를 받아보실 수 있고
[00:26]
구독자 전용 콘텐츠와 제 향후 프로젝트에 대한
[00:30]
얼리 액세스도 제공됩니다.
[00:32]
beyondthe.dev에서 구독하세요.
[00:35]
이제 영상으로 돌아가겠습니다. 워크플로우의 첫 번째 부분은
[00:37]
가능한 모든 곳에서 테스트를 사용하는 것입니다.
[00:40]
코드베이스에 테스트를 작성하고 Claude에게
[00:43]
이러한 테스트를 실행할 수 있는 기능을 제공하면
[00:45]
Claude가 자신의 실행 결과에 대해
[00:47]
자동으로 피드백을 받을 수 있는
[00:49]
메커니즘을 제공하게 됩니다. 새로운 기능을
[00:52]
구현할 때 Claude는 직접
[00:54]
테스트를 실행하여 모든 것이
[00:56]
제대로 작동하는지 확인한 후
[00:58]
결과를 반환할 수 있습니다. 그렇지 않으면
[01:01]
대부분의 경우 프로토타이핑
[01:03]
단계에서 겪게 되는 워크플로우는
[01:05]
Claude에서 결과를 받고, 수동으로 테스트하고
[01:08]
오류를 복사해서 Claude에 다시 붙여넣는 것입니다.
[01:10]
Claude는 디버깅 모드로 들어가고 이를 반복합니다.
[01:13]
이는 상당한 시간을 낭비할 수 있고
[01:16]
코드 작업을 하는 사람에게는
[01:18]
많은 방해가 됩니다. 하지만 테스트가 있으면
[01:20]
이 모든 워크플로우가 자동화됩니다.
[01:23]
이는 특히 크고 복잡한 코드베이스나
[01:25]
작은 코드베이스라도 복잡한
[01:28]
기능을 작업할 때 매우 효과적입니다.
[01:30]
이 시점에서 많은 분들이
[01:32]
'나는 그냥 프로토타입을 작성하는 중인데
[01:34]
테스트 작성에 그렇게 많은 시간을
[01:36]
쓰고 싶지 않다. 이 부분을 건너뛸 수 있을까?'
[01:38]
라고 생각하실 것입니다. 네, 실제로 가능합니다.
[01:40]
Claude의 경우 claude.md 파일이나
[01:44]
프롬프트에 단순히 한 구문만 추가해도
[01:46]
'이 기능을 테스트한 후 반환'이라고 하면
[01:48]
Claude는 최소한 실행 중에 즉석에서
[01:51]
테스트를 직접 작성하거나
[01:54]
API나 UI를 테스트하기 위한
[01:57]
임시 스크립트를 작성하려고 시도할 것입니다.
[02:01]
하지만 그 한 줄만 추가해도 Claude가
[02:04]
자신이 출력한 작업에 대해
[02:07]
더 열심히 반복 작업을 하도록 만들 것입니다.
[02:09]
제가 발견한 한 가지는 추가 프롬프트를 주지 않으면
[02:12]
Claude는 실제로 자신의 코드를
[02:14]
10번 중 5번 정도만 테스트하려고 한다는 것입니다.
[02:16]
따라서 이 동작을 강제하는 것만으로도
[02:20]
정말 훌륭한 결과를 얻을 수 있습니다.
[02:22]
아직 하지 않으셨다면 현재 설정에
[02:25]
테스트 프레임워크를 추가하는 방법을 살펴보세요.
[02:27]
그리고 믿어주세요. 여기에 쓰는
[02:29]
모든 시간을 후회하지 않을 것입니다.
[02:32]
테스트 자체만으로도 아마 별도의 영상이
[02:35]
필요할 것 같습니다. 더 자세히
[02:37]
다뤄보기를 원하신다면
[02:39]
아래 댓글로 알려주세요.
[02:41]
워크플로우의 두 번째 부분은
[02:43]
Claude Code의 메모리를 신중하게 관리하는 것입니다.
[02:46]
이는 본질적으로 Claude가
[02:48]
모든 실행마다 따르는
[02:51]
Claude Code 규칙 파일을 적용하여
[02:54]
프로젝트에 대한 올바른 컨텍스트를 갖도록 하는 것입니다.
[02:56]
코딩 표준을 알고 워크플로우를 알 수 있도록 말이죠.
[02:58]
Claude는 실제로 우리에게
[03:00]
이 claude.md 파일을 초기화하는 매우 편리한 방법을 제공합니다.
[03:02]
매우 편리한 방법을 제공합니다. 저장소 루트에 위치하는
[03:04]
claude.md 파일을 초기화하는 것이죠.
[03:07]
디렉토리 안에서 init 명령을 실행하면
[03:09]
모든 프로젝트 컨텍스트를 읽어들이는 것을
[03:12]
볼 수 있습니다. 다른 에이전트 규칙
[03:15]
파일들도 마찬가지입니다. Cursor와
[03:17]
GitHub Copilot으로부터 학습하는 방법을
[03:19]
알고 있습니다. 파일 디렉토리와
[03:22]
README, 그리고 많은 핵심 텍스트 파일들을
[03:23]
읽어들인 다음, 이 모든 것을 분석하여
[03:26]
포괄적인 claude.md 파일을 생성합니다.
[03:28]
claude.md 파일에서 볼 수 있는 한 가지는
[03:32]
프로젝트가 무엇을 하는지에 대한
[03:34]
프로젝트 개요입니다. 주요 워크플로우와
[03:37]
아키텍처, 기술 스택, 폴더
[03:40]
구조, 그리고 프로젝트에 대한
[03:43]
많은 고수준 정보들, 심지어
[03:45]
몇 가지 고수준의 중요한 라이브러리 정보도
[03:48]
포함되어 있습니다. 프로젝트를 반복하면서
[03:50]
이 컨텍스트를 업데이트해야 하는
[03:54]
시점들이 있을 것입니다.
[03:56]
그럴 때는 /init 명령을 다시 실행하여
[03:59]
수동으로 하지 않고도
[04:00]
업데이트할 수 있습니다. claude.md
[04:03]
파일로 작업할 때 염두에 둬야 할
[04:05]
한 가지는 프로젝트의 모든
[04:08]
세세한 디테일로 과부하를 주지
[04:11]
않도록 하는 것입니다. claude code는
[04:13]
실제로 실행 중에 정보를 발견하는 데
[04:16]
꽤 뛰어납니다. init 명령으로
[04:18]
claude.md 파일을 생성하는 것처럼 말이죠.
[04:21]
애초에 코드베이스를 탐색하여
[04:23]
필요한 정보를 찾는 방법을
[04:26]
알고 있습니다. claude.md 파일은
[04:28]
실제로 claude에게 제공하는
[04:30]
고수준 포인터입니다. 올바른 정보를
[04:32]
어디서 찾을지 알 수 있도록 말이죠.
[04:35]
현재 init 실행에서 이미 볼 수 있는 것은
[04:37]
저장소 안에 claude.md 파일이
[04:39]
이미 있었기 때문에, 제가 프로젝트에
[04:41]
적용한 몇 가지 업데이트를 발견하고
[04:44]
이제 업데이트를 제안하고 있다는 것입니다.
[04:46]
지금은 Shift+Tab을 눌러서
[04:48]
이 편집 내용들을 자동으로 승인하겠습니다.
[04:50]
claude.md 파일로 작업할 때
[04:52]
염두에 둬야 할 또 다른 원칙은
[04:54]
이 파일에는 모든 claude 프롬프트
[04:56]
실행에서 정말로 따라야 하는
[04:59]
규칙들만 추가해야 한다는 것입니다.
[05:01]
claude code는 이미 괜찮은 코드를
[05:04]
작성하고 모범 사례를 따르는 데
[05:07]
실제로 뛰어나기 때문에 대부분의 경우
[05:09]
claude가 이미 대부분의 시간에
[05:12]
올바른 일을 하고 있다면
[05:15]
추가 규칙으로 추가로
[05:17]
강제할 필요가 없습니다.
[05:19]
Claude는 또한 새로운 메모리를
[05:21]
추가하는 매우 쉬운 방법을 제공합니다.
[05:24]
입력 상자 어디서든 해시를 사용하여
[05:26]
프롬프트 중에 말할 수 있습니다.
[05:28]
예를 들어 '항상 설명적인
[05:31]
변수명을 사용하라'고 하고
[05:33]
이것을 프로젝트 메모리에 저장하도록
[05:37]
선택할 수 있습니다. 커밋한 것들 중 하나이고
[05:40]
백그라운드에서 이것을 추가할 것입니다.
[05:42]
이제 claude.md 파일을 열어보면
[05:45]
이 새로운 규칙을 메모리 파일에
[05:48]
직접 추가하고 심지어
[05:50]
그것을 위한 새로운 제목도 추가한 것을
[05:53]
볼 수 있습니다. 이것이 해시 명령의
[05:56]
훌륭한 점입니다. 새로운 메모리 규칙을
[05:58]
가져와서 적절한 위치에
[06:00]
삽입하는 방법을 알고 있습니다.
[06:02]
추가하고자 하는 규칙을 메모리 내의
[06:04]
적절한 위치에 삽입해 줍니다. 그리고
[06:07]
때로는 이 규칙이 실제로 관련성이 있고
[06:10]
cloud MD 파일 내의 여러 규칙에
[06:12]
적용되는 경우, 여러 위치에 삽입하고
[06:14]
의미론적 의미를 정확히 파악하여
[06:17]
이런 것들을 임시로 추가하기
[06:19]
매우 쉽게 만들어줍니다. 때로는
[06:21]
특정 작업 하위 집합에 대해
[06:24]
추가적인 컨텍스트가 많이 필요한
[06:26]
매우 구체적인 명령을
[06:28]
Claude에게 주고 싶을 때가 있습니다.
[06:30]
Claude 코드 내의 commands 기능을
[06:33]
사용할 수 있습니다. Cloud 저장소의
[06:35]
commands 폴더에 이것을 추가할 수 있습니다.
[06:38]
디렉토리를 만들고 코드 리뷰 명령을
[06:40]
여기에 구체적으로 추가해보겠습니다.
[06:42]
이 파일에서도 사용할 수 있는
[06:45]
두 가지 지시어가 있습니다.
[06:47]
달러 arguments를 사용하여 Claude 코드에서
[06:51]
이 명령을 실행할 때 인수를
[06:54]
직접 전달할 수 있습니다.
[06:56]
또한 느낌표를 사용한 다음
[06:59]
bash 명령으로 인용하여
[07:01]
실행하고자 하는 bash 명령의 출력을
[07:03]
직접 이 파일에 포함시킬 수 있습니다.
[07:07]
자, 여기서 Claude 대신에
[07:09]
파일을 작성해보겠습니다. 다시 시작하면
[07:11]
이제 /code view 명령이
[07:14]
바로 여기에 있는 것을 볼 수 있고
[07:17]
이를 클릭하면 현재 작업 집합을
[07:20]
실행하기 위해 리뷰 모드로
[07:23]
들어갑니다. 이것은 추가적인
[07:25]
컨텍스트가 필요하지만
[07:27]
root.cl 파일을 복잡하게 만들지 않고
[07:29]
하드코딩하고 싶은 특정 워크플로우
[07:31]
세트가 있을 때
[07:33]
매우 편리합니다.
[07:35]
다음으로 워크플로우의 핵심 부분인 컨텍스트 관리입니다.
[07:38]
최신 Claude 모델들이 모두
[07:41]
200,000 컨텍스트 윈도우를 가지고 있지만,
[07:43]
분명히 눈치채셨을 한 가지는 Claude와의
[07:46]
대화 길이가 길어질수록
[07:49]
시간이 지남에 따라 응답의 품질이
[07:52]
저하된다는 것입니다. 실행하는 동안
[07:55]
Claude 코드의 컨텍스트에
[07:57]
현재 무엇이 있는지
[07:59]
정말 주의 깊게 살펴봐야 합니다.
[08:02]
그리고 이미 시작한
[08:04]
워크플로우로 돌아가면, 작업을
[08:06]
완료할 때마다 첫 번째로
[08:08]
해야 할 일은 기존 컨텍스트를 지우는 것입니다.
[08:11]
Claude가 저장소에서 정보를
[08:14]
발견하는 데 얼마나 뛰어난지, 그리고
[08:16]
이미 cloud.MD 파일에
[08:18]
개요의 대부분이
[08:20]
직접 들어있다는 사실을 고려하면, 대부분의 경우
[08:23]
처음부터 새로 시작할 수 있습니다.
[08:26]
/clear 명령이 이미
[08:28]
90%의 사용 사례에는 충분할 것입니다. 하지만
[08:32]
디버깅 세션 중에
[08:33]
긴 대화를 나눴고
[08:35]
발견한 정보와 결정사항을
[08:38]
다음 기능 구현에
[08:40]
직접 가져가고 싶을 때도 있습니다.
[08:42]
compact 명령도 있는데, 이는
[08:44]
Claude가 컨텍스트 윈도우가 완전히 찰 때
[08:47]
자동으로 실행하거나
[08:49]
다음 작업으로 넘어가기 전에
[08:52]
수동으로 트리거하여
[08:54]
더 깔끔한 컨텍스트를
[08:55]
제공할 수 있습니다. 그리고 멋진 점은
[08:58]
지시사항에서 볼 수 있듯이
[09:00]
요약 과정에서 집중할
[09:02]
추가 지시사항을 제공할 수 있다는 것입니다.
[09:04]
요약을 위한 기능입니다. Claude는 모든 주요 결정사항과 코드
[09:07]
변경사항을 추출해서 전체 메시지 히스토리를 유지하지 않고도
[09:09]
훨씬 더 간결한 형태로 정리해줍니다.
[09:12]
그리고 요약만을 바탕으로
[09:15]
새로운 대화를 시작합니다. 이는 새로운 워크플로우를 작업할 때 매우 유용하지만,
[09:17]
현재 플로우 진행 중에 문제가 발생해서
[09:20]
이전 시점으로 되돌아가야 한다면 어떨까요?
[09:22]
Claude를 잘못된 경로로 유도했다는 걸
[09:24]
알아챘을 수도 있겠죠.
[09:26]
이럴 때는 명령 실행 중 언제든지
[09:27]
더블 이스케이프 키를 누르면
[09:29]
실제로 돌아갈 메시지를 선택할 수 있습니다.
[09:31]
코드 리뷰를 하기 전 지점으로
[09:34]
돌아간다고 해봅시다.
[09:36]
여기로 돌아왔죠? 이렇게 컨텍스트를
[09:39]
즉석에서 정리할 수 있어서 정말 편리합니다.
[09:41]
Claude가 컨텍스트를 제어할 수 있는 도구를 꽤 많이 제공한다는 걸 볼 수 있습니다.
[09:49]
Claude 개발진들이 이것이 정말 핵심이라는 걸
[09:51]
잘 알고 있는 것 같습니다. 하지만
[09:54]
한 가지 주의사항이 있습니다.
[09:56]
Windsurf나 Cursor와 달리,
[09:59]
메시지 히스토리에서 뒤로 이동할 때
[10:02]
코드베이스를 해당 메시지 시점으로
[10:04]
자동으로 되돌리지 않습니다.
[10:06]
그래서 버전 관리를 수동으로
[10:09]
직접 해야 합니다.
[10:11]
Claude 팀이 곧 이 기능을
[10:13]
추가해주기를 정말 바랍니다.
[10:16]
워크플로우의 다음 부분은
[10:19]
툴 실행 중 권한 관리입니다.
[10:20]
기본적으로 Claude 코드 명령을 시작하면
[10:23]
읽기 전용인 기본 모드로
[10:25]
시작되는 걸 볼 수 있습니다.
[10:28]
이 기능은 코드베이스 탐색에 매우 유용하고
[10:30]
코드베이스 내에서 뭔가를 찾기만 하면 되는 경우에 좋습니다.
[10:32]
그렇지 않다면 정말 사용해야 할
[10:34]
기본 워크플로우는
[10:36]
자동 편집 승인 모드입니다.
[10:39]
Shift+Tab으로 이 모드들을
[10:41]
순환할 수 있습니다.
[10:43]
계획 모드도 있는데, 이는
[10:45]
계획-실행 워크플로우를 강제합니다.
[10:48]
기본적으로 Claude 코드를 읽기 전용 모드로 시작해서
[10:50]
검토할 수 있도록 전체 계획을 생성하고
[10:54]
자동 편집 실행 모드로 진행하기 전에
[10:58]
계획에 대한 승인을 기다립니다.
[11:00]
여기서 명령을 종료하면
[11:03]
'위험하게 권한 건너뛰기'라는
[11:05]
숨겨진 명령도 있습니다.
[11:07]
이는 명령줄에서 Claude를 시작할 때만
[11:11]
활성화할 수 있습니다. 오른쪽 하단 모서리에
[11:13]
'권한 우회 중'이라고
[11:15]
표시되는 걸 볼 수 있습니다.
[11:17]
이 워크플로우에서는 Claude가
[11:20]
배치 명령이든 뭐든 모든 명령을
[11:22]
사용자 확인 없이 실행합니다.
[11:24]
이 워크플로우는 CI에서 작업하거나
[11:27]
훌륭한 개발 컨테이너 설정이 있을 때 좋습니다.
[11:30]
하지만 메인 개발 머신에서 사용한다면
[11:33]
문제가 생길 수 있으니
[11:36]
대부분의 경우 권장하지 않습니다.
[11:39]
제가 추천하고 싶은 한 가지는
[11:42]
Claude가 시작할 때의
[11:44]
기본 모드를 변경하는 것입니다.
[11:46]
제가 거의 항상 사용하는 모드는
[11:48]
자동 편집 승인 모드입니다.
[11:51]
Claude로 가서
[11:53]
여기 로컬 설정으로 들어가면 됩니다.
[11:55]
로컬 설정 안에서
[11:57]
자동 편집 승인 모드로
[12:00]
설정을 변경할 수 있습니다.
[12:02]
여기로 들어가면 됩니다.
[12:05]
권한 블록 내에서 기본 모드를 추가하고
[12:07]
여기에 편집 자동 승인을 설정할 수 있습니다.
[12:11]
저장한 후 실제로 재시작해보죠.
[12:14]
그러면 자동 편집 승인이
[12:16]
항상 켜져 있는 것을 보실 수 있는데,
[12:18]
정말 편리합니다.
[12:20]
편집 승인 모드에서는 대부분의
[12:23]
단순한 파일 편집을 승인해줍니다. 하지만
[12:26]
bash 명령어를 실행할 때는
[12:28]
심지어 저장소 내에서 ls 명령어라도
[12:31]
승인을 요청하게 되어
[12:33]
상당히 번거로울 수 있습니다.
[12:35]
제가 Claude Code에 작업을 시키고
[12:37]
스스로 완료할 수 있을 거라고
[12:39]
생각했던 일들이 많았는데,
[12:40]
나중에 터미널로 돌아와서
[12:43]
실행 초기에 한 명령어 승인에서
[12:46]
멈춰있다는 걸 깨닫게 되죠.
[12:48]
이게 꽤 짜증나는 이유는
[12:50]
위험한 권한 모드와
[12:52]
자동 편집 승인 모드 사이의 중간 단계가
[12:55]
필요하기 때문입니다. 실제로
[12:58]
Claude Code Boost라는 새로운 도구를
[13:00]
만들었는데, 이것은 LLM을 사용하고
[13:03]
실제로 Claude 모델을 사용해서
[13:06]
모든 도구 호출에서 명령어를 살펴보고
[13:08]
표준 개발 워크플로우라면
[13:10]
자동 승인해야 하는지 결정한 다음
[13:12]
저장소 내부에 훅으로 직접 주입해서
[13:14]
모든 자동 승인을 처리하지만
[13:16]
위험한 명령어를 추가 승인 없이
[13:20]
실행할 걱정은 없습니다.
[13:23]
승인이 필요할 때 요청하죠.
[13:25]
워크플로우의 다음 부분은
[13:27]
버전 관리입니다. 제가 항상 말하듯이
[13:30]
코딩 에이전트와 작업할 때는
[13:31]
버전 관리를 사용해서 항상
[13:34]
현재 저장소를 작동하는
[13:36]
상태로 유지하는 것이 좋습니다.
[13:40]
앞서 언급했듯이 Claude에는
[13:42]
체크포인트 기능이 내장되어 있지 않아서
[13:44]
이런 작업을 대부분 수동으로 해야 합니다.
[13:46]
제가 일반적으로 사용하는 워크플로우는
[13:48]
Claude Code와 프롬프팅을 한 라운드 한 후
[13:51]
작동하는 솔루션을 확인하면
[13:53]
현재 파일을 git 스테이징에 추가하는 것인데
[13:56]
git add .으로 할 수 있고
[13:58]
더 선택적으로 하고 싶다면
[14:00]
개별 파일을
[14:02]
구체적으로 선택해서 추가할 수 있습니다.
[14:05]
작동하는 상태에 도달하면
[14:07]
Claude Code는 실제로
[14:09]
최종 커밋을 만드는 매우 쉬운 방법을
[14:12]
제공합니다. 여기서 말 그대로
[14:15]
커밋이라고 말하면 현재 구현된
[14:17]
모든 변경사항을 살펴보고
[14:20]
Claude와 직접 대화 기록이
[14:22]
이미 있다면 그것을 컨텍스트로 사용해서
[14:24]
작업한 것만 커밋하고
[14:26]
나머지 변경사항은 무시합니다.
[14:28]
또한 git 기록을 살펴보고
[14:31]
과거에 커밋 메시지가 어떻게 포맷되었는지 보고
[14:34]
현재 변경사항을 살펴본 다음
[14:37]
커밋을 직접 생성합니다.
[14:39]
그리고 제가 이미 많은 git 명령어를
[14:42]
자동 승인하는 도구를 가지고 있기 때문에
[14:44]
git 커밋 중에 확인을
[14:46]
요청하지 않는 것을 보셨을 겁니다.
[14:48]
여기서 모든 기능 추가를
[14:50]
올바르게 요약했습니다.
[14:53]
그리고 매번
[14:55]
항상 Claude Code로 생성했다는 표시를 추가하는데
[14:58]
실제로 훌륭한 작업을 해주고 있어서
[15:00]
저는 괜찮다고 생각합니다.
[15:05]
리포지토리에 pre-commit 체크를 직접 추가하는 것을 강력히 권장합니다.
[15:08]
이를 통해 Claude에게 더 많은 자동화된 피드백을 제공할 수 있어요.
[15:10]
저는 Husky라는 도구를 사용해서
[15:12]
이런 pre-commit 체크를 추가합니다.
[15:15]
항상 포함하는 세 가지가 있어요.
[15:17]
컴파일 체크, 린트, 그리고
[15:19]
빠른 단위 테스트입니다.
[15:21]
Claude가 작업을 커밋할 때마다
[15:25]
이 pre-commit 체크들이
[15:27]
자동으로 실행되고
[15:29]
Claude는 오류에 직접 대응할 수 있어
[15:31]
코드를 커밋하기 전에 모든 문제를 수정합니다.
[15:34]
이런 하드코딩된 워크플로우는
[15:37]
Claude가 커밋하는 코드의
[15:39]
높은 품질을 매번 보장합니다.
[15:42]
추가하기 정말 간단한 것이지만
[15:44]
깨진 리포지토리에 빠지지 않도록
[15:46]
확실히 보장해줍니다.
[15:48]
모든 pre-commit 체크가
[15:50]
리포지토리가 작동 상태임을 보장하니까요.
[15:53]
워크플로우의 마지막 부분은
[15:56]
Claude와 함께하는 비동기 작업입니다.
[15:58]
Claude Code는 GitHub 플러그인을
[16:00]
여기서 직접 설치할 수 있는
[16:02]
매우 편리한 방법을 제공하는데
[16:04]
이것이 비동기 워크플로우에 사용할 것입니다.
[16:07]
이 과정에서
[16:09]
리포지토리와 연결하고 플러그인을 설치하며
[16:11]
모든 토큰을 추가하고 GitHub 워크플로우 파일도 추가해서
[16:14]
Claude Code와
[16:16]
코드 리뷰를 자동으로 실행합니다.
[16:19]
모든 변경사항의 일부로 말이죠.
[16:22]
여기에 두 개의 새로운 워크플로우가 생긴 걸 볼 수 있고
[16:24]
그 중 하나는 풀 리퀘스트가 열릴 때마다
[16:27]
트리거되는 리뷰입니다.
[16:29]
제가 정말 추천하고 싶은 것은
[16:32]
여기 프롬프트 안에서
[16:34]
코드 리뷰 필요에 맞게 이것을 커스터마이징하는 것입니다.
[16:37]
왜냐하면 Claude Code에서 제공하는
[16:39]
기본 코드 뷰는
[16:41]
꽤 장황할 수 있고 일반적으로 저는
[16:44]
잠재적 버그와
[16:47]
보안 문제만 식별하고
[16:49]
나머지는 모두 무시합니다.
[16:52]
다음은 Claude yaml인데
[16:55]
이슈든 리뷰 안이든
[16:57]
GitHub 댓글 어디서든 Claude를 멘션할 수 있게 해줍니다.
[17:00]
그러면 Claude Code가 댓글을 컨텍스트로 받아서
[17:03]
직접 변경사항을 만들고
[17:06]
로컬 환경을 설정할 필요 없이
[17:08]
브랜치를 그에 맞게 업데이트합니다.
[17:11]
이 워크플로우는 자동화된 테스트 설정이 있다면
[17:14]
특히 강력한데
[17:16]
Claude가
[17:18]
새로운 기능을 반복 개발하고
[17:20]
클라우드에서 직접 새로운 작업을 하고
[17:22]
업데이트되고 관련성 있는 코드로
[17:24]
코드 리뷰에서만 당신에게 돌아오기 때문입니다.
[17:27]
그래서 코드를 직접 리뷰하고
[17:29]
모든 것이 실제로 확인되면
[17:31]
바로 병합할 수 있어요.
[17:34]
이것은 Claude Code가 리뷰한
[17:36]
풀 리퀘스트의 예시입니다.
[17:38]
리뷰가 엄청나게 포괄적이고
[17:41]
실행 가능한 댓글들이 직접 들어있는 걸 볼 수 있어요.
[17:43]
물론 이것은 제가 최적화하기 전이고
[17:45]
보안 문제와 버그에만
[17:47]
집중하도록 한 것이지만
[17:50]
워크플로우가 얼마나 강력한지 볼 수 있어요.
[17:53]
그리고 여기는 GitHub 이슈 안에서
[17:56]
리포지토리에 특정 변경사항을 만들어달라고
[17:58]
요청한 또 다른 사용 예시입니다.
[18:01]
여기서 Claude를 멘션하면
[18:03]
실행 모드로 들어가서 모든 작업을 보여줍니다.
[18:05]
모든 할 일 업데이트를 보여주죠.
[18:08]
CLI에서처럼 말이에요. 그리고 나서
[18:11]
모든 작업 내용, 주요 변경사항,
[18:13]
그리고 다음 단계를
[18:15]
실제로 따라할 수 있도록 보여줍니다.
[18:17]
작업이 완료되면
[18:19]
풀 리퀘스트를 직접 생성할 수 있는
[18:21]
링크를 제공하는데, 정말 편리합니다.
[18:24]
여기서 제가 여러분에게
[18:26]
저장소에 훌륭한 테스트를 작성해야 하는
[18:28]
또 다른 이유를 제시했을 겁니다.
[18:31]
이런 더욱 강력한 워크플로우를 위해서요.
[18:33]
이제 워크플로우는 끝났으니
[18:35]
지난 3개월간 사용하면서 발견한
[18:37]
매우 유용한 유틸리티 기능들을
[18:39]
빠르게 정리해보겠습니다.
[18:41]
앞서 언급했듯이 해시 기호를 사용해서
[18:44]
메모리를 편리하게 직접 추가할 수 있습니다.
[18:46]
또한 느낌표를 사용해서
[18:48]
bash 명령어를 실행하고
[18:50]
그 출력을 Claude의 컨텍스트에
[18:53]
직접 추가할 수도 있습니다. 그리고
[18:55]
Claude의 사고 과정에서 'think'나 'think hard'
[19:01]
'think harder'와 같은 키워드를
[19:03]
사용할 수 있습니다. 또한 'ultra think'도
[19:06]
Claude 모델의 다양한 수준의
[19:09]
사고 예산을 활성화할 수 있습니다.
[19:11]
이건 절약해서 사용하라고 말씀드리고 싶은데
[19:13]
할당량을 정말 빠르게 소모하거든요.
[19:15]
그리고 제 코드베이스에서 문제를 해결할 때
[19:17]
이런 기능들을 직접 사용해야 했던 경우는
[19:20]
거의 없었습니다. Claude가
[19:21]
함정에 빠져서 올바른 해결책을
[19:24]
찾지 못하는 상황을 발견했을 때
[19:26]
프롬프트에 이런 키워드들을
[19:28]
차례로 시도해보면서 더욱 열심히
[19:30]
생각하게 해서 문제를 해결하려고 하세요.
[19:33]
그리고 만약 맥스 플랜을 사용한다면
[19:36]
물론 매번 'ultra think'를 적용해서
[19:37]
가장 어려운 문제를
[19:39]
해결하게 할 수도 있습니다. 하지만
[19:41]
일반적인 권장사항은
[19:43]
단계별로 진행하는 것입니다.
[19:45]
여기서 입력했듯이
[19:47]
이게 명령줄 도구이다 보니
[19:49]
실행 취소 같은 편의 기능이
[19:51]
많지 않을 거라고 생각하실 텐데요.
[19:54]
최근에 컨트롤 + 대시 단축키를 추가해서
[19:58]
터미널에서 직접 입력한 내용을
[20:01]
실행 취소할 수 있게 되었습니다. 이건
[20:05]
긴 명령어를 입력한 후에
[20:07]
실수로 전체 줄을
[20:08]
삭제했다는 걸 깨달았을 때
[20:11]
컨트롤 + 마이너스로 내용을
[20:14]
쉽게 되돌릴 수 있어서 매우 유용합니다.
[20:17]
많은 사람들이 Claude에는
[20:19]
이미지를 다루는 쉬운 방법이 없다고 하는데
[20:22]
사실 첫날부터 있었습니다.
[20:25]
Claude 코드 자체의 스크린샷을 찍고
[20:27]
Ctrl + V를 눌러서 이미지를 붙여넣을 수 있습니다.
[20:31]
'이게 뭐냐?'고 물어보면
[20:33]
Claude가 비전 능력을 사용해서
[20:36]
이미지를 분석할 수 있다는 걸 보게 됩니다.
[20:39]
UI 작업을 할 때 정말 잘 작동해서
[20:41]
복사 붙여넣기의 번거로움 없이
[20:42]
오류를 바로 붙여넣을 수 있고
[20:45]
Claude가 디버깅 과정에서
[20:47]
요소 위치 같은 것들도
[20:49]
추론할 수 있습니다. 추가적으로
[20:52]
멀티 저장소 설정이 있는
[20:54]
더 큰 저장소에서 작업하거나
[20:55]
오픈 소스 저장소에서
[20:57]
참조가 필요한 작업을 할 때는
[20:59]
'add' 명령어를 사용할 수도 있습니다.
[21:02]
현재 Claude Code 인스턴스가
[21:06]
접근해야 할 추가 디렉터리를 지정할 수 있습니다.
[21:08]
이렇게 하면 Claude가 해당 디렉터리를
[21:10]
읽고 필요에 따라
[21:12]
직접 변경할 수도 있습니다.
[21:14]
이제 Claude를 잠시 나가서
[21:16]
외부에서 사용할 수 있는
[21:18]
몇 가지 유용한 기능들을 살펴보겠습니다.
[21:20]
새로운 기능 중 하나는
[21:23]
Claude의 비대화형 모드입니다.
[21:25]
이 모드를 사용하면 Claude가
[21:28]
명령을 실행하되 사고 과정을 출력하지 않고
[21:31]
최종 결과만 제공합니다.
[21:33]
간단한 예시로는
[21:35]
'cla 오늘 날짜는?' 같은 명령이 있습니다.
[21:38]
일반 명령보다는 약간 느리게 실행되지만
[21:42]
최종 결과만 출력합니다.
[21:44]
이 명령은 빠른 작업을 수행하되
[21:47]
사고 과정에는 관심이 없을 때
[21:49]
매우 유용합니다.
[21:51]
'이 프로젝트는 무엇을 하나요?'라고
[21:52]
물어볼 수 있습니다.
[21:55]
Claude가 응답을 생성하기를 기다리면
[21:59]
요약을 진행하고
[22:01]
결과를 출력하는 것을 볼 수 있습니다.
[22:05]
때때로 Claude 대화의
[22:08]
특정 지점으로 돌아가고 싶을 때가 있습니다.
[22:10]
이럴 때는 'claude d-res' 명령을 사용하여
[22:12]
이전에 나눈 특정 대화로
[22:14]
돌아갈 수 있습니다.
[22:16]
첫 번째 메시지만 사용하는 것보다
[22:19]
더 나은 요약을 제공했으면 좋겠지만
[22:21]
그래도 괜찮습니다.
[22:22]
실제로 작업했던 브랜치 정보도
[22:24]
추가되어 있어서
[22:26]
기능 작업 시점으로 돌아가기가
[22:30]
상당히 쉬워졌습니다.
[22:32]
히스토리를 통해
[22:34]
무슨 일이 일어났는지 찾아보기 쉽습니다.
[22:36]
마지막 대화를 계속하고 싶다면
[22:39]
'cloth d-continue' 명령으로
[22:42]
아주 쉽게 실행할 수 있습니다.
[22:44]
이제 비대화형으로 실행했던
[22:48]
대화로 돌아가고 있습니다.
[22:50]
실행했던 대화를 확인할 수 있습니다.
[22:52]
비대화형 모드를 디버깅해야 한다면
[22:54]
이런 방식으로 하면 됩니다.
[22:56]
자, 여기까지입니다.
[22:58]
Claude Code 워크플로우로
[22:59]
시도해볼 수 있는 기능들이
[23:01]
정말 많이 있습니다.
[23:03]
앞서 영상에서 언급했듯이
[23:05]
이런 인사이트와 전문가 팁을
[23:08]
직접 받아보고 싶다면
[23:11]
beyond the hype.dev 뉴스레터를
[23:13]
구독해 주세요.
[23:15]
그럼 즐거운 개발 되시고, 다음 영상에서 뵙겠습니다.