스크립트
00:00:00에이전트를 한동안 사용해 보셨다면, 중요한 작업을 하던 도중 한계에 부딪혀
00:00:03제한이 초기화될 때까지 기다려야만 작업을 이어갈 수 있는 상황을 겪어보셨을 겁니다.
00:00:08저희 역시 이로 인해 답답함을 느꼈고, 같은 요금제 안에서 더 많은 작업을 처리할 수 있도록
00:00:13사용 한도를 최대한 늘려 유지하는 일련의 조치들을 활용하고 있습니다.
00:00:18하지만 주된 목표는 단순히 더 많은 일을 하는 것뿐만 아니라, 그로부터 가장 높은 품질의 결과물을
00:00:23얻어내는 것입니다. 처음 방문하시는 분들을 위해 소개하자면, 저희는 소프트웨어 회사이며 채널 AI Labs를 운영하고 있습니다.
00:00:28이번 영상에서는 이러한 컨텍스트 문제를 해결하기 위해 수집한 24가지 팁을 모두 살펴보고,
00:00:32Claude Code와 Codex 모두에서 실제로 효과가 있었던 방법들을 나열해 드리겠습니다. 이 영상은
00:00:38세 가지 레벨로 나뉘어 있으며, 작업 흐름에 필요한 습관부터 도구 자체에 적용하는 변경 사항까지 다룹니다.
00:00:42아래에 타임스탬프가 있으니 필요한 레벨로 바로 건너뛰셔도 좋습니다.
00:00:47첫 번째 섹션은 Claude Code와 Codex에서 컨텍스트 윈도우와 사용량 한도가 어떻게 작동하는지 다루므로,
00:00:52이미 잘 알고 계신 분들은 아래 타임스탬프를 통해 다음 섹션으로 넘어가셔도 됩니다.
00:00:57사용량 한도에 들어가기 전에, 먼저 컨텍스트 윈도우에 대해 이해해 보겠습니다.
00:01:02컨텍스트 윈도우란 모델이 한 번에 하나의 대화 속에서 담아둘 수 있는 용량을 말하며,
00:01:07모델이 읽고 쓰는 단어의 작은 조각인 '토큰' 단위로 측정됩니다.
00:01:12따라서 컨텍스트 윈도우를 이해하려면 모델 자체는 아무것도 기억하지 못한다는 점도 알아야 합니다.
00:01:18보내는 모든 프롬프트마다 전체 대화 내용이 새로운 프롬프트와 함께 모델로 전송되며,
00:01:23이를 통해 이전 상황을 파악하고 새로운 답변을 제공할 수 있습니다. 바로 이 때문에
00:01:29세션을 막 시작했을 때 보낸 메시지와, 세션이 한참 진행된 후에
00:01:33보낸 동일한 메시지가 비용 면에서 다르게 계산됩니다. 모든 것이 토큰으로 카운트되므로,
00:01:38대화 후반부에 보내는 메시지는 함께 전송되는 전체 대화 분량 때문에 더 많은 비용이 듭니다.
00:01:42그리고 대화 내용만이 전부가 아닙니다. 세션을 열면
00:01:47아무것도 입력하지 않은 상태에서도 시스템 지침과 cloud.md가 컨텍스트 윈도우에 들어가고,
00:01:53연결된 모든 도구와 스킬의 이름 및 설명도 함께 들어가며, 이 모든 것들이
00:01:57세션 내내 그대로 유지됩니다. cloud.md가 뭔지 모르신다면, 해당 프로젝트에서
00:02:02도구가 따르기를 원하는 지침을 작성하는 파일입니다. Codex에서는 이 파일을
00:02:07agents.md라고 부르지만 역할은 같습니다. 윈도우가 담을 수 있는 용량은 사용하는 모델에 따라 다릅니다.
00:02:13Opus는 100만 토큰을 제공하고, Codex 내의 GPT 5.6 SOL은 272,000토큰을 제공합니다. 대화가 이 범위를 넘어가면
00:02:20더 이상 모두 담을 수 없게 됩니다. 하지만 사용량 한도는 이와는 완전히 다른 개념입니다.
00:02:25기본적으로 모든 세션에 걸쳐 Claude Code에서 소모할 수 있는 총 작업량이나 토큰 양을 뜻합니다. Claude Code와 Codex
00:02:31모두 구매한 플랜에 따라 실행되며, 각 플랜마다 제공되는 사용량이 다릅니다.
00:02:37Claude는 월 20달러의 Pro 플랜과, 100달러 또는 200달러의 Max 플랜이 있고,
00:02:42Codex는 무료, go, plus, pro 등 ChatGPT 플랜을 기반으로 실행됩니다. 둘 중 20달러짜리 플랜을 사용 중이시라면
00:02:49이러한 토큰 절약 팁을 더 엄격하게 적용해야 합니다. 훨씬 빨리 한도에 도달하기 때문입니다.
00:02:53이 사용량 한도는 Claude Code와 Codex 모두에서 5시간마다 초기화됩니다.
00:02:58즉, 해당 5시간 동안 사용할 수 있는 정해진 양이 주어지며, 첫 번째 메시지를 보낸 순간부터 타이머가 시작됩니다.
00:03:03그리고 5시간 한도 외에도 주간 사용량 한도가 별도로 존재합니다. 이 사용량 한도는
00:03:08모든 모델 간에 공유됩니다. 따라서 한도를 다 소모한 후에 모델을 변경하더라도
00:03:13사용량을 다시 돌려받을 수는 없습니다. 컨텍스트 윈도우의 작동 방식을 알았으니 이제 레벨 1로 넘어가겠습니다.
00:03:18이 레벨은 Claude Code와 Codex에 이미 내장된 기능들을 활용하는 습관에 관한 내용입니다.
00:03:23첫 번째는 clear 명령어이며, Claude Code와 Codex 양쪽에서 동일하게 작동합니다.
00:03:28방금 끝낸 작업과 전혀 무관한 새로운 작업을 시작하려고 할 때마다 clear 명령어를 실행해야 합니다.
00:03:33이 명령은 컨텍스트 윈도우를 비우고 도구를 막 실행한 상태처럼 시작할 수 있게 해줍니다.
00:03:38따라서 새로운 작업에 대한 프롬프트가 관련 없는 기존 정보들과 함께 전송되는 것을 막아줍니다.
00:03:43두 번째는 compact 명령어이며, 이 역시 Claude Code와 Codex에서 동일합니다.
00:03:48압축(compaction)은 기본적으로 전체 대화를 읽고 요약한 다음,
00:03:53백지 상태가 아닌 그 요약본부터 다시 시작하도록 만들어 줍니다. 하지만 문제는
00:03:57대부분의 세부 사항이 요약 과정에서 유실된다는 점입니다. 이로 인해 모델은 줄어든 정보로 작업을 이어가게 되고,
00:04:03고품질의 답변을 위한 컨텍스트가 부족해져 이후 응답 품질이 떨어지게 됩니다. 또한 압축 과정도 공짜가 아닙니다.
00:04:08에이전트가 요약을 생성하기 위해 전체 대화를 읽어야 하며, 그 읽기 작업 전부가 사용량 한도에
00:04:14반영되기 때문입니다. 대화가 길어질수록 압축에 소모되는 토큰도 많아집니다.
00:04:19압축 후 컨텍스트 윈도우에 들어 있는 양은 줄어들지만, 사용량 한도에서 소모된 양을 돌려받지는 못합니다.
00:04:24그리고 언제 압축을 하느냐도 중요합니다. 작업하는 동안 Claude는 서버에
00:04:29대화 내용의 준비된 복사본을 유지하므로, 메시지를 보낼 때마다 전체 내용을 매번 다시 읽을 필요가 없습니다.
00:04:34이 복사본을 읽는 것은 대략 10분의 1 가격이지만, 그 복사본은 작업을 계속 진행 중일 때만 유지됩니다.
00:04:38충분히 오랜 시간 동안 멈춰 있으면 복사본은 폐기되며, 다음에 수행하는 작업은 다시 처음부터
00:04:43정가로 읽어야 합니다. 압축은 전체 대화를 읽는 작업이므로,
00:04:48컨텍스트가 차오르는 것이 보인다면 휴식을 취하기 전에 압축을 해야 하며,
00:04:52휴식에서 돌아온 후에 해서는 안 됩니다. 따라서 목적 없이 계속해서 압축을 실행하지 말라고 말씀드리고 싶습니다.
00:04:56정말 필요할 때는 항상 compact 명령어 뒤에 지침을 붙여 무엇을 유지해야 할지 알려주어야 합니다.
00:05:00그래야 실제로 중요한 세부 사항들이 요약본 속에서도 살아남을 수 있습니다.
00:05:06세 번째는 rewind 명령어이며, 이는 에이전트가 원하는 방식으로 작업을 수행하지 않았을 때 사용합니다.
00:05:11다음 프롬프트에 수정 사항을 적어 넣으면 실수한 내용이 컨텍스트 윈도우에 그대로 남게 됩니다.
00:05:16이렇게 하면 그 이후의 모든 메시지에서 실수와 수정 사항을 양쪽 다 지니고 다니는 셈이 됩니다.
00:05:21그러므로 대신 되돌리기(rewind)를 사용하여 메시지를 컨텍스트 윈도우에서 완전히 제거한 후,
00:05:26다음 프롬프트에 수정 사항을 입력해야 합니다. Claude Code에서는
00:05:31rewind 명령어를 실행하거나 ESC 키를 두 번 누르면 됩니다. Codex에는 이와 관련된 별도의 명령어가 없으므로
00:05:36대신 ESC 키를 두 번 누르시면 됩니다. 네 번째는 프롬프트 작성 요령입니다.
00:05:41메시지를 대기열에 쌓아두고 여러 개로 작업을 쪼개기보다는, 모든 내용을 하나의 긴 프롬프트에 담아 한 번에 보내야 합니다.
00:05:46전송되는 것이 사용자 메시지만 있는 것이 아니기 때문입니다. 에이전트가 파일을 읽거나
00:05:51명령어를 실행할 때마다 전체 대화 내용도 함께 올라갑니다. 따라서 여러 개의 프롬프트로 작은 변경을 여러 번 하면
00:05:57더 많은 컨텍스트가 모델에 한꺼번에 전송되어 한도를 더 많이 소모하게 됩니다.
00:06:02여기에 또 다른 이유가 있는데, Claude Code와 Codex 모두 한 번에 많은 작업을 처리하는 데 능숙하기 때문입니다.
00:06:07따라서 작은 프롬프트 여러 개 대신 하나의 커다란 프롬프트를 받으면, 각 작업을 개별적으로 처리하는 대신
00:06:12전체 내용을 미리 계획하고 함께 처리합니다. 저희가 웹사이트를 구축할 때 이 점을 직접 겪었습니다.
00:06:16그라데이션 제거, 글로우 효과 제거, 그리고 일부 정렬 문제 수정과 같은 디자인 변경 사항들이 있었습니다.
00:06:21이 모든 것을 하나의 프롬프트에 담아 한 번에 전달했더니, 하나씩 실행했을 때보다 훨씬 적은 토큰 비용이 들었습니다.
00:06:26다섯 번째는 자동 요약(automatic recaps)이며, 이 기능은 Codex에는 전혀 없고 Claude Code에만 존재합니다.
00:06:31여러 세션을 동시에 실행하다 보면 각 세션에서 무엇을 하고 있었는지 잊어버리게 됩니다.
00:06:36그래서 Claude Code는 해당 세션에 다시 돌아올 때마다 그 세션이 어디까지 진행되었는지
00:06:41한 줄 요약을 제공해 줍니다. 요약을 얻는 방법에는 두 가지가 있습니다.
00:06:46하나는 방금 말씀드린 자동 요약이고, 다른 하나는 직접 실행하는 슬래시 명령어입니다.
00:06:51하지만 그 요약을 작성하기 위해 Claude Code는 사용자가 요청하지 않아도 모델에 자체 프롬프트를 보내므로,
00:06:56다른 모든 기능처럼 사용량 한도에서 차감됩니다. 이를 끄려면 config 명령어를 실행하고,
00:07:01그 안에서 session recap을 찾아 끈 다음, 실제로 요약이 필요할 때 직접 recap 명령어를 실행하면 됩니다.
00:07:06레벨 2로 넘어가기 전에, 채널을 구독하고 좋아요 버튼을 눌러주시면 정말 감사하겠습니다.
00:07:11이 작은 응원의 표동이 저희에게 큰 힘이 됩니다. 이제 레벨 2입니다.
00:07:16이 단계에서는 작업 방식을 바꾸는 것을 멈추고 도구가 설정된 방식을 변경하기 시작합니다.
00:07:22먼저 실행 중인 모델부터 시작하는데, 이것이 여기서 그 어떤 것보다 사용량 한도에 큰 영향을 미치기 때문입니다.
00:07:26Claude Code에서는 Opus, Sonnet, Haiku를 이용할 수 있습니다. Opus는 가장 성능이 뛰어나고
00:07:32사용량 한도를 가장 많이 소모하므로, 진정으로 어려운 작업에만 아껴서 사용하세요.
00:07:37Sonnet은 일상적인 작업에 충분히 효율적이며, Haiku는 빠른 답변을 위한 작고 빠른 모델입니다.
00:07:42Codex에도 다양한 모델이 있습니다. GPT 5.6 Soul은 가장 강력한 모델이고, GPT 5.4 Mini는 간단한 작업을 위한
00:07:50작고 저렴한 모델이며, 그 사이에 몇 가지 다른 모델들이 있습니다. 각 모델은 답변하기 전에
00:07:54수행하는 추론의 정도가 다르며, 바로 이 부분에서 비용이 발생합니다. 따라서 선택하는 모델은
00:07:59작업의 실제 난이도와 맞아야 합니다. 20달러 플랜을 사용 중이시라면
00:08:04일반적인 작업에는 Sonnet이나 GPT 5.6 Terra를 사용해야 합니다. 작업이 더 복잡해지고 소형 모델들이 버거워하기 시작할 때
00:08:12Opus나 GPT 5.6 Sol로 전환하세요. 모든 작업에 Opus를 사용하는 것은 토큰 소모가 훨씬
00:08:17많기 때문에 권장하지 않습니다. 하지만 100달러 플랜을 사용 중이시라면
00:08:22한도가 넉넉하고 Sonnet보다 훨씬 뛰어난 성능을 보여주므로 Sonnet 대신 Opus를 일상 모델로 사용하셔야 합니다.
00:08:28사용 중인 모델을 변경하려면 Claude Code와 Codex 양쪽에서 동일한 model 명령어를 실행하면 됩니다.
00:08:33이제 모델 명령어를 사용해 어떤 모델을 사용할지 설정할 수 있는데, 이는 Claude Code와 Codex 모두 동일합니다.
00:08:38또한 모델이 답변하기 전에 얼마나 깊게 고민할지 설정할 수도 있으며, 이 설정을 'effort level'이라고 부릅니다.
00:08:43모든 모델은 답변하기 전에 문제를 검토하며, effort level은 그 깊이를 조절합니다.
00:08:48이 사고 수준에 따라 컨텍스트 한도가 소모되는 양이 결정되므로, 수준을 높게 설정할수록 각 답변이 차지하는 사용량이 늘어납니다.
00:08:54Codex에서 이를 변경하려면 model 명령어를 실행한 뒤 원하는 모델을 선택하면 됩니다. 모델을 선택하고 나면
00:08:59low, medium, high, extra high 중에서 effort level을 고를 수 있습니다. Claude Code에서는
00:09:04대신 effort 명령어를 실행하며, Opus의 경우 선택할 수 있는 단계가 더 다양합니다.
00:09:09따라서 기본값은 medium으로 두고, 진정으로 깊은 사고가 필요한 경우에만 해당 작업에 한해 수준을 높이세요.
00:09:14모든 작업에 대해 높음 상태로 유지하는 것보다 이렇게 하는 것이 좋습니다. 프롬프트에 키워드로
00:09:19“ultrathink”을 사용하여 사고 수준을 높일 수도 있습니다. 이제 모든 작업마다 모델을 고르고 effort를 설정하는 것은
00:09:24정말로 유지하기 번거로운 일입니다. 이를 해결하기 위해 서브 에이전트를 사용할 수 있습니다. 보통 에이전트가
00:09:29서브 에이전트를 생성할 때는 현재 사용 중인 것과 동일한 모델로 실행되지만, 서로 다른 모델로
00:09:34서브 에이전트를 생성할 수도 있습니다. 가장 쉬운 방법은 프롬프트 안에서 직접 모델을 지정하는 것입니다.
00:09:39해당 서브 에이전트가 처리하길 원하는 작업과 함께 말이죠. 그러면 에이전트가 해당 모델로 서브 에이전트를 생성하고
00:09:45자동으로 작업을 넘겨줍니다. 하지만 일일이 말하지 않고도 이 과정이 일어나길 원한다면,
00:09:49규칙이 어딘가에 존재해야 합니다. 그 규칙을 Claude.md에 작성할 수 있지만, 그렇게 할 경우 문제가 발생합니다.
00:09:54대화가 길어질수록 에이전트는 가장 최근의 메시지에 가장 큰 주의를 기울이게 됩니다.
00:09:59따라서 세션 맨 처음에 있는 지시사항은 가장 먼저 잊혀지는 경향이 있습니다. 그래서 저희는
00:10:04대신 스킬을 하나 만들고 이를 Model Router라고 불렀습니다. 이 스킬은 모든 프롬프트마다 실행되어 사용자가
00:10:09요청하려는 내용을 파악하고, 그에 알맞은 모델로 라우팅해 줍니다. 만약 이러한 스킬을 직접 만들 예정이라면,
00:10:13알아두어야 할 줄 수 제한이 있는데 바로 200줄입니다. 기본적으로는 스킬의 이름과 설명만
00:10:19컨텍스트 윈도우에 들어가며, 이를 통해 에이전트는 해당 스킬의 존재를 알게 됩니다. 스킬을 사용하는
00:10:24순간 스킬 자체가 작성된 skill.md 파일 전체가 로드되므로, 해당 파일은 작게 유지해야 합니다.
00:10:30그리고 상세 내용은 그 옆에 별도의 참조 파일들로 분리하세요. 이 참조 파일들은 에이전트가 필요할 때 해당 파일만
00:10:35가져오기 때문에 원하는 만큼 길게 작성해도 됩니다. 앱을 구축할 때 저희는
00:10:39또한 여러 가지 다양한 스킬을 추가합니다. 예를 들어, 소프트웨어 프로젝트 관리 사이트를 작업할 당시에는
00:10:44에이전트가 더 나은 디자인을 할 수 있도록 자체 디자인 시스템의 디자인 스킬을 추가했습니다.
00:10:49또한 앱에 데이터를 저장하고 관리해야 했기 때문에 Supabase 스킬도 함께 추가했습니다.
00:10:54Claude Code나 Codex 같은 에이전트와 함께 사용하기 매우 편리하기 때문에, 저희는 대부분의 프로젝트에서 Supabase를 사용합니다.
00:10:59Supabase는 AI 코딩 도구를 사용한 개발을 훨씬 더 쉽게 만들어주는 많은 도구들을 제공합니다.
00:11:05예를 들어 데이터베이스를 로컬 컴퓨터가 아니라 클라우드에 둘 수 있게 해주는 것 등이 있습니다.
00:11:10이 모든 것을 에이전트에게 더욱 간단하게 만들기 위해 저희는 Supabase 스킬을 사용합니다.
00:11:15에이전트가 Supabase 도구로 작업하는 데 필요한 모든 지침을 제공하므로, 에이전트에게 사용법을 일일이
00:11:20알려줄 필요가 없습니다. 그냥 앱을 구축하라고 프롬프트를 주면 스킬이 스스로 로드되어 로그인과
00:11:25모든 데이터가 저장될 위치를 설정하기 시작합니다. 이런 식으로 대시보드에서 직접 설정 작업을
00:11:30일일이 수행할 필요가 전혀 없어집니다. 그리고 이러한 지침은 에이전트가 실제로 데이터나 사용자 계정 작업을
00:11:35할 때만 로드되기 때문에, 컨텍스트 윈도우에서 공간을 차지하며 상주하지 않습니다.
00:11:40따라서 데이터베이스 관련 작업을 할 때는 에이전트가 디자인 스킬을 로드하지 않습니다.
00:11:44그 외에도 워크플로우를 위해 Claude.md 파일을 작성하는 경우, 스킬과 마찬가지로 200줄 미만이어야 합니다.
00:11:50이 파일은 프로젝트 작업에 필요한 모든 지침이 담긴 단 하나의 파일입니다.
00:11:55따라서 특화된 내용은 대신 스킬에 넣어야 합니다. 디자인 규칙을 스킬에 넣으면
00:12:00에이전트가 디자인 작업을 할 때만 나타납니다. 만약 이를 Claude.md에 남겨두면
00:12:05완전히 다른 작업을 하고 있을 때조차도 세션 내내 로드되어 있게 됩니다.
00:12:10그리고 Claude.md에는 에이전트가 이미 알고 있는 내용은 제외하고 유지하세요. 만약 에이전트에게
00:12:15해당 파일을 작성해달라고 요청하면, 모델들이 이미 알고 있는 앱 실행 방법 같은 내용으로 채우게 될 것입니다.
00:12:20그러면 그 줄들은 매 세션마다 쓸데없이 로드됩니다. 그렇기 때문에 저희가 앱을 작업할 때는 Claude에게
00:12:26직접 작성하도록 내버려두는 대신 Claude.md에 무엇을 적어야 할지 정확히 지시하여, 오직
00:12:32중요한 정보만 컨텍스트 윈도우에 들어가게 합니다. 폴더가 많은 큰 프로젝트를 작업할 때는
00:12:38이 모든 것을 메인 Claude.md에 다 넣지 마세요. 각 폴더마다 고유의 Claude.md를 부여하여
00:12:43해당 폴더에 대한 지침만 담게 하세요. 이 파일은 에이전트가 그곳의 파일을 열 때만 로드됩니다.
00:12:48따라서 앱의 특정 부분을 작업할 때 다른 부분을 작업하기 위한 규칙들은 컨텍스트 윈도우에 전혀 올라오지 않습니다.
00:12:53그 외에도 사용량을 얼마나 소모했는지, 어디에 쓰였는지 추적해야 합니다.
00:12:57이를 위해 usage 명령어를 실행합니다. 5시간 창과 주간 한도 중 얼마나 소모했는지 보여주고,
00:13:03가장 많은 한도를 소모하고 있는 영역들을 모두 보여줍니다. 한도를 가장 많이 잡아먹는
00:13:08스킬과 MCP 서버, 습관들의 이름을 짚어줍니다. 앞서 언급했듯이,
00:13:13우리는 앱을 만들고 있었고 데이터를 저장하기 위해 Supabase를 연동했습니다. Supabase는
00:13:18내 노트북 대신 클라우드에 존재하므로, 모든 사람이 어디서든 동일한 데이터에 접근할 수 있게 해줍니다. 하지만
00:13:23이는 또 다른 문제를 유발합니다. 바로 우리가 사용하는 에이전트가 이에 직접 접근할 방법이 없다는 점입니다.
00:13:28따라서 에이전트가 Supabase와 상호작용할 수 있게 하려면 두 가지 방법이 있습니다. CLI를 연결하거나
00:13:33MCP를 사용하는 것입니다. 여기서 다음 팁이 나옵니다. Supabase가 CLI와 MCP를 모두 제공하는 것처럼,
00:13:40많은 도구들도 둘 다 제공합니다. 그리고 어떤 것을 선택하느냐에 따라 컨텍스트 윈도우가 소모되는 양이 달라집니다.
00:13:45두 방식은 근본적으로 같은 방식으로 작동합니다. 진정한 차이점은 각각이 컨텍스트 윈도우에 무엇을 로드하느냐에 있습니다.
00:13:50MCP를 연결하면, 해당 도구의 모든 이름과 설명이 컨텍스트 윈도우에 로드되어 그 자리에 머물게 됩니다.
00:13:56앱의 데이터 관련 부분을 작업하든 말든 상관없이 말이죠. CLI는 MCP처럼 로드되지 않습니다.
00:14:00CLI는 MCP처럼 로드되지 않습니다. 에이전트가 단순히 터미널을 통해 실행하기 때문이죠.
00:14:06에이전트가 실제로 데이터를 다룰 때만 명령어를 실행하므로, 정말로 필요한 경우가 아니면
00:14:10컨텍스트 윈도우에 아무것도 남지 않습니다. 우리가 만들던 앱에서는 프롬프트를 입력하면
00:14:15Supabase 스킬이 로드되고 둘 중 어떤 것을 연결할지 묻습니다. CLI가 MCP보다
00:14:21더 적은 토큰을 사용하므로 저희는 CLI를 선택해 설치했습니다. 설치가 끝나면 login 명령어로 Supabase 계정에
00:14:26로그인하기만 하면 됩니다. 로그인이 완료되면 에이전트가 프로젝트를 관리하고 그로부터 전체 앱을 구축해 줍니다.
00:14:32에이전트가 애초에 CLI가 거기에 있다는 것을 어떻게 아는지 궁금할 수도 있습니다.
00:14:37MCP의 경우 도구 정보가 컨텍스트 윈도우에 들어있기 때문에 존재를 알 수 있지만, CLI는 거기에 전혀 로드되지 않습니다.
00:14:42여기서 스킬이 등장합니다. 스킬이 에이전트에게 CLI를 사용하는 방법을 알려주기 때문입니다.
00:14:47Supabase 스킬도 정확히 같은 방식으로 작동하여, 에이전트가 Supabase와 함께 일하는 데 필요한 모든 것을 제공합니다.
00:14:52자, 여기는 레벨 3이며, 대부분 기본적으로 켜져 있어서 조용히 비용을 발생시키는 기능들입니다. 첫 번째는 메모리입니다.
00:14:58Claude Code와 Codex 모두 사용할수록 메모리를 쌓아갑니다. 이는 다음 번에 더 나은 도움을 주기 위해
00:15:03과거 세션에서 보관해 둔 패턴과 세부 정보들입니다. 문제는 이러한 메모리들이 컨텍스트 윈도우에 로드된다는 점입니다.
00:15:09따라서 현재 작업 내용과 관련이 있든 없든, 모든 메시지마다 이에 대한 비용을 지불하고 있는 셈입니다.
00:15:13그러니 memory 명령어를 실행하여 기능을 끄세요. 새로운 메모리 저장을 멈추고 예전 메모리들을
00:15:18끌고 다니는 것도 중단할 수 있습니다. Codex를 사용 중이신 경우에도 똑같이 할 수 있습니다. Claude Code에는
00:15:22기본적으로 빌드되어 함께 제공되는 일련의 스킬들도 있습니다. review 같은 스킬들이 그렇죠.
00:15:27대부분은 자주 사용하지 않는 기능들입니다. 따라서 자주 쓰지 않는다면 설정에서
00:15:32disable bundled skills를 true로 설정하세요. 그러면 다음에 세션을 열었을 때 해당 목록이 훨씬 짧아집니다.
00:15:37해당 파일을 직접 열어서 수정하거나, 에이전트에게 시켜서 처리할 수도 있습니다. 이제 다음에 다룰 기능은
00:15:42Codex에는 없지만 Claude Code에는 있는 기능으로, 워크플로우(workflows)라고 불립니다.
00:15:47워크플로우는 큰 작업을 처리하기 위해 다수의 서브 에이전트를 한꺼번에 실행하며, 이는 사용량 한도를
00:15:51빠르게 소모시킵니다. 따라서 config 명령어를 실행하고 workflows를 찾아 사용하지 않는다면 끄세요.
00:15:56만약 사용하고 싶다면, 허용할 최대 규모를 설정할 수 있습니다. 20달러 플랜을 이용 중이라면 더 작은 규모를 원하실 겁니다.
00:16:01Claude가 명령어를 실행하면 출력이 출력되는데, 이 출력은 컨텍스트 윈도우로 들어갑니다.
00:16:07하지만 이로 인해 컨텍스트 윈도우가 가득 차게 되므로, 전송되는 양을 제한하는 두 가지 방법이 있습니다.
00:16:12정교한 방법은 훅(hook)을 사용하는 것입니다. 훅이 무엇인지 모른다면, 이는 명령어 실행 전에 실행되어
00:16:16내용을 변경할 수 있는 작은 스크립트입니다. 앱을 구축할 때 우리는 원하는 대로 작동하는지 확인하기 위해 테스트를 작성합니다.
00:16:21하지만 에이전트가 그 테스트들을 실행할 때, 테스트가 통과했든 실패했든 모든 출력을 컨텍스트에 주입합니다.
00:16:26그러나 에이전트에게 필요한 것은 통과한 테스트가 아니라 수정해야 하는 실패한 테스트들뿐입니다.
00:16:32통과한 테스트들이 컨텍스트 윈도우를 오염시키는 것을 막기 위해서죠. 그래서 저희는 이를 막아주는 훅을 만들었습니다.
00:16:37Claude Code에 통과한 테스트는 컨텍스트 윈도우에서 필터링하고 실패한 테스트만 남기는 훅을 작성해 달라고 요청했습니다.
00:16:43여기서 잠시 멈추고 프롬프트를 복사해 자신만의 훅을 만들어 보세요. 완료되면 .claude 폴더를 열고
00:16:48settings.json을 확인하세요. hooks 폴더 안에 스크립트가 자리 잡은 채 등록된 훅을 찾을 수 있을 것입니다.
00:16:53다른 방법은 출력을 아예 보지 않고 돌아오는 데이터의 양 자체에 제한을 거는 것입니다.
00:16:58Claude Code에서는 이것이 bash max output length이며, 대화로 다시 넘어오는 터미널 출력의 글자 수입니다.
00:17:03이를 30,000에서 10,000으로 낮추면 됩니다.
00:17:08이 설정은 앞서 훅을 위해 열었던 .claude 폴더 내의 동일한 settings.json 파일에 추가해야 합니다.
00:17:13VS Code 같은 코드 편집기에서 직접 열거나, Claude Code에게 대신 수정해 달라고 요청할 수 있습니다.
00:17:19Codex에는 tool output token limit이라는 자체 버전이 있어, 터미널뿐만 아니라 모든 도구에 걸쳐 토큰을 계산합니다.
00:17:24한편 Claude Code에는 어드바이저(advisor)라는 실험적 기능이 있습니다. 이 기능은 메인 모델과 더 강력한 모델을 짝지어 줍니다.
00:17:30접근 방식을 확정하기 전 어려운 순간이나 동일한 에러에 계속 부딪힐 때 Claude가 이 더 강력한 모델과 상의하죠.
00:17:35두 번째 모델이 첫 번째 모델이 놓치는 부분을 잡아내기 때문에 실제로 큰 도움이 됩니다.
00:17:40하지만 호출될 때마다 대화 내용 전체를 더 강력한 모델로 전송하며, 그 모델은 읽을 수 있는 저장된 복사본이 없기 때문에
00:17:45매번 처음부터 끝까지 전부 처리하므로 비용이 많이 듭니다.
00:17:50그리고 사용자가 아니라 Claude가 호출 시점을 결정하므로, 어드바이저 기능을 끄고 대신 직접 어드바이저 에이전트를 만드세요.
00:17:55동일한 이름을 부여하면 기본 제공되는 어드바이저를 대체하게 되므로, 더 강력한 모델을 유지하면서도
00:18:00오직 요청할 때만 실행되도록 할 수 있습니다. Codex에서는 설정 파일에 동일하게 구성하고
00:18:06추론 기능을 최대로 높인 gpt 5.6을 사용하도록 지시하면 됩니다.
00:18:11최근 Claude Code에는 열려 있는 세션들끼리 서로 대화할 수 있는 기능이 추가되었습니다.
00:18:17이는 여러 세션을 열어두고 일하는 방식에 변화를 줍니다. 여러 세션을 관리하고 싶다면
00:18:22각각에 이름을 붙이고, 한 세션이 다른 세션에게 중요한 부분만 메시지로 보내도록 지시하면 됩니다.
00:18:27그러면 두 번째 세션은 주변의 모든 내용 대신 필요한 부분만 받게 됩니다.
00:18:32이 영상에서 언급된 에이전트와 스킬은 저희 커뮤니티인 AI Labs Pro에서 이용하실 수 있습니다.
00:18:37저희의 작업에서 유익함을 얻으셨고 채널을 지원하고 싶으시다면 이것이 가장 좋은 방법입니다.
00:18:42링크는 설명란에 있습니다. 이것으로 이번 영상의 막을 내립니다.
00:18:47채널을 후원하고 이와 같은 영상을 계속 만드는 데 도움을 주고 싶으시다면
00:18:52아래의 슈퍼 땡스 버튼을 이용해 주시기 바랍니다. 언제나처럼 시청해 주셔서 감사드리며
00:18:58다음 영상에서 뵙겠습니다.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기