[00:00]
저는 지난 몇 달 동안 Claude Code에 완전히 빠져있었습니다.
[00:02]
저는 이 터미널에서 살고 숨쉬고 있죠.
[00:04]
제가 최근에 제 채널에서
[00:06]
Claude Code와 컨텍스트 엔지니어링을
[00:07]
이렇게 많이 다루는 이유가 있습니다.
[00:10]
이제 이런 도구들과 프레임워크로
[00:12]
할 수 있는 일들이 정말 놀랍습니다.
[00:14]
무엇이든 만들 수 있는 것 같아요.
[00:16]
하지만 최근에 제 채널에서
[00:17]
이렇게 많이 얘기했음에도 불구하고,
[00:19]
처음부터 끝까지 완전히 다룬 적은
[00:21]
실제로 없었습니다.
[00:23]
Claude Code의 모든 기능과
[00:25]
이 아름다운 코딩 어시스턴트를
[00:27]
최대한 활용하는 방법에 대해
[00:29]
자세히 알아보겠습니다.
[00:31]
바로 지금 여러분과 함께 다룰 내용입니다.
[00:33]
글로벌 규칙과 명령어의 모범 사례,
[00:36]
전략, 그리고 팁들을 얘기할 거고,
[00:38]
에이전틱 워크플로우와 후크,
[00:39]
서브 에이전트와 병렬 에이전트까지
[00:41]
모든 것을 자세히 다뤄보겠습니다.
[00:43]
따라서 이전에 Claude Code를
[00:44]
많이 사용해 보셨더라도,
[00:47]
여전히 많은 것을 얻으실 수 있습니다.
[00:49]
또한 Claude Code가 완벽하지 않다는 것도 알고 있습니다.
[00:52]
Anthropic의 새로운 속도 제한,
[00:54]
장애, 비용 등의 문제가 있죠.
[00:56]
이러한 전략들을 살펴보면서
[00:57]
다른 AI 코딩 어시스턴트에
[00:59]
어떻게 적용되는지도 얘기해 드리겠습니다.
[01:02]
확실히 Claude Code에만 국한되지 않지만,
[01:04]
단연코 최고 중의 최고입니다.
[01:06]
그래서 오늘은 여러분을 위한
[01:08]
정말 가치 있는 가이드가 될 것입니다.
[01:10]
바로 시작해 보겠습니다.
[01:12]
오늘 여러분께 드릴 모든 팁과
[01:13]
전략들을 이 README에 정리해서
[01:15]
제가 최근에 구축하고 있는
[01:17]
컨텍스트 엔지니어링 GitHub 저장소에
[01:19]
추가할 예정입니다.
[01:20]
설명란에 링크를 걸어두겠으니
[01:22]
저와 함께 따라오시면서
[01:24]
이 모든 전략들을 함께 구현해 보실 수 있습니다.
[01:26]
컨텍스트 엔지니어링과 PRP 프레임워크는
[01:28]
제가 최근에 집중하고 있는 주요 내용입니다.
[01:30]
이 가이드에서 그것도 다룰 것이지만,
[01:32]
제 채널에서 한 번도 다뤄본 적이 없는
[01:34]
다른 중요한 내용들도
[01:35]
Claude Code를 최대한 활용하는 데 정말 중요한 것들입니다.
[01:38]
오늘 함께 살펴볼 모든 전략들의
[01:39]
개요를 말씀드리자면,
[01:40]
먼저 글로벌 규칙부터 시작하겠습니다.
[01:42]
cloud.MD 파일들과
[01:44]
이것들을 사용하는 모범 사례들 말이죠.
[01:46]
그 다음 권한 관리에 대해 알아보겠습니다.
[01:48]
사용자 정의 슬래시 명령어들을 다뤄서
[01:51]
단일 명령어로 실행할 수 있는
[01:52]
에이전틱 워크플로우를 설정할 수 있습니다.
[01:55]
그 다음은 MCP 서버에 대해 알아보고
[01:57]
이에 대한 몇 가지 중요한 추천사항들을
[01:58]
준비했습니다. 그리고 Archon 오버홀에 대한 큰 예고도 있습니다.
[02:02]
다음 주에 출시될 Archon 버전 2 말이죠.
[02:04]
그에 대한 베타 런칭이 있습니다.
[02:07]
이 비디오 중간에 더 자세히 다룰 예정이니
[02:08]
계속 시청해 주세요.
[02:10]
그 다음은 PRP 프레임워크를 활용한
[02:12]
컨텍스트 엔지니어링에 들어가겠습니다.
[02:14]
이에 대한 간략한 개요와
[02:15]
3단계 프로세스로
[02:17]
시작할 수 있는 방법을 알려드려서
[02:19]
AI 코딩 어시스턴트에게
[02:21]
프로덕션 준비가 완료된 소프트웨어를
[02:23]
구축하는 데 필요한 모든 것을 제공하는
[02:25]
컨텍스트 엔지니어링의 완전한 프레임워크를
[02:28]
갖출 수 있습니다. 그 다음은 서브 에이전트 활용에 대해,
[02:30]
Claude Code의 새로운 기능 중 하나인데
[02:32]
정말 정말 흥미진진합니다. 그리고 우리는
[02:34]
Claude Code 훅에 대해서도 다룰 예정이라
[02:36]
개발 라이프사이클의 다양한 부분에
[02:38]
자동화 기능을 내장할 수 있습니다.
[02:39]
Claude Code를 사용하면서 말이죠. 그 다음에는
[02:42]
GitHub CLI 통합에 대해 알아보겠습니다.
[02:44]
Claude Code가 GitHub와 직접적으로
[02:46]
상호작용할 수 있는 능력이 얼마나 놀라운지
[02:49]
보실 수 있을 겁니다. 이슈 관리와
[02:51]
PR 관리를 저장소에서 직접 처리하고
[02:53]
요청 사항에 따라 자동으로 PR을
[02:56]
생성해 주는 기능까지 있습니다.
[02:57]
여기서 슬래시 명령어를 사용해서
[02:59]
GitHub 이슈를 자동으로 수정하는
[03:01]
방법도 살펴보겠습니다. GitHub로 가서
[03:03]
이슈를 찾고, 수정하고, 풀 리퀘스트를
[03:05]
생성하는 모습을 실제로 보여드리겠습니다.
[03:07]
또한 YOLO 모드라고 불리는 기능도
[03:09]
다뤄볼 예정입니다. Claude에 위험한
[03:11]
권한을 부여하되, 컨테이너 환경에서
[03:13]
안전하게 실행하는 방법입니다. 그리고
[03:15]
마지막으로, 병렬 에이전트 개발에
[03:18]
대해 깊이 있게 살펴보고 싶습니다.
[03:19]
여러 Claude Code 인스턴스가 코드베이스의
[03:22]
다른 부분에서 동시에 작업하거나
[03:25]
같은 기능을 동시에 구현하도록
[03:26]
할 수 있어서 다양한 옵션 중에서
[03:28]
선택할 수 있습니다. 이것으로 오늘
[03:30]
다루고 싶었던 모든 내용을
[03:32]
마무리하게 됩니다. 지금까지 설명한
[03:34]
내용을 보시면 Claude Code를
[03:35]
얼마나 경험하셨든 상관없이
[03:37]
분명 유용한 정보들이 있을 것이고
[03:39]
어쩌면 Claude Code를 사용하는
[03:41]
방식을 완전히 혁신시킬 수도
[03:43]
있을 겁니다. 자, 그럼 IDE에서
[03:45]
완전히 빈 폴더를 열어놨는데
[03:47]
설명에 링크된 템플릿에서
[03:49]
복사해온 모든 전략들이 담긴
[03:51]
readme만 있을 뿐입니다.
[03:52]
Claude Code를 설치하거나 사용해본
[03:54]
적이 없으시더라도 걱정하지 마세요.
[03:57]
매우 간단한 설치 방법을
[03:58]
여기 readme 상단에
[04:00]
준비해 놨습니다. Mac과 Linux의 경우
[04:02]
명령어 하나면 됩니다. Windows도
[04:04]
최근에 지원하기 시작했지만
[04:05]
여전히 Windows 내 Linux 서브시스템에서
[04:07]
더 나은 경험을 할 수 있어서
[04:09]
관련 설명도 여기에 추가했습니다.
[04:11]
몇 가지 추가 단계가 있는데
[04:13]
저도 직접 따라서 설치해봤습니다.
[04:15]
IDE에서 Ctrl+J를 눌러 터미널을
[04:16]
열었습니다. Ubuntu WSL1이 실행 중이고
[04:19]
Claude 명령어를 실행하면 됩니다.
[04:22]
자, 터미널이 열렸고 Claude Code를
[04:23]
시작하는 것은 정말 간단합니다.
[04:25]
원하는 작업을 말해주기만 하면 됩니다.
[04:27]
저장소에 대한 질문이나 XYZ를
[04:30]
구현해달라고 요청하는 식으로요.
[04:32]
바로 시작해보세요. Claude Code를
[04:34]
처음 사용하신다면 몇 가지 명령어를
[04:37]
시도해보고 어떤 기능들이 있는지
[04:38]
확인해보세요. 그리고 Claude Code를
[04:40]
좋은 수준에서 훌륭한 수준으로
[04:41]
끌어올리고 싶다면, 바로 그때가
[04:43]
지금부터 자세히 다룰 모든 전략들을
[04:45]
구현하기 시작해야 할 때입니다.
[04:46]
첫 번째 전략부터 시작하겠습니다.
[04:48]
바로 글로벌 규칙입니다. 기본적으로
[04:50]
Claude Code를 조정하는 시스템 프롬프트로
[04:52]
원하는 방식으로 동작하게 만들 수 있습니다.
[04:54]
여러분의 claude.md 파일은 마치
[04:57]
Wind Surf 규칙이나 Cursor 규칙과 같습니다.
[04:59]
다른 IDE를 사용해보셨다면 아시겠지만, 이는 고수준의 지시사항입니다.
[05:02]
윈드서프 규칙이나 커서
[05:04]
규칙과 같은 거죠. 다른 IDE를 사용해본 적이 있다면 말이에요.
[05:06]
이건 고수준 지시사항으로
[05:08]
베스트 프랙티스나 따르고 싶은
[05:10]
패턴들을 넣는 곳입니다.
[05:11]
기본적으로 Claude Code를 위해
[05:13]
직접 만들 수 있는 시스템 프롬프트죠.
[05:15]
이걸 만드는 방법은 두 가지가 있습니다.
[05:17]
첫 번째는 가장 쉬운 방법으로
[05:19]
내장된 /init 명령어를 사용하는 것입니다.
[05:22]
여기 터미널에서 Claude Code로 가서
[05:23]
/init을 입력하면
[05:26]
초기화 과정을 안내해주는데
[05:27]
claude.md 생성이
[05:29]
그 과정의 일부입니다.
[05:31]
Claude Code가 자체적으로
[05:34]
시스템 프롬프트를 만드는 과정을 안내해줍니다.
[05:36]
하지만 제가 더 선호하는 방법은
[05:38]
직접 claude.md를 만드는 것입니다.
[05:41]
이 지시사항 세트에 대해
[05:43]
정말 꼼꼼하게 작업하는 걸 좋아하거든요.
[05:44]
이게 바로 코딩 어시스턴트를 위한
[05:46]
최고 수준의 지시사항이니까요.
[05:49]
예시로 보여드리자면, 설명에 링크된
[05:51]
레포지토리로 돌아가면
[05:52]
claude.md를 준비해두었는데
[05:55]
일반적으로 Python 기반
[05:57]
애플리케이션을 빌드할 때 사용하는 것입니다.
[05:59]
이걸 Python 템플릿으로 사용하시면 되고
[06:01]
또한 Dynamis 커뮤니티에서는
[06:03]
에이전트 빌딩이나 Next.js 앱
[06:05]
또는 Rust 애플리케이션 같은
[06:08]
다양한 종류의 프로젝트를 위한
[06:09]
다양한 claude.md들을 작업 중입니다.
[06:11]
이 모든 템플릿들을 만들고 있고
[06:13]
이는 커뮤니티 이니셔티브의
[06:15]
일부로 진행하고 있습니다.
[06:17]
컨텍스트 엔지니어링 허브는
[06:20]
최근 Dynamis에서 시작한 것으로
[06:21]
정말 흥미진진합니다.
[06:23]
기본적으로 글로벌 규칙 같은
[06:25]
AI 코딩 리소스의 금광을 만들고 있습니다.
[06:28]
지금 얘기하고 있는 것처럼 Claude
[06:29]
훅과 서브에이전트, 다양한 슬래시
[06:31]
명령어와 PRP 템플릿 등을 말이죠.
[06:33]
무엇을 빌드하든 상관없이
[06:35]
여기 와서 리소스를 찾으면
[06:37]
AI 코딩 어시스턴트의 초기 컨텍스트
[06:39]
설정에 몇 시간을 절약할 수 있습니다.
[06:41]
이에 관심이 있고 참여하고 싶다면
[06:43]
dynamus.ai를 꼭 확인해보세요.
[06:44]
그 리소스에서 Python
[06:46]
규칙을 가져와서 시작할 수 있도록
[06:49]
준비해두었습니다.
[06:51]
여기서 보여드릴 것은
[06:52]
폴더 루트에서
[06:55]
새 파일을 만들고
[06:56]
claude.md라고 이름을 짓는 것입니다.
[06:58]
그리고 준비해둔 템플릿에서
[07:00]
내용을 복사해서 붙여넣기만 하면 됩니다.
[07:01]
claude.md로 코딩 어시스턴트의
[07:03]
글로벌 규칙을 설정하는 건 이렇게 쉽습니다.
[07:06]
이제 터미널에 가서
[07:08]
'어떤 시스템 지시사항이 있나요?'라고
[07:09]
물어볼 수 있습니다.
[07:10]
여기서 다룰 내용의 일부는
[07:12]
claude.md입니다. 명시적으로 읽을 필요도 없어요.
[07:14]
자동으로 가져와지거든요.
[07:16]
여기 보시면
[07:18]
claude.md에서 직접 다룬
[07:19]
KISS와 YAGNI 같은 것들이 있습니다.
[07:24]
또한 레포지토리의 다른 레벨에
[07:27]
여러 개의 claude.md를 가질 수도 있습니다.
[07:29]
지금 바로 어떻게 보이는지 보여드리겠습니다.
[07:30]
지금 제가 여기에 예시로 보여드리고 있는 것처럼요.
[07:32]
frontend 폴더에 claude.md 파일을 하나 두고
[07:35]
backend 폴더에도 하나를 둘 수 있습니다.
[07:38]
이런 파일들은 Claude Code에서 자동으로 읽지는 않지만
[07:42]
Claude Code 내부에는 시스템 프롬프팅이 있어서
[07:44]
제가 frontend 폴더에서 작업하고 있을 때
[07:47]
거기서 claude.md를 발견하면
[07:49]
frontend 관련 컨텍스트를 찾으러 간다는 걸 이해합니다.
[07:51]
이런 식으로 매우 지능적으로 동작하죠.
[07:55]
그리고 여기서 정말 프로 팁을 하나 드리자면
[07:59]
많은 팀들이 claude.md를 매우 절약적으로 사용하고 있어요.
[08:03]
즉, claude.md에 많은 컨텍스트를 넣지 않고
[08:07]
대신 패턴과 모범 사례, 그리고 다른 비즈니스 문서들을
[08:10]
claude.md 외부에 두고
[08:12]
글로벌 룰에서 그 파일들을 참조하는 방식을 씁니다.
[08:15]
이렇게 하면 팀 멤버들끼리 공유하기가 훨씬 쉬워지고
[08:18]
AI 코딩 어시스턴트를 바꿔가며 사용하기도 쉬워져요.
[08:21]
이것도 제가 말씀드리겠다고 했던 내용 중 하나죠.
[08:23]
네, 그래서 이게 글로벌 룰을 관리하는 정말 강력한 방법입니다.
[08:27]
그리고 여기서 한 가지 더 말씀드리면
[08:30]
다른 AI 코딩 어시스턴트들도 항상 어떤 형태의 글로벌 룰이나
[08:34]
가이드 문서를 가지고 있습니다.
[08:37]
Cursor든 Kirao든 Augment Code든
[08:41]
모든 도구가 글로벌 룰이라는 개념을 가지고 있어요.
[08:44]
마지막으로 글로벌 룰과 관련된 한 가지는
[08:48]
Claude Code의 프롬프팅 전략입니다.
[08:51]
이것만으로도 영상 하나를 만들 수 있겠지만
[08:54]
몇 가지만 빠르게 말씀드리자면
[08:57]
Claude Code에는 키워드들이 있어요.
[09:00]
'important', 'proactively', 'ultra think' 같은 것들이
[09:04]
실제로 모델에 내장되어 있습니다.
[09:07]
그래서 적절할 때 이런 키워드들을 사용하는 것이 중요해요.
[09:10]
꼭 한번 시도해보세요.
[09:13]
'ultra think'를 프롬프트에 넣어보시고
[09:17]
문제를 고민할 때 얼마나 더 많은 토큰을 사용하는지 보세요.
[09:21]
또한 Claude는 과도한 엔지니어링을 하거나 오래된 코드를 구현하거나
[09:25]
하위 호환성을 위해 오래된 코드를 유지하는 경향이 있어요.
[09:29]
그래서 그런 것들에 대한 프롬프팅이 중요합니다.
[09:33]
'production ready' 같은 키워드들은
[09:36]
과도한 엔지니어링을 유발하므로 염두에 두는 것이 중요해요.
[09:40]
네, 프롬프팅에 관한 정보의 보물창고가 있어요.
[09:43]
여기서는 글로벌 룰을 만들 때나
[09:46]
그 외의 프롬프팅에서도 도움이 될 몇 가지를 공유하고 싶었습니다.
[09:50]
다음은 권한 관리입니다.
[09:53]
기본적으로 Claude는 명령을 실행하거나 코드베이스의 코드를 편집하기 전에
[09:58]
권한을 요청할 것입니다.
[10:02]
보안상 좋은 일이지만 매번 작은 행동 하나하나에
[10:06]
승인을 해주고 싶지는 않겠죠.
[10:10]
그래서 권한을 묻지 않고도 실행할 수 있는 명령 세트를 설정할 수 있습니다.
[10:15]
이를 할 수 있는 방법이 두 가지 있어요.
[10:19]
첫 번째는 Claude Code의 permissions 명령을 사용하는 것입니다.
[10:23]
이 과정을 거치면 안내해줄 겁니다.
[09:56]
허용 목록과 거부 목록을 살펴보겠습니다.
[09:59]
CLI 내에서 이 모든 규칙을 설정할 수 있습니다.
[10:00]
하지만 제가 좋아하는 방법은 settings.local.json 파일에서
[10:05]
직접 정의하는 것입니다.
[10:08]
이는 .claude 디렉토리에 있는 특별한 파일입니다.
[10:09]
이 .claude 디렉토리에는
[10:12]
슬래시 명령어와 서브 에이전트 같은
[10:13]
다른 요소들도 저장됩니다.
[10:15]
하지만 이 파일 내에서
[10:17]
JSON으로 이 모든 작업을 허용할 수 있습니다.
[10:20]
제가 제공하는 템플릿에는
[10:22]
settings.local.json이 있고
[10:24]
평소 제가 승인 없이
[10:25]
실행 권한을 주는 모든 명령어들이 포함되어 있습니다.
[10:30]
grep이나 ls 같은 명령어로
[10:32]
코드베이스를 검색하고
[10:34]
디렉토리를 이동하거나 만들고
[10:37]
파이썬 명령어를 실행하는 것들입니다.
[10:39]
이 모든 작업을 허용하고 있습니다.
[10:41]
하지만 절대 추가하지 않는 것이 하나 있는데
[10:43]
바로 rm, 즉 제거 명령어입니다.
[10:46]
파일을 삭제하기 전에는 항상 승인을 받고 싶기 때문입니다.
[10:48]
이것이 제 권장사항 중 하나입니다.
[10:51]
또 다른 중요한 점은
[10:52]
bash *를 절대 주지 말라는 것입니다.
[10:54]
이는 승인 없이 모든 명령어를
[10:56]
실행할 수 있다는 뜻이기 때문입니다.
[10:57]
따라서 명시적으로
[10:59]
개별 명령어나 명령어 그룹을 지정해서
[11:01]
실행 권한을 주어야 합니다.
[11:03]
모든 것을 허용하는 것보다는 말이죠.
[11:05]
그건 너무 위험합니다.
[11:06]
정말 그렇게 하고 싶다면
[11:08]
개발 컨테이너에서 YOLO 모드로 실행할 수 있는데
[11:11]
이는 나중에 이 가이드에서 다룰 예정입니다.
[11:13]
권한 설정에 대한 내용은 여기까지입니다.
[11:15]
처음부터 이렇게 설정해두면 정말 유용합니다.
[11:18]
더 자율적으로 작동할 수 있고
[11:20]
일일이 감시할 필요가 없어집니다.
[11:21]
이제 커스텀 슬래시 명령어
[11:23]
마스터하기로 넘어가보겠습니다.
[11:26]
여기서 우리만의 에이전트 워크플로우를
[11:28]
Claude Code의 간단한 프롬프트로 구축할 수 있습니다.
[11:30]
슬래시 명령어를 만들려면
[11:32]
claude 폴더 안에
[11:34]
commands라는 폴더를 만들어야 합니다.
[11:36]
그리고 마크다운 파일로 슬래시 명령어를 만들 수 있습니다.
[11:38]
이걸 primer.md라고 하겠습니다.
[11:40]
잠시 후 템플릿에서 가져올
[11:42]
예시 중 하나입니다.
[11:44]
여기서 우리는
[11:45]
Claude Code의 고급 프롬프트로
[11:47]
재사용할 수 있는 지시사항 집합을 만듭니다.
[11:50]
이것들을 매우 정교하게 만들 수도 있습니다.
[11:52]
앞서 말했듯이
[11:54]
전체 에이전트 워크플로우를 구축하고
[11:56]
Claude Code를 다단계 프로세스로 안내할 수 있습니다.
[11:58]
지금은 간단하게 유지하겠지만
[12:00]
정말 멀리 갈 수 있다는 점을 알아두세요.
[12:01]
여기서 사용할 예시는
[12:02]
Claude Code를 위한 컨텍스트 프라이밍입니다.
[12:05]
이는 지시사항과 단계들의 집합으로
[12:07]
Claude Code가 현재 작업하고 있는 코드베이스에
[12:10]
빠르게 적응할 수 있도록 하는 단계들입니다.
[12:12]
Claude Code를 위한 매우 강력한 명령어입니다.
[12:15]
기존 코드베이스로 작업할 때
[12:16]
새로운 대화를 시작하는 상황에서
[12:18]
실행하기 좋습니다.
[12:20]
Claude Code와 새롭게 시작하는 상황에서 말이죠.
[12:22]
브랜드 뉴 대화를 시작할 때
[12:24]
Claude Code가 새롭게 들어오는 상황에서 유용합니다.
[12:28]
코드베이스를 먼저 파악한 다음 새로운 기능을 구현하길 원할 거예요.
[12:29]
그래서 기본적으로 여기에 있는 프롬프트를 사용하는데,
[12:31]
참고로 cursor나 curo 같은
[12:33]
다른 AI 코딩 어시스턴트들은 이런 슬래시 명령어가 없어서
[12:35]
그냥 이것을 프롬프트로 사용하면 됩니다.
[12:37]
하지만 이걸 슬래시 명령어로 만드는 것의 좋은 점은
[12:39]
재사용성이 뛰어나다는 거예요.
[12:41]
이걸 복사 붙여넣기하거나 클라우드 코드에서
[12:44]
일일이 타이핑하는 대신
[12:45]
슬래시 명령어만 입력하면 되죠.
[12:47]
잠깐 후에 어떻게 생겼는지 보여드리겠습니다.
[12:49]
그리고 팀원들과 프롬프트를 공유하기도 매우 쉬워요.
[12:51]
한 줄로 실행할 수 있는 명령어를
[12:53]
보내주기만 하면 되니까요.
[12:54]
이 프라이머가 바로 그런 예입니다.
[12:56]
이제 실행하려면 클라우드 코드로 돌아가서
[12:58]
클라우드 코드를 종료하고
[13:00]
완전히 새로운 세션을 시작해야 해요.
[13:01]
그래야 .claude 폴더에 추가한
[13:04]
모든 새 명령어를 로드할 수 있어요.
[13:06]
그다음 /primer를 실행하면 됩니다.
[13:08]
자, 실행해볼게요.
[13:10]
여기 나열한 모든 명령어를
[13:12]
차례대로 실행하기 시작할 거예요.
[13:13]
먼저 tree 명령어를 사용하고
[13:16]
실행하는 모습을 볼 수 있을 거예요.
[13:18]
그다음 claude.md와 readme를 읽을 거예요.
[13:20]
하나씩 실행하겠죠.
[13:22]
좋아요. tree 명령어를 실행했네요.
[13:23]
다음에 claude.md를 읽는 모습을 볼 거예요.
[13:25]
여기 있네요. 좋습니다.
[13:27]
이런 식으로 작동한다는 걸 이해하셨을 거예요.
[13:29]
여기서 컨텍스트를 프라이밍하고 있는 거죠.
[13:31]
readme로 돌아가서
[13:33]
슬래시 명령어에 대해 마지막으로 다루고 싶은 것은
[13:35]
매개변수를 사용할 수 있다는 점이에요.
[13:36]
인수와 함께 슬래시 명령어를 사용할 수 있어요.
[13:39]
이렇게 달러 사인이 있는
[13:41]
슬래시 명령어가 있을 때
[13:43]
arguments 키워드가 있다는 것은
[13:46]
/analyze performance 같은 명령어를 호출할 때
[13:49]
공백 다음에 다른 매개변수를 전달하면
[13:50]
여기 있는 달러 사인 arguments를
[13:52]
채우게 된다는 뜻이에요.
[13:54]
여기 입력한 내용으로
[13:57]
이 키워드를 바꾸게 되는 거죠.
[14:00]
슬래시 명령어를 매개변수화할 수 있어서
[14:02]
명령어를 더욱 편리하게 만들 수 있는
[14:05]
정말 좋은 기능이죠.
[14:06]
다른 AI 코딩 어시스턴트에서는
[14:08]
이 명령어를 보고 프롬프트로 사용하라고 하고
[14:10]
매개변수로는 이 값을 사용하라고
[14:12]
말할 수 있어요.
[14:14]
다른 코딩 어시스턴트에서도 이런 식으로 할 수 있지만
[14:16]
슬래시 명령어가 클라우드 코드를
[14:18]
훨씬 쉽게 만들어주죠.
[14:19]
다음으로 MCP 서버에 대해 이야기하고 싶어요.
[14:22]
클라우드 코드가 훌륭하긴 하지만
[14:23]
외부 도구로 향상시킬 수 있는
[14:25]
기회가 여전히 많아요.
[14:27]
MCP는 클라우드 코드를
[14:28]
이런 도구들과 연결하는 방법이에요.
[14:30]
제 채널에서 MCP에 대해 많이 다뤘어요.
[14:33]
클라우드 코드와 함께 사용하는 방법도 포함해서요.
[14:35]
하지만 여기에 MCP 서버를 관리하고
[14:37]
추가하는 방법에 대한 간단한 설명이 있어요.
[14:39]
제 채널에서 다른 것들도 이야기했는데
[14:41]
AI RAG용 crawl이나 Supabase, Neon 같은 것들로
[14:44]
데이터베이스를 관리할 수 있어요.
[14:46]
클라우드 코드 내에서요.
[14:49]
여기서 정말 집중하고 싶은 것은
[14:51]
제게 큰 변화를 가져다준
[14:52]
하나가 있다는 점이에요.
[14:56]
Claude Code 내에서 데이터베이스를 관리할 수 있습니다. 여기서
[15:00]
제가 정말 집중하고 싶은 것 중 하나는
[15:02]
저에게 큰 변화를 가져다준
[15:05]
Serena MCP 서버입니다. 이것은
[15:07]
정말 놀라운 도구입니다. 지난주에 처음 발견했는데
[15:09]
이미 제게 많은 도움을 주고 있습니다.
[15:12]
이 MCP 서버는 Claude Code가 코드베이스를
[15:14]
이해하고 검색하며
[15:16]
요청한 변경사항을 위해 편집할 파일을 찾는
[15:17]
작업들을 수행하는데,
[15:19]
다만 더 뛰어나게 해냅니다. 이것은 시맨틱
[15:23]
검색과 코드 편집에 특화된
[15:26]
MCP 서버입니다. 코딩에 집중된
[15:29]
MCP 서버로, 정말 게임체인저라고 할 수 있습니다.
[15:31]
이것을 Claude Code에 추가해서
[15:33]
코드베이스 이해력을 향상시킬 수 있습니다.
[15:36]
기존 코드베이스와 함께 작업하기에 훌륭한 MCP입니다.
[15:38]
이것이 많은 분들께서 제 채널에서
[15:39]
더 많이 다뤄달라고 요청하신
[15:41]
내용이라는 것을 알고 있습니다.
[15:43]
UVX가 설치되어 있는지 확인하세요.
[15:44]
WSL에서 설치하는 방법입니다.
[15:47]
그리고 이 명령어로 Serena를 추가할 수 있습니다.
[15:49]
여기 터미널로 이동하겠습니다.
[15:51]
Claude CLI에 있지 않고 지금 잠시 나와있는 상태입니다.
[15:53]
MCP 서버를 추가할 수 있습니다.
[15:55]
좋습니다. Serena를 추가했습니다.
[15:57]
이제 claude MCP list를 실행할 수 있습니다.
[15:59]
이 명령어는 연결된 MCP 서버들을
[16:00]
알려주고 Archon과 같은 연결을 확인해줍니다.
[16:03]
잠시 후에 그것에 대해 이야기하겠습니다.
[16:04]
그리고 Serena도 보입니다.
[16:06]
또한 cloud MCP remove Serena 명령으로
[16:08]
해당 연결을 제거할 수도 있습니다.
[16:10]
물론 지금은 그러고 싶지 않습니다.
[16:11]
그리고 Claude Code가
[16:13]
허가를 구하지 않고 Serena를 실행할 수 있도록
[16:15]
설정에 추가할 수 있습니다.
[16:17]
여기서 mcp_serena라고
[16:19]
입력할 수 있습니다.
[16:21]
이것이 모든 도구에 자동으로 접근할 수 있도록 하는
[16:25]
특정 구문입니다. mcp
[16:28]
다음에 MCP 서버 이름을 입력합니다.
[16:30]
예를 들어 mcp archon도 입력할 수 있습니다.
[16:33]
좋습니다. 이제 이러한 MCP 서버들의
[16:35]
모든 도구를 허가 없이 사용할 수 있습니다.
[16:38]
이것이 제가 일반적으로 선호하는 방식이며
[16:40]
여러분께도 같은 방식을 추천합니다.
[16:41]
그리고 다른 할 수 있는 일은
[16:43]
여기서 Serena의 실제 예시를
[16:45]
보여드리려고 합니다.
[16:47]
제 primer.md 슬래시 명령을 편집해서
[16:48]
Serena를 사용해 코드베이스를 검색하고
[16:51]
오류가 발생하면 계속 Serena를 사용하도록 지정했습니다.
[16:55]
가끔 그런 일이 생기기 때문입니다.
[16:57]
새로운 MCP 서버를 활용해
[16:58]
슬래시 명령의 동작을 변경할 것입니다.
[17:00]
더 완전한 예시를 제공하기 위해
[17:01]
여기서 코드베이스에 몇 가지를
[17:03]
추가하겠습니다.
[17:05]
이것을 복사해서
[17:07]
최근에 제 채널에서 다룬
[17:09]
Pantic AI PRP 템플릿을 가져와서
[17:11]
여기 repo에 콘텐츠로 추가하겠습니다.
[17:13]
Serena가 검색할 수 있는
[17:15]
무언가를 만들어보겠습니다.
[17:17]
좋습니다. 더 완전한
[17:19]
코드베이스가 생겼네요.
[17:20]
이제 다시 Claude로
[17:22]
돌아갈 수 있습니다.
[17:24]
그리고 primer 명령을 실행할 수 있습니다.
[17:26]
하지만 이번엔 완전히 다르게 동작할 것입니다.
[17:29]
Claude로 돌아가서 다시 primer 명령을 실행할 수 있는데
[17:31]
이번에는 완전히 다르게 작동할 겁니다.
[17:32]
자, 됐습니다.
[17:34]
primer를 전송하면 이전처럼
[17:36]
tree 명령을 사용하여 시작할 것입니다.
[17:38]
claw.md와 readme를 읽지만
[17:40]
곧 여기서
[17:42]
건너뛰어 보겠습니다.
[17:43]
좋아요, 실제로 됐네요.
[17:44]
Serena를 사용하기 시작하고 있고
[17:47]
Serena MCP 내의 다양한 도구를
[17:49]
활용하여 제 코드베이스를
[17:51]
정말로 이해하는 것을 볼 수 있습니다.
[17:53]
이걸 보세요. Serena에 대한
[17:55]
이 모든 다양한 호출들, 그리고
[17:56]
이미 settings.local.json에
[17:59]
Serena MCP에 대해 추가했기 때문에
[18:01]
하나도 승인할 필요가 없었습니다.
[18:02]
그래서 여기서 이 명령의
[18:04]
전체 출력을 보여드리지는 않겠지만
[18:05]
우리 코드베이스를
[18:07]
훨씬 더 잘 이해하게 될 것입니다.
[18:09]
특히 코드베이스가 커질수록
[18:11]
Claude Code가 어려움을 겪기 시작할 때
[18:12]
Serena 같은 도구가 필요합니다.
[18:14]
그리고 MCP의 마지막 내용으로
[18:17]
저와 Dynamis 커뮤니티의 몇몇 동료들이
[18:19]
Archon의 대대적인 개편을
[18:21]
진행하고 있습니다. AI 코딩 어시스턴트를 위한
[18:23]
MCP 서버로 만들고 있습니다.
[18:25]
정말 기대됩니다.
[18:27]
모든 AI 코딩 어시스턴트를 위한
[18:30]
지식과 작업 관리 백본이 될 것입니다.
[18:32]
그리고 이번 수요일 13일,
[18:35]
중부 시간 오후 7시에 제 다음 영상이
[18:37]
이 새로운 버전의 Archon의
[18:40]
공식 오픈소스 베타 출시가 될 것입니다.
[18:43]
그리고 또 다른 축하로
[18:45]
런치 파티를 열 예정입니다.
[18:46]
16일 토요일 중부 시간
[18:49]
오전 9시에 라이브 스트리밍을 할 예정입니다.
[18:51]
그러니 꼭 달력에 표시해 두세요.
[18:52]
이것은 놀라운 사용자 인터페이스를 가진
[18:55]
Archon을 위한 큰 축하가 될 것입니다.
[18:57]
이제 코딩 어시스턴트와 함께
[18:59]
실시간으로 코딩 프로젝트의 작업을
[19:02]
관리할 수 있습니다. MCP 서버를 통해
[19:04]
업데이트되고 여러분이 업데이트할 때
[19:06]
실시간으로 서로 소통하게 됩니다.
[19:08]
지식 기능도 있어서
[19:10]
제 crawl for AI rag MCP처럼
[19:11]
문서를 크롤링할 수 있습니다.
[19:13]
그리고 제가 작업해온
[19:15]
모든 다양한 전략들이 있습니다.
[19:17]
우리는 Archon에 마음과 영혼을 쏟고 있습니다.
[19:19]
그래서 지금 여러분께
[19:21]
조금의 예고편을 보여드리는 것입니다.
[19:23]
곧 훨씬 더 많은 것들이 올 예정입니다.
[19:25]
여러분과 함께 다루고 싶은 다음 전략은
[19:27]
PRP 프레임워크를 사용한 컨텍스트 엔지니어링입니다.
[19:30]
최근에 제 채널에서 이것에 대해
[19:32]
많이 다뤘습니다. 정말로 자세히
[19:34]
알아보고 싶으시다면 여기 영상을
[19:35]
링크해 드릴게요. 왜냐하면
[19:37]
여기서 다루고 있는 많은 것들처럼
[19:39]
정말로 별도의 영상이 필요하기 때문입니다.
[19:41]
그런데 말이지만, 이 전략들 중 하나를
[19:43]
완전한 영상으로 더 보고 싶으시다면
[19:45]
댓글로 꼭 알려주세요.
[19:47]
하지만 PRP 프레임워크를 사용한
[19:49]
컨텍스트 엔지니어링은 정확히
[19:51]
기능이나 새로운 것을 정의하는 3단계 프로세스입니다
[19:54]
프로젝트를 생성하는 것입니다. 포괄적인
[19:56]
문서를 생성하여 코딩 어시스턴트를
[19:58]
위한 맥락을 제공하고, 이를 실행합니다.
[20:00]
그리고 슬래시 명령어를 통한 지침이
[20:03]
마지막 두 단계를 처리해 줍니다.
[20:05]
이 과정을 빠르게 살펴보겠습니다.
[20:06]
더 자세한 내용은
[20:08]
다른 영상을 확인해 보세요.
[20:09]
깊이 있게 다루고 싶으시다면 말이죠.
[20:12]
PRPS 폴더 내에서
[20:14]
항상 초기 MD를 정의합니다.
[20:17]
여기서 우리가 구축하고자 하는 것을
[20:19]
개괄하고, 제공하려는 예시나
[20:20]
문서, 기타 고려사항들을
[20:22]
포함합니다.
[20:24]
제가 이전에 채널에서 만든
[20:26]
템플릿을 사용하겠습니다.
[20:29]
Pydantic AI 에이전트를 구축하는
[20:32]
것에 특화된 템플릿입니다.
[20:34]
여기서는 간단한 예시로
[20:36]
사용하겠습니다. 기능을 설명하는데,
[20:38]
정말 간단하게 하기 위해
[20:40]
여기 있는 기본값을
[20:41]
사용하겠습니다. Pydantic AI를
[20:43]
사용한 간단한 리서치 에이전트를
[20:45]
구축할 것입니다. 종종 도구와
[20:47]
의존성, 시스템 프롬프트를
[20:49]
설명하는 것이 도움이 됩니다.
[20:50]
에이전트를 위해서 말이죠.
[20:52]
여기서는 정말 간단하고 빠르게 하기 위해
[20:54]
이 부분을 삭제하겠습니다.
[20:56]
가지고 있는 예시들을 제공하고자 합니다.
[20:59]
제가 여러분에게 제공한
[21:01]
Pydantic AI 사용 사례처럼
[21:03]
이미 여기에 Pydantic AI로
[21:04]
구축된 다양한 에이전트들의
[21:06]
예시들이 있습니다. 이것들을
[21:09]
참조하여 PRP를 생성할 때,
[21:11]
즉 코딩 어시스턴트를 위한
[21:13]
모든 맥락이 담긴 긴 형태의 프롬프트가
[21:15]
이 모든 예시들을
[21:17]
포함하게 됩니다. 그래서 이러한 것들을
[21:19]
참조하여 맥락에 가져와서
[21:21]
구축할 수 있는 예시들을 갖게 됩니다.
[21:23]
문서화도 비슷한 방식으로
[21:25]
Pydantic AI 문서에서
[21:28]
직접 참조합니다. 그래서
[21:30]
해당 페이지들을 읽게 됩니다.
[21:32]
어디서 필요한 모든 정보를
[21:33]
찾아야 하는지 명시적으로
[21:35]
알려주고, 기타 고려사항들도
[21:38]
포함합니다. 제가 자주 보는
[21:39]
실수들, 환경 변수를
[21:41]
관리하는 방식 같은 것들을
[21:43]
바로 여기서 지적하고 있습니다.
[21:45]
초기 MD를 생성한 후
[21:47]
README로 돌아가서 다음 단계는
[21:50]
PRP를 생성해야 합니다.
[21:52]
Claude Code로 다시 돌아가서
[21:54]
대화를 지우겠습니다.
[21:56]
새로 시작하기 위해서죠. 그리고
[22:00]
slash generate pydantic AI PRP 또는
[22:02]
제품 요구사항 프롬프트를
[22:04]
생성하는 슬래시 명령어를
[22:06]
사용합니다. 그리고 초기 MD의
[22:10]
경로를 제공합니다.
[22:11]
시작해 보겠습니다. 시간이
[22:12]
좀 걸릴 것이므로 완료되면
[22:15]
다시 돌아오겠습니다. 이 과정은
[22:17]
제 초기 MD를 검토하고
[22:19]
모든 맥락을 수집하기 위해
[22:22]
필요한 연구를 수행한 다음
[22:23]
마지막 단계를 살펴보겠습니다. 이것을 보세요.
[22:26]
내부적으로 Archon도 사용하고 있습니다.
[22:27]
제가 지시하지도 않았는데, MCP 서버가
[22:29]
연결되어 있어서 RAG 검색과
[22:30]
코드 예제 조회에 사용하고 있습니다.
[22:32]
그래서 여러분은 Archon이 어떻게
[22:34]
작동하는지 약간 맛보게 되는 거죠.
[22:36]
다음 주 베타 출시에서 훨씬 더 많이
[22:37]
보게 되실 겁니다. 하지만 네,
[22:39]
기본적으로 PRP를 생성할 때
[22:41]
우리가 하고 있는 것은 이 베이스 PRP를
[22:43]
기반으로 모든 것을 만드는 것입니다.
[22:46]
이것이 대규모 프롬프트를 생성하는
[22:49]
데 사용하는 템플릿이며, 다음 단계에서
[22:51]
이를 실행하여 모든 코드를
[22:53]
생성할 것입니다. 그래서 우리는
[22:54]
Pantic AI의 핵심 원칙, 해야 할 것과
[22:56]
하지 말아야 할 것을 다룹니다. 이 베이스
[22:59]
PRP를 Pantic AI로 AI 에이전트를
[23:01]
구축하는 데 매우 구체적으로 제작했고,
[23:04]
필요한 모든 맥락을 다루고 있습니다.
[23:05]
PRP에서 정말 좋아하는 또 다른 점은
[23:08]
여기처럼 단계별로 해야 할 일을
[23:10]
포함하는 다양한 작업을 다룬다는 것입니다.
[23:12]
Pantic AI로 에이전트를 구축하는 방법이죠.
[23:15]
그다음 검증 루프, 즉 검증 게이트로
[23:17]
들어갑니다. AI 코딩 도우미에게
[23:19]
자신을 검증하는 방법을 알려줘서
[23:21]
결과물이 AI 에이전트에 대해
[23:23]
우리가 중요하게 생각하는 기준에 따라
[23:25]
좋은지 확인할 수 있게 합니다.
[23:26]
정말 정말 좋습니다. 마지막 체크리스트와
[23:28]
일부 안티패턴이 있습니다. 기본적으로
[23:30]
여기서 생성할 내용이지만,
[23:32]
초기 MD에서 우리가 만들고 싶은
[23:35]
에이전트에 특화되어 있습니다. 그리고
[23:37]
PRP가 생성되었습니다. 그리고
[23:40]
PRP를 실행하기 전에 항상, 항상
[23:42]
검증해야 합니다. 베이스 PRP를
[23:45]
준수했는지, 모든 것이 여러분의
[23:46]
사양에 맞게 채워졌는지, 모든 것이
[23:48]
좋아 보이는지 확인해야 합니다.
[23:50]
다른 엔지니어에게 이것을 준다면,
[23:52]
그들이 이를 사용하여 에이전트를
[23:54]
여러분이 원하는 대로 정확히 종단 간
[23:55]
구현할 수 있어야 합니다. 그것이
[23:58]
PRP와 같은 광범위한 프롬프트로
[24:00]
우리가 가진 목표입니다. 그리고 네, 이것은
[24:02]
저에게 완벽해 보입니다. 이제
[24:04]
이를 실행할 수 있습니다. Claude Code로
[24:07]
돌아가겠습니다. 일반적으로 /clear로
[24:09]
대화를 지우는 것이 좋습니다.
[24:11]
PRP에 필요한 모든 것이 있기 때문에
[24:13]
여기서 새로운 맥락으로 시작하고
[24:15]
싶습니다. 이제 다른 명령어를 사용할
[24:17]
수 있습니다. generate 대신
[24:19]
execute PRP입니다. 그리고 다시 여기서
[24:23]
brave research agent.md의 경로를
[24:24]
제공하겠습니다. 좋습니다.
[24:26]
이제 시작합니다. 전체 에이전트를
[24:29]
구축해 줄 것입니다. 먼저 PRP를
[24:31]
읽을 것입니다. 왜냐하면 그것이
[24:32]
슬래시 명령어에 제공하는
[24:34]
인수이기 때문입니다. 앞서
[24:35]
슬래시 명령어의 인수에 대해
[24:37]
이야기했습니다. 그다음 여기 구조에
[24:38]
있는 다른 모든 것들을 읽을 것입니다.
[24:40]
우리가 지시한 모든 예제를
[24:42]
포함해서 말입니다. 문서에 대한
[24:43]
웹 연구를 할 것입니다. Serena까지
[24:45]
사용하고 있습니다. 이것을 보세요.
[24:46]
Serena를 사용해서 우리 코드 구조를
[24:49]
이해하고 있습니다. Archon도
[24:50]
RAG도 사용할 예정입니다. 내부적으로
[24:52]
정말 많은 일이 벌어지고 있어요. 그래서
[24:53]
일시정지하고 완전한 구현이
[24:55]
완료되면 다시 돌아오겠습니다. 그리고
[24:57]
완료되었네요. 약 20분 후에
[24:59]
AI 에이전트가 완성되었습니다. PRP와 마찬가지로
[25:02]
여기서 출력된 코드를 검토하고
[25:04]
검증해보실 것을 강력히 권합니다.
[25:06]
저는 카메라 밖에서 이 작업을 했고
[25:08]
몇 가지를 정리하기 위해 두 번
[25:10]
반복했습니다. 이제 이 에이전트를
[25:12]
실행하고 정말 빠르게
[25:13]
여기서 작동하는 것을 보여드릴
[25:14]
수 있습니다. 바로 컨텍스트
[25:17]
엔지니어링의 힘입니다. 여기서는
[25:18]
데모를 위한 매우 기본적인
[25:20]
에이전트입니다만, 우리가 만든
[25:22]
CLI가 꽤 좋습니다. 스트리밍 기능도 있고
[25:24]
웹 검색 도구도 있습니다.
[25:26]
2025년 제프 베조스의 순자산이 얼마인지
[25:29]
물어볼 수 있습니다. 그리고 웹 검색 도구를
[25:32]
사용하고 있다는 것도 보여줍니다.
[25:34]
텍스트 스트리밍과 대화 기록도
[25:35]
있습니다. 여기서 구축한
[25:37]
꽤 좋은 에이전트가 PRP 덕분에,
[25:39]
초기 MD 문서에서 참조한
[25:42]
예제들 덕분에 한 번에
[25:43]
만들어졌습니다. PRP 프레임워크로
[25:46]
컨텍스트 엔지니어링을 하는 것이
[25:48]
어떤 모습인지 높은 수준에서
[25:50]
보여드렸습니다. 그럼 이제
[25:52]
다음 단계로 넘어가겠습니다.
[25:54]
바로 코딩 프로세스를 PRP와 함께
[25:57]
더욱 강력하게 만드는 방법인데요.
[26:00]
사실 무엇이든 가능하지만, 특히
[26:02]
코딩 워크플로우에 특화된 지능을
[26:05]
추가하는 것입니다. 클로드 코드
[26:07]
서브 에이전트 덕분입니다. 서브 에이전트를 사용하면
[26:10]
주 클로드 코드 에이전트가
[26:12]
이들 중 어느 것이든 호출할 수
[26:14]
있는 능력을 갖게 됩니다. 그리고
[26:16]
주 에이전트가 실제로 서브 에이전트에
[26:18]
프롬프트를 보냅니다. 이것이 어떻게
[26:20]
작동하는지 이해하는 것이 매우 중요합니다.
[26:22]
서브 에이전트는 자체 컨텍스트 윈도우를
[26:24]
가지고 있습니다. 따라서 전체
[26:25]
대화 기록을 각 서브 에이전트로
[26:28]
가져오지 않습니다. 주 에이전트가
[26:30]
해당 서브 에이전트를 어떻게 사용하는지
[26:33]
알고 있는 방식에 따라 제작한
[26:34]
서브 에이전트용 프롬프트만 포함합니다.
[26:36]
조금 뒤에 그게 어떤 모습인지
[26:38]
보게 될 것입니다. 서브 에이전트는
[26:40]
각각 특화된 시스템 프롬프트를
[26:42]
가지고 있어서 매우 강력합니다.
[26:44]
접근할 수 있는 도구를 제한할 수 있고
[26:46]
위임된 작업에 대해 자율적으로
[26:48]
작동합니다. 주 에이전트는 또한
[26:50]
여러 서브 에이전트를 병렬로
[26:53]
시작할 수 있습니다. 따라서 병렬 에이전트
[26:56]
실행을 코딩 워크플로우에 추가하는
[26:58]
또 다른 매우 쉬운 방법입니다.
[27:00]
그리고 모든 에이전트는 .claude 폴더에
[27:02]
있으며, 여기서 새로 만들
[27:04]
agents라는 폴더에 있습니다.
[27:06]
글로벌 규칙과 마찬가지로
[27:08]
에이전트를 생성하는 두 가지 방법이
[27:09]
있습니다. /agents 명령이 있는데
[27:11]
/init과 비슷해서 클로드 코드가
[27:13]
에이전트 생성 과정을 안내해줍니다.
[27:15]
이런 식으로 파일을 출력하거나
[27:17]
이런 파일들을 직접 만들 수도
[27:18]
있습니다. 여기 여러분이 사용할 수 있는
[27:20]
폴더에서 아래 링크된 GitHub 저장소에 있습니다.
[27:22]
그 중에서 보여드리고 싶은 것 중 하나는
[27:24]
서브 에이전트의 파워를 빠르게 보여주기 위해
[27:25]
라스무스가 만든 것인데, 그는
[27:28]
PRP 프레임워크의 창시자입니다. 그는
[27:31]
실제로 이것을 검증 게이트용으로 만들었습니다.
[27:33]
검증 게이트는 PRP 프레임워크의
[27:35]
매우 중요한 부분입니다.
[27:38]
왜냐하면 마지막에 PRP를 실행하고
[27:39]
코드가 출력되면 우리는
[27:42]
에이전트가 자율적으로 작동하길 원합니다.
[27:44]
테스트를 작성하고 그 테스트들을 반복해서
[27:46]
코드가 작동한다고 확신할 때까지 말이죠.
[27:48]
그래서 이를 처리할
[27:49]
전문 에이전트를 구축할 수 있습니다.
[27:52]
그래서 agents 폴더에
[27:53]
새 파일을 만들겠습니다. 검증
[27:55]
게이트.md라고 하겠습니다. 이들은 마크다운 파일로
[27:57]
글로벌 규칙과 같고, 조금 후에 다룰
[27:59]
훅과도 같습니다.
[28:00]
그리고 여기에 고유한 시스템 프롬프트가 있어
[28:02]
검증 게이트를 어떻게 구현하고 검증할지 정확히 알려줍니다.
[28:05]
그래서 상단에는 에이전트의 이름이 있습니다.
[28:08]
그다음 설명이 있습니다.
[28:10]
설명은 정말 중요합니다.
[28:12]
왜냐하면 이것이 우리의 기본 클로드
[28:14]
코드 에이전트에게 이 서브 에이전트가
[28:16]
무엇에 관한 것인지 그리고 어떻게 호출할 수 있는지
[28:18]
알려주기 때문입니다. 언제 그리고 어떻게
[28:21]
이 서브 에이전트를 사용할지 정말 알려줍니다.
[28:23]
그리고 또한 액세스할 수 있는
[28:25]
도구들을 설명할 수 있습니다.
[28:26]
다른 매개변수들도 있습니다.
[28:28]
심지어 모델을 지정할 수도 있습니다.
[28:30]
소넷이나 오푸스를 사용하고 싶다면
[28:33]
서브 에이전트에 그것을 지정할 수 있습니다.
[28:35]
이것이 우리 에이전트입니다. 이제 리드미로 돌아가서
[28:38]
말하고 싶은 것은
[28:40]
다른 AI 코딩 어시스턴트들은
[28:42]
커서나 히어로 같은 플랫폼에
[28:44]
서브 에이전트의 공식적인 개념이 내장되어 있지 않지만
[28:47]
클라이언트나 기타 어떤 것이든 여러분은
[28:50]
프롬프트만으로도 매우 유사한 것을
[28:51]
달성할 수 있습니다. 그리고 실제로
[28:53]
글로벌 규칙과 마찬가지로
[28:55]
슬래시 커맨드와 마찬가지로, 이 모든 서브 에이전트들은
[28:58]
정말 그냥 프롬프트일 뿐입니다. 그래서 여러분은
[29:00]
이 모든 다양한 프롬프트들로 가득 찬
[29:01]
폴더를 가질 수 있습니다. 그리고
[29:03]
글로벌 규칙에서 다음과 같이 말할 수 있습니다.
[29:04]
좋아, 개발 플로우에서 이 지점에 도달하면
[29:05]
이 프롬프트를 사용해서
[29:08]
검증 게이트를 수행하거나 문서를 업데이트하라
[29:11]
그게 무엇이든 말이죠.
[29:12]
그래서 매우 유사한 것을
[29:13]
달성할 수 있습니다. 단지 클로드 코드로
[29:16]
에이전트를 구현하는 방식이 너무 쉽습니다.
[29:17]
설명과 도구들, 그리고
[29:19]
다양한 모델 지정 같은 것들을 가질 수 있어서
[29:21]
프롬프트만으로 해야 하는 것보다
[29:23]
훨씬 더 유연합니다.
[29:24]
그래서 이렇게 하는 이유가 여전히 있지만
[29:26]
네, 이것의 데모를 보여드리겠습니다.
[29:27]
새로운 클로드 코드 세션에서
[29:29]
새로운 슬래시 커맨드와 마찬가지로 새로운 에이전트를 가져오려면
[29:31]
세션을 새로고침해야 합니다.
[29:33]
여기서 말하고 있습니다. 이것이 제 검증 게이트입니다.
[29:35]
브레이브 AI 리서치 에이전트의 모든 테스트가
[29:38]
작동하는지 확인해주세요.
[29:41]
그리고 서브 에이전트를 사용하라고 명시적으로 말하지 않았습니다.
[29:44]
물론 여기서 검증 게이트라고 말하면서
[29:46]
어느 정도는 명시적이긴 합니다.
[29:48]
하지만 이건 PRP 중간에서 작업할 때의
[29:49]
모습을 더 시뮬레이션하기 위한 것입니다
[29:50]
왜냐하면 validation gate는 우리가 사용하는
[29:52]
키워드이기 때문입니다.
[29:54]
자, 이제 시작됩니다.
[29:56]
전문화된 서브 에이전트를 호출하고 있고
[29:58]
서브 에이전트가 작업 목록을 만들고 있습니다.
[30:00]
별도의 대화 창에서 모든 것을 처리하고 있습니다.
[30:03]
그 다음 출력과 함께 제어를 다시
[30:05]
기본 에이전트로 넘길 것입니다
[30:08]
그러면 플로우를 계속하거나
[30:09]
최종 응답을 우리에게 제공할 것입니다.
[30:12]
우리는 지금 이 전체 과정을
[30:13]
볼 필요는 없습니다.
[30:14]
정말 빠르게 기본 에이전트가
[30:16]
언제 서브 에이전트를 호출할지
[30:18]
지능적으로 파악하는 방법을
[30:20]
보여드리고 싶습니다
[30:22]
여기 있는 설명을 기반으로 말이죠.
[30:25]
다음으로 Claude Hooks가 있습니다
[30:27]
이것은 Claude Code의 동작에
[30:30]
결정론적 제어를 추가하는
[30:32]
매우 강력한 방법입니다. 여기 모든 키워드들이
[30:35]
있습니다. 이러한 액션들 후에
[30:38]
우리만의 커스텀 명령을 호출할 수 있습니다.
[30:40]
도구를 사용하기 전, 도구를 사용한 후,
[30:42]
서브 에이전트를 사용한 후에도
[30:44]
실행되는 커스텀 명령을 만들 수 있습니다.
[30:46]
정말 강력합니다. 이것은 Hero에도
[30:49]
내장되어 있지만 다른 AI 코딩
[30:51]
어시스턴트에는 없습니다.
[30:52]
하지만 Claude Code가 업계 선두주자이고
[30:54]
선두주자를 항상 따라하기 때문에
[30:55]
Cursor, Winner, Augment Code 같은
[30:57]
다른 IDE들도 hooks를 구현하게 될
[30:59]
것이라고 생각합니다.
[31:01]
정말 정말 강력합니다.
[31:03]
hooks를 추가하기 위해서는 JSON으로
[31:06]
정의하고 settings.local.json에
[31:07]
추가하면 됩니다.
[31:09]
저는 보통 hooks 폴더에
[31:11]
정리하는 것을 좋아합니다.
[31:13]
그리고 여기에 JSON 파일을 하나 둡니다.
[31:15]
hooks.json이라고 부르면 됩니다.
[31:17]
템플릿에 소개용 hooks 몇 개를
[31:19]
넣어두었습니다. 정말 기본적인
[31:21]
hooks이지만
[31:22]
추가할 수 있는 다양한 종류의 hooks와
[31:25]
개발 라이프사이클에서
[31:26]
이러한 액션들이 발생할 수 있는
[31:28]
다양한 지점들을 소개하기 위함입니다.
[31:30]
이것을 복사해서
[31:31]
여기에 가져와서 간단하게 유지하겠습니다.
[31:33]
지금은 단일 hook로
[31:34]
줄이겠습니다
[31:36]
그리고 이 JSON을 복사해서 이미 다룬
[31:40]
permissions 아래 설정에 넣겠습니다.
[31:42]
자, 됐습니다.
[31:44]
이제 실행되는 명령이 있습니다.
[31:45]
이 도구 중 하나를 호출할 때마다
[31:47]
이 bash 스크립트를 실행할 것입니다.
[31:50]
이 matcher를 사용해서
[31:52]
도구 사용 후에 필터링도 합니다.
[31:54]
hooks 폴더 내에서
[31:56]
명령에서 경로를 호출하고 있으니
[31:58]
이 파일도 만들겠습니다.
[32:00]
log_tool_usage.sh입니다.
[32:01]
log tool usage.sh.
[32:03]
그리고 템플릿에서 내용을 복사해서
[32:05]
가져오겠습니다.
[32:07]
자, 됐습니다. 정말 간단합니다.
[32:08]
hook에서 매개변수도 받을 수 있습니다.
[32:11]
사용된 특정 도구들을 로그하는 것 같은
[32:12]
작업도 할 수 있습니다
[32:14]
여기서 사용되는 도구들을 로깅할 수 있어요. 하지만 정말 간단하게 유지하고 있습니다.
[32:16]
Claude가 편집을 했다고 나타내고
[32:17]
매번 타임스탬프와 함께 편집 내용을 기록합니다.
[32:19]
그래서 이제 우리가 Claude 세션을 새로고침하는 한
[32:21]
이 기능이 계속 호출될 것입니다.
[32:23]
그래서 새 세션을 시작하고
[32:25]
Claude에게 변경을 요청해보겠습니다.
[32:27]
조금 바보 같은 예시지만
[32:29]
제 .gitignore 파일에 임의의 변경을 요청하고 있어요.
[32:31]
실제로 무엇을 하든 상관없습니다.
[32:32]
저는 단지 변경사항이 생겼을 때
[32:34]
제가 만든 훅이 호출되는 것을 보고 싶을 뿐입니다.
[32:36]
그러면 새로운 logs 폴더에
[32:38]
뭔가가 출력되는 것을 볼 수 있을 겁니다
[32:40]
우리 클라우드에 생성될 폴더 말이죠
[32:42]
그곳이 바로 우리 스크립트에서 지정한 위치거든요.
[32:44]
그럼 .gitignore에 변경사항을 만들어보겠습니다.
[32:46]
여기서 보세요. 잠깐만요. 됐습니다!
[32:48]
좋아요. 그리고 잠깐 후에. 짠!
[32:51]
logs 폴더가 생겼습니다.
[32:53]
로그 파일도 있고요. Claude가 방금 편집을 했다고 나와 있습니다.
[32:56]
정말 잘 작동하네요.
[32:58]
이것이 훅의 기본적인 수준입니다.
[33:00]
훅으로 할 수 있는 일은 정말 많습니다.
[33:01]
솔직히 독립적인 비디오가 필요할 정도예요.
[33:03]
그래서 댓글로 알려주세요
[33:05]
훅에 대해 더 자세히 다루는 비디오나
[33:06]
서브 에이전트 같은 것에 관심이 있다면 말이에요.
[33:08]
다음으로는 GitHub CLI를 사용하는 것에 대해 알아보겠습니다
[33:10]
Claude Code와 함께 사용하는 방법 말이에요.
[33:14]
Claude Code가 우리의 로컬 개발 환경에서
[33:16]
작동하는 것만큼이나 유용하지만
[33:18]
또한 매우 강력하고
[33:20]
GitHub 저장소 내에서도
[33:22]
작동하게 할 수 있습니다.
[33:24]
이슈와 풀 리퀘스트를 관리할 수 있어요.
[33:26]
그것이 바로 지금 보여드리고 싶은 것입니다.
[33:28]
그래서 GitHub CLI는
[33:30]
이 링크를 따라가서 설치할 수 있습니다.
[33:32]
그리고 여기서 실행해야 할 몇 가지 명령어가 있습니다.
[33:34]
우선, GitHub 인증부터 해야 합니다.
[33:36]
이것은 OAuth 플로우를 안내해줄 것입니다
[33:38]
그리고 Claude 외부에서 말이에요.
[33:39]
여기서 이것을 지워보겠습니다.
[33:42]
gh repo list 명령어를 실행해서
[33:43]
제대로 작동하는지 확인할 수 있습니다.
[33:45]
이렇게 하면 모든 GitHub 저장소를 나열합니다.
[33:47]
이제 Claude에 로그인된 상태이고
[33:49]
개발 환경에 gh 명령어가 있으니
[33:51]
GitHub CLI 명령어를 사용할 수 있습니다.
[33:53]
Claude Code가 이제 이것을 사용해서
[33:55]
원격 GitHub 저장소에서 작업할 수 있습니다.
[33:57]
정말 강력한 기능이에요.
[34:00]
예를 들어, 제 GitHub 저장소에서
[34:02]
할 수 있는 것이 뭐냐면요.
[34:04]
우리가 이 비디오에서 함께 만든 모든 것들이
[34:06]
이 프라이빗 GitHub 저장소에 있습니다.
[34:07]
지금 바로 이슈를 생성할 수 있어요.
[34:09]
그래서 여기서 이슈를 열어보겠습니다.
[34:11]
Brave 에이전트를 위한 인사말이라고 할게요.
[34:13]
그리고 여기서 말할 수 있는 것은, 이건 단순히
[34:16]
데모 목적입니다만
[34:18]
제 Brave 에이전트가
[34:20]
CLI를 처음 시작할 때 인사말이 필요하다고 할 수 있어요.
[34:23]
그냥 좀 우스꽝스러운 예시이긴 하지만
[34:28]
이 이슈를 생성하겠습니다.
[34:29]
자, 됐습니다.
[34:31]
그리고 이슈 번호는 1번입니다.
[34:33]
여기서 볼 수 있고요.
[34:34]
URL에서도 확인할 수 있습니다.
[34:35]
이것이 조금 후에 중요할 겁니다
[34:36]
왜냐하면 Claude Code에게 이 이슈를 알려주고
[34:38]
그것을 해결하도록 할 것이기 때문입니다
[34:40]
우리를 위해서 말이죠. 그리고 이걸 실행하기 위해서
[34:43]
커스텀 슬래시 커맨드를 만들어보겠습니다.
[34:45]
이것도 템플릿에 준비해뒀으니
[34:47]
여러분이 사용하실 수 있습니다.
[34:48]
이걸 복사해서 마이클라우드로 가겠습니다.
[34:50]
커맨드 폴더에서 새 파일을 만들어보죠.
[34:53]
fix github issue.md로, .sh가 아니라요. 그건 hooks용이에요.
[34:57]
네, 됐습니다. 좋아요.
[34:58]
이걸 붙여넣겠습니다. 기본적으로 우리가 하는 건
[35:00]
단계별로 안내하는 거예요. 제가 이슈를 알려주면
[35:03]
이게 우리가 전달하는 인수인데
[35:04]
여기에 이슈 번호를 입력하죠.
[35:05]
우리 경우에는 이슈 번호 1번이겠네요.
[35:07]
GitHub CLI의 gh issue view를 사용해서
[35:09]
이슈를 파악하게 됩니다.
[35:12]
코드베이스를 살펴보고 해결책을 구현하죠.
[35:14]
테스트를 작성하고 검증하는데
[35:16]
이 과정에서 검증 게이트 서브에이전트도
[35:17]
호출할 수 있어요. 어떻게 될지 보죠.
[35:19]
모든 게 제대로 작동하는지 확인하고
[35:21]
풀 리퀘스트도 생성합니다.
[35:23]
GitHub에 푸시하죠. 새 브랜치를 만들어서
[35:25]
거기에 올리거나 뭐든지 하고나서
[35:26]
풀 리퀘스트를 생성합니다.
[35:28]
완전히 엔드투엔드로 작동해요.
[35:29]
GitHub로 나가서 로컬에서 작업하고
[35:31]
다시 GitHub에 PR로 돌아갑니다.
[35:33]
정말 멋지죠. Claude로 돌아가서
[35:35]
이걸 지우고 이 커맨드를 실행해보겠습니다.
[35:38]
간단해요. /fixGithub issue
[35:39]
그리고 이슈 번호 1을 입력하면 됩니다.
[35:41]
자, 전송해보겠습니다.
[35:42]
곧 이 댓글을 가져와서
[35:45]
개발 가이드로 사용할 거예요.
[35:48]
네, 맞네요. 여기서 이슈를 받아왔어요.
[35:50]
용감한 에이전트를 위한 인사말이네요.
[35:52]
텍스트는 잘렸지만 전체 텍스트는
[35:53]
여기서 받아왔습니다. 이제 모든 걸
[35:55]
수정하기 위한 할 일 목록을 만들고
[35:56]
마지막에 PR을 생성할 거예요.
[35:58]
이 플로우가 완료될 때까지
[35:59]
잠시 멈추고 돌아오겠습니다.
[36:01]
자, 완료됐네요.
[36:03]
전체 화면으로 보여드리겠습니다.
[36:04]
전체 요약을 보시죠.
[36:07]
GitHub에서 이슈를 읽어서 찾아냈고
[36:08]
해결책을 구현하고 모든 걸 테스트했어요.
[36:11]
새 브랜치를 만들어서 푸시하고
[36:12]
단일 슬래시 커맨드만으로
[36:15]
풀 리퀘스트까지 생성했습니다.
[36:17]
이게 바로 슬래시 커맨드의 힘이죠.
[36:19]
우리가 만든 완전한 에이전틱 워크플로우와
[36:21]
GitHub CLI 통합의 파워입니다.
[36:22]
제 이슈로 돌아가 보면
[36:24]
커밋과 이 이슈를 참조하는
[36:26]
새 브랜치가 생겼고
[36:28]
새 풀 리퀘스트도 만들어졌습니다.
[36:29]
여기서 새로고침하면
[36:32]
풀 리퀘스트 옆에 1이 보일 거예요.
[36:34]
네, 나타났네요. 들어가서
[36:36]
변경사항을 확인해볼 수 있어요.
[36:38]
네, 테스트도 만들었고
[36:39]
CLI도 업데이트해서
[36:42]
멋진 인사말을 추가했네요.
[36:44]
정말 훌륭해 보입니다.
[36:46]
이제 이 변경사항들을 검토하고
[36:48]
메인 브랜치에 머지할 수 있어요.
[36:49]
Claude에게 그 작업도 도움을 요청할 수 있죠.
[36:51]
여기 통합 기능들이 정말 아름답습니다.
[36:53]
물론 GitHub CLI와 Claude Code로
[36:55]
할 수 있는 일은 훨씬 더 많아요.
[36:57]
Claude Code를 통합해서
[36:59]
Claude Code와 함께 사용할 수도 있습니다.
[37:01]
GitHub 저장소와 직접 통합할 수 있습니다. 그래서
[37:03]
일반 개발자처럼 이슈와
[37:05]
PR에서 참조할 수 있고
[37:07]
문제를 수정하고 PR을
[37:08]
자동으로 생성할 수 있습니다. 정말 멋지죠. 여기서는
[37:11]
표면만 살짝 다뤘지만
[37:12]
이런 종류의
[37:14]
통합으로 무엇이
[37:16]
가능한지 소개해드리고 싶었습니다. 다음으로
[37:19]
Devcontainers를 이용한 YOLO 모드로 넘어가겠습니다.
[37:21]
이 시점에서 우리는 이미
[37:23]
권한에 대해 다뤘습니다. 우리는 모든 것을
[37:24]
settings.local.json에 설정했습니다.
[37:27]
Claude가
[37:29]
특정 작업을 우리의
[37:31]
승인 없이 자동으로 수행하는
[37:33]
환경이 어떤 모습인지 이해했습니다. 그리고 파일
[37:34]
삭제와 같은 다른 작업들은 일반적으로
[37:36]
실행하기 전에 항상 승인을 받기를 원합니다. 그리고
[37:39]
우리가 이런 종류의
[37:40]
보호 장치를 두고자 하는 가장 큰 이유 중 하나는
[37:43]
파일 삭제와 같은 명령에 대해
[37:45]
Cloud Code가 이론적으로
[37:47]
현재 프로젝트 외부의
[37:49]
파일을 삭제할 수 있기 때문입니다. 최악의 경우
[37:51]
컴퓨터의 중요한 파일을 삭제할 수 있습니다.
[37:54]
시나리오죠. 저는 그런 일이
[37:55]
일어나는 것을 본 적은 없지만, 이런 종류의
[37:57]
보호 장치는 우리가
[37:59]
Cloud Code를 직접
[38:00]
컴퓨터에서 실행할 때 일반적으로 갖추고 싶은 것입니다. 그래서
[38:02]
이에 대한 해결책은, 만약 여러분이
[38:04]
안전한 환경을 원하면서도
[38:07]
Claude가 절대 권한을
[38:09]
요청하지 않아서 완전히
[38:11]
자율적으로 작동할 수 있게 하고 싶다면, 그때
[38:13]
dev container와 함께
[38:15]
YOLO 모드를 활성화하고 싶을 것입니다. 기본적으로
[38:18]
dev container를 사용하면 Cloud Code를 자체
[38:21]
격리된 환경에서 실행합니다. 그러면 우리의 전체
[38:23]
머신이 보호됩니다. 또한 dev
[38:25]
container에 방화벽을
[38:27]
설정할 수 있어서 우리가 원하는 웹사이트에만
[38:29]
액세스할 수 있도록 할 수 있습니다. 그러면
[38:31]
dangerously skip
[38:33]
permissions로 실행할 수 있어서 더 이상
[38:35]
어떤 것에도 승인을 요청하지 않으면서도
[38:37]
안전할 수 있습니다. 그리고 dev
[38:39]
containers는 Anthropic의
[38:41]
공식 아이디어입니다. 그래서 그들은
[38:43]
문서에 이 페이지를 가지고 있고
[38:44]
아래 설명에 링크를 남겨두겠습니다.
[38:45]
여기서 무엇을
[38:47]
설정하고 있는지 이해하고 싶다면 읽어보시면 됩니다. 그리고
[38:48]
Docker 파일과 몇 가지
[38:50]
다른 것들을 제공합니다. 그래서 우리는 이 dev
[38:52]
container를 만들 수 있고
[38:54]
어떤 VS Code에서도 직접 실행할 수 있습니다. Cursor나
[38:56]
Wind surf 같은 포크도 가능합니다.
[38:59]
Cloud Code와 함께 실행할 수 있습니다. 어떤 VS
[39:01]
Code에서도 열기만 하면 됩니다.
[39:02]
네, 지금 어떻게 하는지 보여드리겠습니다. 저는
[39:05]
Anthropic에서 포함된
[39:07]
.devcontainer를 가지고 있습니다. 이것을
[39:08]
템플릿에 직접 포함시켰습니다. 지금
[39:10]
제가 할 일은 여기 두 폴더로
[39:12]
돌아가겠습니다. 이 dev container를
[39:14]
복사해서 이 비디오에서
[39:16]
작업해온 코드베이스에
[39:18]
바로 가져오겠습니다.
[39:20]
여기가 우리의 dev container이고
[39:22]
readme로 돌아가서 실행하는 방법은
[39:24]
VS Code에서
[39:26]
F1 키를 누르기만 하면 됩니다. Dev Container를 선택하고
[39:28]
컨테이너에서 다시 열기를 선택하면
[39:31]
자동으로 dev container를 빌드하고
[39:32]
새로운 VS Code 환경이 열립니다.
[39:34]
저는 여기서 Windsurf를 사용해서
[39:36]
터미널에서 Claude Code를 실행하고 있습니다.
[39:37]
이제 dev container가 빌드되고
[39:38]
잠깐 후에 새로운 환경이
[39:40]
컨테이너 내부에서 완전히 독립적으로
[39:42]
실행되는 환경이 준비됩니다.
[39:43]
준비될 때까지 잠시 멈추고 돌아오겠습니다.
[39:46]
자, 준비됐습니다.
[39:47]
dev container에 있다는 걸 확인하는 방법은
[39:49]
왼쪽 하단에
[39:50]
container, dev container라고 표시되는 것입니다.
[39:52]
컨테이너에서 나가고 싶다면
[39:54]
로컬에서 폴더 다시 열기를 선택해서
[39:56]
일반 개발 환경으로
[39:58]
돌아갈 수 있습니다.
[39:59]
이제 Ctrl+J를 눌러서
[40:00]
터미널을 열고 Claude를 실행하면
[40:03]
새로운 Claude Code 세션이 열립니다.
[40:06]
저는 격리된 환경에 있기 때문에
[40:07]
기본적으로 새로운 가상 머신에서
[40:09]
Claude Code를 처음부터
[40:12]
설정하는 과정을 안내해줍니다.
[40:14]
이는 당연한 일이죠. 그러면 여기서
[40:17]
인증 과정을 거쳐보겠습니다.
[40:18]
좋습니다. 방금 Claude Code와
[40:20]
인증할 수 있는 링크를 열었습니다.
[40:21]
마지막 몇 단계를 거쳤고
[40:22]
이제 Claude 안에 있습니다.
[40:24]
그런데 제가 할 수 있는 것은
[40:25]
이것을 지우고 Claude를 다시 열어서
[40:27]
위험하게 권한 건너뛰기를
[40:30]
실행할 수 있습니다.
[40:32]
오른쪽 하단에서 확인할 수 있습니다.
[40:35]
엔터를 누르겠습니다. 여기서
[40:37]
경고가 나타납니다. 권한 우회
[40:38]
모드에 있다고 하네요. 이를 수락하면
[40:40]
오른쪽 하단에서
[40:42]
권한을 우회하고 있다고 표시됩니다.
[40:43]
이제 더 많은 테스트 작성과 같은
[40:46]
작업을 할 때 어떤 것을 편집하기 전에
[40:49]
승인을 요청하지 않습니다.
[40:50]
파일을 삭제하더라도
[40:52]
승인을 요청하지 않습니다.
[40:54]
모든 것을 완전히
[40:56]
자율적으로 수행합니다.
[40:58]
하지만 우리에게는 보호 장치도 있습니다.
[41:00]
Anthropic에서 이 컨테이너에
[41:01]
구축한 방화벽 기능이 있습니다.
[41:03]
방문할 수 있는 웹사이트의 허용 목록이 있고
[41:05]
그 목록에 추가할 수도 있습니다.
[41:07]
안전한 YOLO 모드 dev container 환경
[41:08]
설정에 관심이 있다면
[41:10]
꼭 살펴보시길 바랍니다.
[41:12]
이 모든 것은 이 Docker 파일 덕분입니다.
[41:14]
이 모든 것은 Anthropic 문서에서
[41:16]
직접 가져온 것입니다.
[41:17]
이제 우리는 안전한 YOLO 모드를 갖추었습니다.
[41:20]
마지막으로 Claude Code에서
[41:22]
병렬 에이전트 실행에 대해
[41:25]
설명드리겠습니다. git work tree라는
[41:27]
개념으로 이를 구현할 것입니다.
[41:29]
병렬 에이전트를 구현하는 방법은
[41:31]
여러 가지가 있습니다. 이미 서브 에이전트로
[41:33]
한 가지 방법을 봤지만, 이 방법은
[41:35]
정말 강력합니다. git work tree를 사용하면
[41:37]
기본적으로 GitHub 저장소의
[41:39]
다른 브랜치들을 동시에 열어둘 수 있고
[41:42]
각각에 대해 Claude Code 인스턴스를 실행할 수 있습니다.
[41:46]
각각에서 작동하고 있습니다. 그래서 우리는
[41:47]
격리가 보장됩니다. 서로
[41:49]
발목을 잡지 않을 거예요
[41:50]
모두 자신만의 브랜치를
[41:52]
열어두고 있기 때문입니다. 그래서 우리는 코드베이스를
[41:53]
이러한 다른 작업 트리들에
[41:55]
복제해 두었습니다. 그리고 기본적으로
[41:57]
각 작업 트리에서 원하는 변경사항을
[41:59]
구현한 후, 우리가
[42:01]
병합하고 싶은 것을 찾거나 아니면
[42:03]
모든 것을 병합하고 싶을 때
[42:04]
그것들을 우리의 메인 브랜치로
[42:07]
각 클로드 코드 인스턴스가 완료된 후 다시 가져올 수 있습니다.
[42:09]
그리고 이를 설정하는 수동 방법이 있고
[42:11]
그리고 슬래시 커맨드를 사용한
[42:13]
정말 멋진 자동화된 방법이 있는데
[42:15]
여기서 당신과 함께 집중하고 싶습니다.
[42:17]
하지만 먼저 수동 방법부터
[42:19]
빠르게 시작해보겠습니다. 지금 당장
[42:20]
이 모든 명령어를 데모로
[42:22]
실행해보지는 않겠습니다. 그냥
[42:23]
빠르게 이것들을 짚어보고 싶습니다. 기본적으로
[42:25]
다른 기능 브랜치들을 만들면,
[42:27]
feature/auth, feature/api 같은 것들을 말이죠,
[42:30]
이제 작업 트리를 추가할 수 있습니다. 그래서
[42:33]
작업 트리가 기반으로 할 브랜치를
[42:34]
지정하기만 하면 됩니다. 그리고
[42:39]
기본적으로 코드베이스를
[42:41]
작업 트리에 복제하고 싶은
[42:43]
로컬 파일 시스템의 경로를 제공합니다.
[42:45]
실제로 모든 것을 복제합니다. 그래서
[42:47]
별도의 브랜치에서 완전히
[42:49]
격리된 환경을 갖게 됩니다. 그리고
[42:51]
그 디렉토리로 이동해서 클로드를
[42:53]
실행할 수 있습니다. 그리고 생성하는
[42:54]
작업 트리 개수만큼 이를 수행할 수 있습니다. 정말
[42:59]
간단합니다. 하지만 이 모든 브랜치를 만들고,
[43:02]
이 모든 작업 트리를 설정하고,
[43:03]
그 각각에서 클로드를
[43:05]
여는 것은 꽤 번거롭습니다. 그래서
[43:07]
이 모든 것을 처리하는 자동화된 프로세스가 있습니다.
[43:10]
이것이 바로 여기서 여러분께
[43:11]
데모하고 싶은 것입니다. 그래서
[43:13]
템플릿에 몇 가지 슬래시 커맨드가 있는데
[43:14]
우리가 다뤘던 다른 것들과 함께
[43:16]
프라이머나 PRP 관련 것들처럼
[43:17]
지금 가져오고 싶은 것들이 있습니다. 첫 번째는
[43:20]
prep parallel입니다. 이것을
[43:22]
복사해서 우리 커맨드로
[43:24]
가져와서 빠르게
[43:25]
설명해드리겠습니다.
[43:27]
prep parallel.md는 여러
[43:30]
다양한 에이전트들의 병렬 실행을
[43:32]
준비하는 것입니다. 여기에 몇 가지
[43:34]
인수가 있습니다. 기능 이름이 있고,
[43:36]
구현하고자 하는 새 기능의 이름이 무엇인가요?
[43:38]
그리고 원하는 병렬 에이전트 또는
[43:40]
병렬 작업 트리의 개수는
[43:42]
얼마나 되나요? 그리고 병렬 에이전트
[43:44]
개수를 기반으로 한 루프에서
[43:46]
새로운 브랜치와 새로운
[43:48]
git 작업 트리를 생성할 것입니다.
[43:50]
그곳으로 이동해서 모든 것이
[43:52]
제대로 설정되었는지
[43:53]
검증할 것입니다. 그리고
[43:55]
마지막에 git work tree list를 실행해서
[43:56]
모든 것이 설정되었는지
[43:58]
확인할 것입니다. 그래서 우리는
[44:00]
여러 다른 클로드 에이전트들의 실행을
[44:02]
준비하고 있는 것입니다. 그리고
[44:04]
여기 있는 이 예제에서는
[44:07]
병렬 실행을 통해서 이건
[44:08]
구체적으로 여러 다른
[44:10]
에이전트가 코드베이스에서 동일한 기능을
[44:12]
처리하도록 하는 것입니다. 그리고 여기서
[44:14]
명확히 하고 싶습니다. 다시 스크롤을 내려보겠습니다.
[44:17]
여기서 명확히 하고 싶은 건 여러분이
[44:18]
병렬 에이전트를 사용해서 코드베이스의 다른
[44:20]
부분들을 동시에 작업할 수 있다는 것입니다.
[44:22]
또는 우리가 지금 하고 있는 것처럼
[44:24]
병렬 에이전트를 사용해서 동일한 기능을
[44:26]
여러 번 다르게 구현할 수 있습니다. 그래서
[44:29]
최고의 구현을 선택할 수 있죠. 이건
[44:30]
단순히 개발을 더 빠르게 하는 방법인데
[44:32]
때로는 Claude가 실수를 하고
[44:34]
다시 시작해야 할 수 있거든요. 하지만 이제는
[44:35]
모든 걸 한 번에 처리할 수 있습니다. 이게 바로
[44:37]
prep parallel입니다. 다음으로 가지고 있는 것은
[44:39]
PRP와 비슷한데 prep 명령어가 있고
[44:41]
실제 실행 명령어가 있습니다. execute parallel
[44:42]
이죠. 이걸 가져와서 새 파일을
[44:45]
만들겠습니다. execute parallel MD.
[44:47]
여기 철자를 수정하겠습니다. 이름을 바꾸고.
[44:51]
오타는 좋지 않으니까요. 좋습니다.
[44:54]
이제 전체 내용을
[44:55]
여기에 붙여넣겠습니다. 우리는 기능 이름을
[44:57]
하나의 인수로, 실행할 계획을
[44:58]
가지고 있습니다. 이건 PRP에서
[45:01]
초기 MD와 같은 방식인데 여기서 생성하고
[45:03]
실제로 여기서 할 겁니다. plan MD를
[45:05]
만들고 여기서 새로운 기능을 위해
[45:07]
구현하고 싶은 모든 것을 명시할 겁니다.
[45:09]
그래서 여기서 Brave 에이전트 CLI를
[45:12]
기본 테마로 빨간색과 주황색 색상을
[45:15]
갖도록 변경한다고 말할 수 있습니다.
[45:18]
서브 에이전트에서 했던 것처럼 데모용으로
[45:21]
아주 간단한 것으로요. 다시 명령어로
[45:24]
돌아가면 실행할 계획이 있습니다. 그래서
[45:26]
슬래시 명령어 내에서 이 인수로
[45:28]
plan.md의 경로를 전달할 겁니다.
[45:30]
그리고 병렬 작업 트리의 수가 있습니다.
[45:32]
이건 prep parallel에 전달한 것과 동일한 숫자여야 합니다.
[45:35]
그리고 여기 지침에서는 원하는 수만큼의
[45:37]
Claude 코드 에이전트를 생성할 것이라고
[45:39]
말하고 있습니다. 동일한 기능을
[45:40]
구현하며 작동할 거라고요. 그래서 계획을
[45:42]
읽고 다른 작업 트리를 설정하고 다른 Claude 코드 에이전트를
[45:46]
실행하는 방법을 설명하고 있습니다.
[45:48]
그리고 각각이 포괄적인 results.md에
[45:50]
최종 변경사항을 보고하도록 해서
[45:51]
다른 Claude 코드 에이전트를 실행하고
[45:53]
각각이 포괄적인 results.md에
[45:54]
최종 변경사항을 보고하도록 하여
[45:56]
나중에 각 작업 트리에 들어가서
[45:59]
무엇이 구현되었는지 볼 수 있습니다.
[46:00]
각각을 테스트해보고 가장 마음에 드는 것을
[46:02]
찾아서 메인 브랜치로 가져올 수 있습니다.
[46:05]
이게 바로 우리가 지금 진행할 플로우입니다.
[46:08]
시작하면서 Claude로 들어가서
[46:09]
완전히 새로운 Claude 세션을 열 겁니다.
[46:11]
방금 이 슬래시 명령어들을 만들었거든요.
[46:12]
그래서 명령어는 /prep parallel이고
[46:14]
첫 번째 인수로 기능 이름이 필요합니다.
[46:16]
CLI UI updates입니다. 그리고
[46:18]
병렬 작업 트리 수로 3을 입력합니다.
[46:20]
이걸 전송하겠습니다. 일련의 지침을
[46:22]
거쳐갈 것이고 잠시 중단하겠습니다.
[46:24]
실행이 완료되면
[46:25]
돌아오겠습니다.
[46:27]
지침을 거쳐갈 것이고 잠시 중단하겠습니다.
[46:28]
잠시 멈추고 작업이 완료되면 돌아오겠습니다. 좋습니다.
[46:30]
각각의 작업 트리를 생성하고 모든 것을 검증했습니다.
[46:32]
여기에서 이것도 확인할 수 있습니다.
[46:34]
새로운 트리 폴더로 들어가면
[46:35]
각각에 코드베이스가 복제되어 있습니다.
[46:37]
이것이 바로 작업 트리가 작동하는 방식입니다.
[46:40]
작업 트리가 작동해야 하는 방식과 정확히 일치합니다.
[46:42]
이제 병렬 프로세스를 실행할 준비가 되었습니다.
[46:44]
여기에서 병렬 실행으로 이동하겠습니다.
[46:47]
세 개의 인수를 받았습니다.
[46:49]
제가 할 일은 이렇습니다.
[46:51]
여기서 대화를 실제로 지워보겠습니다.
[46:53]
준비 작업의 컨텍스트는 필요하지 않기 때문입니다.
[46:55]
컨텍스트 없이 바로 실행에 뛰어들 수 있습니다.
[46:59]
명령어는 execute parallel이 될 것입니다.
[47:01]
그리고 같은 기능 이름을 사용합니다.
[47:04]
같은 이름으로 부르는 것이 좋겠네요.
[47:05]
CLI UI 업데이트입니다.
[47:07]
그다음 plan.md를 참조합니다.
[47:09]
구현하려는 기능을
[47:10]
이해할 수 있는 곳이기 때문입니다.
[47:11]
일반적으로는 여기에 훨씬 더 많은 세부 사항이 있을 것입니다.
[47:13]
데모 목적으로 매우 기본적으로 유지하고 있지만
[47:14]
초기 MD처럼 꽤 잘 구성되어야 합니다.
[47:17]
그리고 병렬 실행을 진행합니다.
[47:20]
병렬 작업 트리 수는 3개로 하겠습니다.
[47:21]
그런데 말이지, 이것을 정말 멀리 가져가고 싶다면
[47:23]
전체 병렬 실행과 PRP 프레임워크를
[47:24]
결합할 수도 있습니다.
[47:26]
정말 멋질 것 같습니다.
[47:28]
가까운 미래에 꼭 가지고 놀아보고 싶은
[47:30]
정말 멋진 것입니다.
[47:32]
가까운 미래에 가지고 놀아보고 싶은 것입니다.
[47:34]
어쨌든, 이걸 실행해보겠습니다.
[47:35]
계획을 읽고
[47:37]
세 개의 다른 클로드 코드 하위 에이전트에게 배포할 것입니다.
[47:39]
동시에 실행되면서 같은 기능을 구현합니다.
[47:41]
그리고 마지막에 가장 좋은 것을 선택할 수 있습니다.
[47:43]
그런데 병렬 실행이라고 말할 때
[47:45]
모두가 정확히 같은 시간에 실행된다는 뜻입니다.
[47:48]
여기서 확인할 수 있습니다.
[47:50]
세 곳에 깜빡이는 불빛이 있기 때문입니다.
[47:52]
각 하위 에이전트에 대한 작업이 있습니다.
[47:53]
CLI 색상 구현의 버전 1, 2, 3입니다.
[47:56]
오, 보세요. 그 중 하나가
[47:58]
오, 네, 그 중 하나가 이미 첫 번째 작업을 완료했습니다.
[48:00]
오, 네, 그 중 하나가 이미 첫 번째 작업을 완료했습니다.
[48:02]
그래서 구현을 진행하고 있습니다.
[48:03]
각자의 속도로 모두 독립적으로 실행되고 있습니다.
[48:04]
각자의 속도로 모두 독립적으로 실행되고 있습니다.
[48:07]
그래서 세 개 모두 완료되면 돌아오겠습니다.
[48:09]
그리고 완성되었습니다.
[48:11]
우리가 완료되었고, 주 에이전트가
[48:13]
여기 작업 트리에서 모든 다른 하위 에이전트들이
[48:15]
수행한 작업에 대한 요약까지 제공합니다.
[48:17]
CLI UI 업데이트에 대한
[48:19]
약간 다른 구현들이 있습니다.
[48:23]
실제로 이것이 어떻게 보이는지 보여드리겠습니다.
[48:24]
하위 에이전트 중 하나, 첫 번째 것을 가져와서
[48:26]
UV와 ENV로 환경을 설정했습니다.
[48:29]
원래 Brave 검색 에이전트와 똑같이 말입니다.
[48:31]
그리고 여기 우리 UI가 어떻게 보이는지 나와 있습니다.
[48:33]
솔직히 원래 것을 더 좋아합니다.
[48:38]
이건 그냥 바보 같은 예시였지만
[48:39]
빨간색과 주황색을 매우 잘 구현했습니다.
[48:43]
제가 지시한 대로 정확히 구현되었습니다. 그리고
[48:46]
다른 것들도 거의 똑같이 보일 거예요.
[48:47]
이름도 그렇고요. 그리고 여기서는
[48:48]
보여드리지 않겠지만, readme로
[48:50]
빠르게 돌아가서, 만약 제가
[48:52]
이것들 중 하나를 선택해서 메인
[48:54]
브랜치로 가져오고 싶다면, 몇 가지
[48:56]
명령어만 실행하면 됩니다. 그래서
[48:58]
git checkout main을 실행하고, 그 다음
[48:59]
워크트리 기반의 이 브랜치들 중
[49:01]
어떤 것이든 메인 브랜치로
[49:04]
병합할 수 있고, GitHub에 푸시하면
[49:05]
됩니다. 이렇게 쉽게 병렬 에이전트
[49:07]
실행을 하고 나서 메인 브랜치로
[49:09]
다시 가져올 수 있습니다. 자,
[49:11]
이것으로 오늘 여러분에게 전해드릴
[49:13]
Claude Code를 효과적으로 사용하는
[49:15]
방법에 대한 모든 내용이 끝났습니다.
[49:17]
처음부터 끝까지, Claude Code가
[49:18]
제공하는 모든 다양한 기능들과
[49:20]
이를 최대한 활용하는 방법까지요.
[49:22]
솔직히 말씀드리면, 이 가이드가
[49:23]
생각했던 것보다 훨씬 길어졌습니다.
[49:25]
하지만 세부사항을 빠뜨리고 싶지
[49:27]
않았어요. 이 모든 것들을
[49:29]
세심하게 다뤄서 여러분이
[49:30]
정말 견고한 기초와 명확한 이해를
[49:33]
가질 수 있도록 하고 싶었습니다.
[49:35]
슬래시 커맨드, 서브 에이전트,
[49:37]
훅 같은 아름다운 기능들로
[49:38]
Claude Code를 최대한 활용하는
[49:40]
방법을 말이죠. 이 모든 것들은
[49:42]
각각 전용 비디오가 필요할 정도로
[49:44]
중요한 내용들입니다. 이미 비디오
[49:46]
전반에 걸쳐 몇 번 언급했지만,
[49:48]
댓글로 알려주시면 좋겠습니다.
[49:49]
제가 다룬 내용 중에서
[49:50]
더 자세히 확장해서 설명했으면
[49:53]
하는 것이 있다면 말이죠. 가까운
[49:55]
미래에 Claude Code와 AI 코딩
[49:57]
전반에 대해 더 많은 비디오를
[49:59]
만들고 싶습니다. 이것이 바로
[50:01]
미래이고, 코딩을 위한 AI는 현재
[50:03]
생성형 AI의 가장 흥미진진한
[50:06]
사용 사례 중 하나이거든요.
[50:07]
이 비디오를 즐겨보셨고
[50:09]
AI 코딩과 AI 에이전트에 대한 더 많은 콘텐츠를
[50:12]
기대하신다면, 좋아요와
[50:13]
구독을 해주시면 정말 감사하겠습니다.
[50:15]
그럼 다음 영상에서 뵙겠습니다.