00:00:00Claude Code는 현재 기능이 너무 많아서 따라가기조차 정말 힘들 정도입니다.
00:00:04명령어 메뉴에 모든 것이 표시되어 있더라도, 즉각적으로 파악하기
00:00:08어려운 부분이 많죠.
00:00:09Claude Code를 사용하면서 겪는 대부분의 문제에는 사실 이미 해결책이
00:00:13내장되어 있습니다.
00:00:14다만 거의 아무도 언급하지 않는 설정 파일과 환경 변수 속에 숨겨져 있을 뿐입니다.
00:00:18저희는 이 모든 것을 살펴보고, 지금 바로 활성화해야 할
00:00:22숨겨진 설정과 플래그 목록을 정리했습니다.
00:00:23Claude에 내장된 해결책이 없는 문제들을 위해서,
00:00:27확실한 오픈 소스 솔루션들도 찾아냈습니다.
00:00:28인사이트 명령어를 실행하거나 resume 플래그와 함께 Claude를 사용해 보셨다면,
00:00:32Claude를 훨씬 더 오래 사용했음에도 불구하고 모든 대화 내역이
00:00:37딱 한 달치로 제한되어 있다는 점을 눈치채셨을 겁니다.
00:00:39과거 세션으로 돌아가야 하거나 더 긴 기간에 대한 인사이트 분석이
00:00:42필요한 경우, 이제 Opus 4.6이 100만 토큰 컨텍스트 창을 지원함에도 불구하고
00:00:48그렇게 할 수 없습니다. Claude Code가 시스템에 대화 내역을
00:00:52한 달 넘게 보관하지 않기 때문이죠.
00:00:53이 한 달이라는 기간은 데이터 보관을 위해 Claude 설정에 지정된 기본값이지만,
00:00:57그렇다고 해서 이 설정을 수정해 데이터를 더 오래 보관할 수 없다는 뜻은 아닙니다.
00:01:01Claude에는 실제로 이를 위한 설정이 있습니다.
00:01:02메인 .claud 폴더 안에 settings.json 파일이 있습니다.
00:01:06이 파일은 영상 내내 다른 많은 설정을 위해서도 사용될 것입니다.
00:01:09이것이 Claude Code의 여러 기본 설정을 변경하는 방법입니다.
00:01:12여기에 cleanupPeriodDays 필드를 추가하고 원하는 일수를 입력하면 됩니다.
00:01:16예를 들어 365로 설정하면, 1년 치의 대화 내용을 모두 보관할 수 있게 됩니다.
00:01:22반대로 0으로 설정하면 어떤 대화도 저장하지 않게 되며, 이는
00:01:26어떤 정보도 추출하거나 과거의 참조 내용을 볼 수 없음을 의미합니다.
00:01:30또 다른 방법은 프로젝트의 .claud 폴더 내부에서 경로별
00:01:35특정 규칙을 구성하는 것입니다.
00:01:36이 규칙들은 에이전트가 특정 파일을 수정하려고 할 때 컨텍스트에 로드됩니다.
00:01:40이러한 규칙은 읽기 작업 시 트리거되며, 경로 패턴이
00:01:44읽고 있는 파일과 일치할 때 로드됩니다.
00:01:45여기에는 해당 파일을 작업할 때 따라야 하는 모든 지침이 포함됩니다.
00:01:49보통 사람들은 이 내용을 main.claud.md에 추가하곤 합니다.
00:01:52앱의 다양한 측면과 관련된 모든 지침을 한 곳에 쏟아붓는 것이죠.
00:01:57지금은 컨텍스트 용량을 걱정할 필요가 없더라도, 앱이 너무 커지면
00:02:01관심사 분리(separation of concerns) 측면에서 도움이 됩니다.
00:02:03모든 지침을 한곳에 두면 파일이 너무 커지고 복잡해져서, Claude가
00:02:07어떤 지침에 실제로 집중해야 할지 몰라 작성한 내용을
00:02:11무시하게 되는 경우가 발생하기도 합니다.
00:02:12예를 들어 프런트엔드 작업을 할 때는 모든 지침을 동시에 로드할 필요 없이
00:02:17React 컴포넌트 관련 지침만 로드하면 됩니다.
00:02:19이렇게 하면 에이전트가 더 집중력을 유지할 수 있습니다.
00:02:21이미 아시다시피 Claude Code는 bash 명령어를 실행하고 그 출력을 읽을 수 있습니다.
00:02:25하지만 명령어에 따라 그 출력 양은 엄청날 수 있습니다.
00:02:28Anthropic은 Claude가 명령어 출력에서 실제로 읽을 수 있는
00:02:33글자 수 제한을 30,000자로 설정해 두었습니다.
00:02:35그 이상의 내용은 잘리게 되며 Claude는 결코 볼 수 없습니다.
00:02:38예를 들어 테스트 스위트를 실행하여 수천 줄의 결과가 출력되더라도,
00:02:42Claude는 그 출력 중 설정된 30,000자만 읽게 됩니다.
00:02:46빌드 로그를 확인하거나 데이터베이스 마이그레이션을 실행할 때도 마찬가지입니다.
00:02:50터미널에 대량의 데이터를 쏟아내는 모든 명령어에 대해 Claude는 30,000자만 가져옵니다.
00:02:54이를 해결하려면 settings.json에서 터미널의 출력을 Claude Code의
00:02:59컨텍스트 창으로 얼마나 로드할지 제어하는 설정을 조정해야 합니다.
00:03:03이 수치가 30k로 설정된 이유는 더 많이 로드할 여유가 없었던
00:03:08이전의 200k 컨텍스트 창 모델들 때문이었습니다.
00:03:09하지만 다시 말씀드리지만, 새로운 100만 토큰 창에서는 더 이상 문제가 되지 않습니다.
00:03:13이 수치를 150,000 정도로 늘리면 전체 출력이 실제로 로드되어
00:03:18Claude가 모든 내용을 제대로 읽을 수 있게 됩니다.
00:03:20각각의 작업에 맞게 조정된 수많은 서브 에이전트가 포함된 프로젝트를
00:03:24진행 중이라면, 특정 에이전트용 작업이 있을 때 보통은
00:03:29Claude에게 해당 에이전트를 사용해 작업을 수행하라고 프롬프트에 명시합니다.
00:03:33하지만 특정 에이전트에게 신속하게 업무를 넘기고 싶다면,
00:03:37Claude를 서브 에이전트로 직접 실행할 수도 있습니다.
00:03:38그저 agent 플래그를 사용하고 Claude를 실행하려는
00:03:42서브 에이전트의 이름을 입력하기만 하면 됩니다.
00:03:43이제 Claude가 해당 서브 에이전트를 먼저 로드하고 작업을 수행하는 오버헤드 없이,
00:03:47해당 에이전트의 능력과 도구를 사용하여 직접 작업을 위임할 수 있습니다.
00:03:51이미 아시겠지만 서브 에이전트를 구성할 때 모델과 MCP 도구 설정을
00:03:57지정할 수 있는데, 그 외에도 추가할 수 있는 설정이 많습니다.
00:04:00예를 들어 서브 에이전트는 기본적으로 스킬을 상속받지 않지만, skill 플래그를 쓰면
00:04:04해당 서브 에이전트를 위해 만든 스킬을 상속받게 할 수 있습니다.
00:04:08즉, 그 에이전트가 실제로 해당 스킬을 사용하여 작업을 수행할 수 있다는 뜻이죠.
00:04:11스킬 외에도 effort라는 플래그도 있습니다.
00:04:14혹시 모르셨다면, effort는 에이전트가 작업을 수행할 때 얼마나 많은
00:04:18토큰과 사고력을 소모할지를 결정합니다.
00:04:19일부 에이전트는 기본적으로 많은 노력이 필요하지 않으므로 작업에 따라 변경하면 됩니다.
00:04:23effort 외에도 서브 에이전트 내부에서 해당 에이전트의 워크플로에
00:04:28특화된 훅(hook)을 구성할 수도 있습니다.
00:04:29또한 background 플래그를 사용하여 에이전트를 항상 백그라운드에서
00:04:33실행할지 여부도 설정할 수 있습니다.
00:04:34메인 에이전트를 방해하지 않고 완전히 백그라운드에서 작업하게 하려면 true로,
00:04:38에이전트가 항상 상단에 표시되게 하려면 false로 설정하세요.
00:04:42에이전트 설명에 isolation 구성을 설정하여 별도의 작업 트리에서
00:04:47서브 에이전트를 격리해 실행할 수도 있습니다.
00:04:49격리된 에이전트는 작업 트리의 임시 복사본을 할당받아, 메인 코드베이스를
00:04:53위태롭게 하지 않으면서 대대적인 변경을 시도할 공간을 확보하게 됩니다.
00:04:55에이전트가 아무런 변경을 하지 않으면 작업 트리는 자동으로 정리됩니다.
00:04:59변경 사항이 있으면 병합 및 검토를 위해 작업 트리 경로와 브랜치가 반환됩니다.
00:05:03이 설정은 메인 코드베이스를 망가뜨릴 수 있는 방식들을 실험해 보기에 최적입니다.
00:05:08마지막으로, 에이전트 설정의 tools 섹션에 허용된 에이전트 이름들을 추가하여
00:05:12특정 에이전트가 생성할 수 있는 에이전트 종류를 제어할 수 있습니다.
00:05:16이렇게 생성을 제한함으로써 불필요하게 여러 에이전트가 만들어지는 것을 막고,
00:05:20단일 에이전트가 멋대로 너무 많은 에이전트를 계속 생성하는 것을 방지할 수 있습니다.
00:05:24기본적으로 Claude가 파일을 읽을 때는 25k 토큰만 읽습니다.
00:05:28하지만 컨텍스트 창이 100만 토큰으로 늘어난 이후로 25k는 너무 작아서
00:05:34Claude가 잠재력을 최대한 발휘하지 못하게 합니다.
00:05:36settings.json에서 이 플래그를 100k 이상으로 설정하여 변경할 수 있습니다.
00:05:41하지만 또 다른 함정이 있습니다.
00:05:42컨텍스트 창이 아무리 크더라도 Claude는 2,000줄만 읽으며,
00:05:47심지어 나머지 줄을 놓쳤다는 사실조차 인지하지 못해 다시 읽으러 가지도 않습니다.
00:05:51Anthropic에서는 이 제한을 변경하는 것을 허용하지 않습니다.
00:05:53하지만 우회 방법이 있죠.
00:05:54Claude.md 파일에 지침을 추가하여 Claude가 큰 파일을 읽을 때마다
00:05:59먼저 행 수를 확인하게 하는 것입니다.
00:06:01파일이 2,000줄을 초과하면 offset과 limit 파라미터를 사용하여
00:06:06중간에 누락되는 내용 없이 전체 파일을 제대로 읽도록 할 수 있습니다.
00:06:08read 명령어가 실행될 때마다 트리거되는 훅을 구성할 수도 있습니다.
00:06:12이 훅은 파일의 행 수를 확인하고, 2,000줄이 넘으면 에이전트가
00:06:16Claude.md의 지침을 따르도록 강제하여, HEAD 같은 명령어를 통해
00:06:21Claude가 끝까지 읽도록 보장합니다.
00:06:22이미 아시겠지만, Claude Code는 컨텍스트 창이 95%에 도달하면
00:06:27자동으로 압축(compact) 기능을 트리거합니다.
00:06:28100만 토큰 컨텍스트 창을 사용하더라도, 에이전트가 컨텍스트 창이
00:06:3295%까지 찰 때까지 기다릴 필요는 없습니다.
00:06:35출력의 질은 보통 컨텍스트 창이 70% 정도 찼을 때부터 떨어지기 시작합니다.
00:06:40100만 컨텍스트 창 전체가 꼭 필요한 경우가 아니라면 이때가 자동 압축을 트리거할 적기입니다.
00:06:45이를 변경하려면 settings.json에 설정 플래그를 추가하고
00:06:50auto-compact percentage override를 원하는 퍼센트로 설정하면 됩니다.
00:06:53저희는 75%로 설정해 두었습니다.
00:06:55이렇게 설정해 두면 컨텍스트 창이 75%에 도달했을 때 자동으로 압축되어
00:07:00에이전트 출력의 품질을 유지할 수 있습니다.
00:07:02다음 기능으로 넘어가기 전에, 저희 스폰서인 Make.com에 대해 잠시 말씀드리겠습니다.
00:07:06AI의 가장 큰 리스크는 블랙박스라는 점임을 우리 모두 알고 있습니다.
00:07:09에이전트를 배포해도 그들의 결정을 검증할 수 없죠.
00:07:12Make의 새로운 에이전트들은 그 점을 완전히 바꿔놓았습니다.
00:07:14시각적 플랫폼이 노코드와 AI를 결합하여 비즈니스를 운영하는 에이전트를 배포합니다.
00:07:19시각적 캔버스 안에서 지능형 에이전트를 직접 구축할 수 있습니다.
00:07:22에이전트에게 목표를 주기만 하면, 3,000개 이상의 기본 앱 통합을 통해
00:07:27복잡한 의사 결정을 대신 처리해 줍니다.
00:07:29에이전트 외에도 플랫폼에는 수많은 기능이 가득합니다.
00:07:31빠른 시작을 위한 사전 빌드 템플릿, 보안 연결을 위한 MCP,
00:07:36응답의 근거를 마련해 주는 지식(knowledge) 기능 등이 있습니다.
00:07:38추론 패널을 통해 AI가 취하는 모든 단계를 실제로 보고, 제어하고, 신뢰할 수 있습니다.
00:07:42또한 Make grid를 통해 모니터링과 인사이트를 하나의 중앙 집중식 지도로 볼 수 있습니다.
00:07:46반복적인 수작업을 멈추고 시간을 절약하며 확장을 단순화하는 효율적인 워크플로를 만드세요.
00:07:52고정 댓글의 링크를 클릭하여 독점적인 1개월 무료 Pro 플랜을 받고
00:07:56지금 바로 Make를 사용해 보세요.
00:07:57이제, 대부분 이미 아실 수도 있지만 Agent Teams는 아직 실험적 단계라
00:08:01많은 분이 잘 모르시는 기능입니다.
00:08:03Agent Teams에는 한 명의 팀 리더와 여러 명의 팀원이 있으며, 각각은
00:08:07팀 리더에 의해 시작되고 제어되는 개별 Claude 세션입니다.
00:08:10팀 리더는 이 모든 팀원 전체에 걸쳐 전체 작업을 조정할 책임이 있습니다.
00:08:15이것은 서브 에이전트와는 확실히 다른데, 서브 에이전트들은 서로
00:08:19소통할 수 없기 때문입니다.
00:08:20반면 에이전트 팀에서는 각 팀원이 서로 소통하고
00:08:24정보를 공유할 수 있습니다.
00:08:25저희는 이 기능의 특징과 그 능력을 최대한 활용하는 방법에 대해
00:08:29이야기하는 전체 영상을 이미 제작해 두었습니다.
00:08:32또한 저희 콘텐츠가 마음에 드신다면 하이프(hype) 버튼을 눌러주세요.
00:08:36이런 콘텐츠를 더 많이 만들고 더 많은 분께 알리는 데 큰 힘이 됩니다.
00:08:40다양한 유형의 작업에 대해 여러 구성을 관리하고 계신다면,
00:08:44구성된 프로필 간에 빠르게 전환하고, 클라이언트 구성을 별도로 관리하며,
00:08:49동일한 공간 제공업체에서 권한과 도구를 처리할 수 있게 해주는
00:08:54Claude CTX라는 오픈 소스 도구가 있습니다.
00:08:55설치를 위한 명령어는 모든 운영체제별로 나열되어 있습니다.
00:08:58Mac에서는 brew install 명령어를 사용할 수 있고, 다른 시스템에서는
00:09:02리포지토리를 클로닝하여 설치할 수 있습니다.
00:09:03이 도구는 메인 .claud 폴더 내부의 profiles 폴더를 통해 프로필을 추적함으로써
00:09:08settings.json, claud.md, mcp 서버 및 백업을 관리합니다.
00:09:12이 profiles 폴더에는 각 프로필에 최적화된 고유의 settings.json과
00:09:17claud.md가 담긴 하위 폴더가 들어 있습니다.
00:09:21각 설정 파일에는 해당 프로필에 필요한 권한만 포함되어 있어,
00:09:26다른 프로필로 내용이 새어 나가지 않습니다.
00:09:27프로필 전환은 매우 간단합니다.
00:09:29C 플래그를 사용해 현재 프로필을 확인할 수 있고, 전환하려면 claud ctx 다음에
00:09:34원하는 프로필 이름을 입력해 실행하면 됩니다.
00:09:35전환할 때 현재 작업 상태의 백업을 생성하여 backup 폴더에 저장하므로
00:09:39언제든지 이전 프로필의 기록을 확인할 수 있습니다.
00:09:42이렇게 하면 여러 프로필을 완전히 분리된 상태로 유지하고, 권한이 섞일 걱정 없이
00:09:47Claude가 정확히 필요한 권한만 가지고 작업하게 할 수 있습니다.
00:09:50이전의 모든 영상에 나온 리소스들은 AI Labs Pro에서 이용 가능합니다.
00:09:54템플릿, 스킬, 그리고 프로젝트에 바로 꽂아 쓸 수 있는 여러 자료가 있습니다.
00:09:58저희가 하는 일에서 가치를 느끼고 채널을 응원하고 싶으시다면,
00:10:02이것이 가장 좋은 방법입니다.
00:10:03링크는 설명란에 있습니다.
00:10:04GitHub 커밋 시 Claude가 공동 작성자(co-author)로 표시되는 것이 짜증 나신다면,
00:10:09그에 대한 해결책도 있습니다.
00:10:10settings.json에 attribution 키를 추가하고 commit과 PR 필드를 비워두세요.
00:10:15그러면 앞으로 Claude에게 GitHub에 푸시하라고 할 때 스스로를 공동 작성자로 넣지 않습니다.
00:10:18커밋에 원하는 작성자 이름이 표시되도록 커스텀 문자열로 설정할 수도 있습니다.
00:10:23기본적으로 Claude Code는 모든 커밋에 자신을 공동 작성자로 추가하며,
00:10:28이는 리포지토리의 기여자 그래프에 Claude가 나타남을 의미합니다.
00:10:30Claude Code는 또한 Statseg에 분석 데이터를 전송하여 사용 패턴과
00:10:35지연 시간, 안정성 같은 운영 데이터를 추적합니다.
00:10:37이 데이터는 기능의 A/B 테스트와 분석을 위해 사용됩니다.
00:10:41또한 오류 로깅을 위해 Sentry로 데이터를 보내 Anthropic이
00:10:45프로덕션에서의 크래시와 버그를 진단할 수 있게 합니다.
00:10:47하지만 이를 거부하고 싶다면 메인 settings.json에 세 가지 변수를 추가하면 됩니다.
00:10:52이것들은 원격 측정, 오류 보고 및 피드백 표시를 비활성화합니다.
00:10:55이렇게 설정하면 Claude Code는 더 이상 데이터를 외부로 보내지 않고 비공개로 유지합니다.
00:10:59하지만 Claude Code에는 비필수 트래픽을 차단하는 별도의 CLI 플래그도 있는데,
00:11:04이것이 똑같은 역할을 하는 것처럼 보일 수 있습니다.
00:11:06차이점은 이 플래그가 자동 업데이트까지 차단한다는 것인데, 이는 아마 원치 않으실 겁니다.
00:11:11따라서 업데이트를 끊지 않으면서 동일한 프라이버시 혜택을 주는
00:11:15앞서 말씀드린 세 가지 설정을 활용하는 것이 더 좋습니다.
00:11:17많은 분이 Claude Code의 프롬프트 스태싱(stashing) 기능에 대해서도 잘 모르십니다.
00:11:20프롬프트를 입력하다가 다른 작업을 Claude Code에 먼저 보내야 한다는 걸 깨달았다면,
00:11:24Ctrl + S를 눌러 현재 프롬프트를 임시 저장(stash)할 수 있습니다.
00:11:28그 후 새로운 프롬프트를 입력해 보낸 다음, 작업이 끝나면 임시 저장했던 프롬프트가
00:11:31입력창에 자동으로 다시 나타납니다.
00:11:33이미 훅을 사용 중인 분들도 많겠지만, 훅 내부에서 종료 코드(exit code)를 사용하여
00:11:37Claude에게 실행을 계속할지, 차단할지, 무시할지를 알려줄 수도 있습니다.
00:11:41기본적으로 세 가지 유형의 종료 코드가 있습니다.
00:11:44종료 코드 0은 실행이 성공했음을 의미하며, 할당된 작업이
00:11:48올바르게 수행되었음을 나타냅니다.
00:11:49대부분의 경우 그 출력은 컨텍스트에 삽입되지 않으며, 단지 작업이
00:11:54정상적으로 완료되었다는 지표로만 작동합니다.
00:11:550과 2가 아닌 다른 종료 코드는 상세 모드(verbose mode)에 표시되며 비차단 방식입니다.
00:12:01즉, 오류 메시지이긴 하지만 Claude가 워크플로를 중단할 만큼
00:12:05심각하게 여기지는 않는다는 뜻입니다.
00:12:06하지만 가장 중요한 것은 종료 코드 2이며, 이는 워크플로에 큰 영향을 미칩니다.
00:12:10어떤 도구에서 종료 코드 2를 사용하면, 해당 오류 메시지는 실제로 Claude에게 전달되고
00:12:15Claude는 그 오류 메시지에 따라 행동하도록 강제됩니다.
00:12:17예를 들어 특정 라이브러리를 사용하고 싶은데, Claude가 훈련 패턴 때문에
00:12:21자꾸 다른 라이브러리를 사용하는 경우가 종종 있습니다.
00:12:24이를 방지하기 위해 훅을 구성하여 모든 bash 명령어 전에 실행되도록 할 수 있습니다.
00:12:28그 훅은 Claude가 사용하려는 명령어가 원치 않는 라이브러리(제 경우에는 pip)와 일치하는지
00:12:33확인한 다음, pip을 사용하지 말라는 메시지를 출력하고 대신 uvicorn을
00:12:37사용하도록 안내하며 종료 코드 2로 나갑니다.
00:12:41이렇게 설정하면 Claude가 pip을 통해 설치를 시도할 때마다
00:12:45강제로 uvicorn을 통해 설치하게 됩니다.
00:12:46종료 코드가 포함된 이러한 훅들은 얼마 전 큰 관심을 끌었던
00:12:50Real-time Loops의 기반이 됩니다.
00:12:52저희 채널에 이에 대해 자세히 다룬 영상이 있으니 확인해 보시기 바랍니다.
00:12:56이들은 종료 코드와 훅의 메커니즘을 동일하게 사용하여, 완료된 출력의 기준이
00:13:01충족될 때까지 Claude가 계속 반복하도록 강제합니다.
00:13:03이는 Claude가 게으름을 피우거나 미완성된 작업을 완료된 것으로 표시하지 못하게 보장합니다.
00:13:08이런 훅들은 유사한 여러 워크플로를 만드는 데 도움이 될 수 있습니다.
00:13:11이제 이번 영상의 끝에 다다랐네요.
00:13:13채널을 후원하고 이런 영상을 계속 제작할 수 있도록 도와주고 싶으시다면
00:13:17아래의 Super Thanks 버튼을 이용해 주시면 감사하겠습니다.
00:13:19항상 시청해 주셔서 감사드리며, 다음 영상에서 뵙겠습니다.