00:00:00Beemad,
00:00:00Speckit 등과 같은 AI 코딩 프레임워크에 대해 이미 알고 계시겠지만,
00:00:04이것들만 있는 것은 아닙니다.
00:00:06수백 명의 사람들이 자신만의 워크플로우를 실험하고 출시하고 있지만,
00:00:09막상 사용해보면 약속한 것을 제대로 구현하지 못하는 경우가 많다는 것을 알게 될 것입니다.
00:00:13그들의 방법이 나빠서가 아니라, 여러분의 특정 사용 사례에 맞지 않기 때문입니다.
00:00:18우리가 앱을 만들 때,
00:00:19대부분의 경우 미리 만들어진 워크플로우에 의존하기보다는 우리만의 워크플로우를 직접 만듭니다.
00:00:23워크플로우는 여러분의 특정 사용 사례를 중심으로 구축되어야 하며,
00:00:27구축하려는 프로젝트와 일치할 때만 제대로 작동하기 때문입니다.
00:00:30그렇다면 자신만의 프로세스를 위한 워크플로우를 어떻게 구축할까요?
00:00:32그러기 위해서는 특정 원칙들을 알아야 합니다.
00:00:34이것들은 모든 프레임워크가 어떤 식으로든 사용하는 원칙들입니다.
00:00:38주요 원칙들을 논의하기 전에,
00:00:40이러한 AI 도구의 컨텍스트 윈도우 안에 무엇이 있는지 아는 것이 필수적입니다.
00:00:44이것은 정말 중요한데, 컨텍스트를 관리하는 것이 기본적으로 이러한 프레임워크들이 하는 일이기 때문입니다.
00:00:48컨텍스트 윈도우는 기본적으로 모델이 한 번에 기억할 수 있는 정보의 양입니다.
00:00:53모델의 컨텍스트 윈도우 밖으로 나가는 모든 것은 작업 메모리에서 사라지며,
00:00:56모델은 그것을 다시 불러올 방법이 없습니다.
00:00:59모델들은 제한된 컨텍스트 윈도우를 가지고 있습니다.
00:01:00예를 들어,
00:01:01Anthropic 모델은 20만 토큰의 컨텍스트 윈도우를 가지고 있고,
00:01:04Gemini 모델은 100만 토큰을 가지고 있습니다.
00:01:06여러분이 보내는 메시지 측면에서 보면 이것들이 정말 큰 숫자처럼 보일 수 있지만,
00:01:10실제로는 그렇게 거대하지 않습니다.
00:01:12왜냐하면 이러한 AI 도구에서 컨텍스트 윈도우는 시스템 프롬프트와 사용자 메시지만으로 구성되는 것이 아니라,
00:01:17과거 메시지,
00:01:18메모리 파일,
00:01:19도구,
00:01:19MCP 호출 등과 같은 많은 다른 것들도 포함하기 때문입니다..
00:01:23이 제한된 작업 공간을 최대한 활용하는 방법을 배워야 합니다.
00:01:26그래야 워크플로우를 구축할 때 모델이 정확히 여러분이 원하는 대로 작동하게 할 수 있습니다..
00:01:30저는 이 영상 전체에서 주요 코딩 도구로 Claude Code를 사용할 것이지만,
00:01:34어떤 플랫폼으로든 워크플로우를 구축할 수 있습니다.
00:01:36모두 이러한 원칙에 필요한 도구들을 갖추고 있기 때문입니다..
00:01:39가장 중요한 원칙이자 모든 워크플로우 설계의 핵심은 점진적 공개입니다.
00:01:44이것은 LLM에게 중요한 것만 보여주고,
00:01:46미래에 필요할 수 있는 모든 것으로 컨텍스트 윈도우를 채우기보다는 지금 실제로 필요한 것에 모델의 주의를 집중시키는 것을 의미합니다.
00:01:54이제 Sonnet 4.5와 같은 더 고급 모델들은 컨텍스트 편집 기능이 내장되어 있어,
00:02:00무엇이 노이즈인지 이해하고 스스로 필터링하려고 시도하며,
00:02:03grep 명령을 사용하여 원하는 것을 좁혀갑니다.
00:02:07하지만 그것만으로는 충분하지 않습니다.
00:02:08우리가 모호한 지시를 내릴 때,
00:02:10이러한 최신 모델들조차도 필요하지 않은 많은 것들을 로드하고 윈도우를 오염시킵니다.
00:02:14Claude에게 백엔드의 오류를 수정하라고 요청하는 대신,
00:02:17한 번에 모든 것을 고치라고 요청하기보다는 엔드포인트를 하나씩 확인하라고 요청하는 것이 더 좋습니다.
00:02:23Claude의 스킬 기능은 이제 오픈 소스이며 모든 도구가 사용할 수 있습니다.
00:02:27스킬은 점진적 공개의 구체화라고 할 수 있습니다.
00:02:29스킬의 설명은 모든 것을 컨텍스트에 로드하지 않고도 AI 코딩 플랫폼이 각 스킬을 언제 사용해야 하는지 알 수 있도록 충분한 정보를 제공합니다.
00:02:38사람들이 저지르는 큰 실수는 모든 것에 MCP를 사용하는 것입니다.
00:02:41외부 데이터가 필요할 때만 MCP를 사용하고, 그 외 모든 것에는 스킬을 사용해야 합니다.
00:02:46두 번째로 동등하게 중요한 원칙은 지금 당장 필요하지 않은 정보는 컨텍스트 윈도우에 속해서는 안 된다는 것입니다.
00:02:52이를 달성하기 위해 도구들은 구조화된 노트 작성을 사용합니다.
00:02:55그리고 우리는 AI 도구에 결정 사항,
00:02:57문제 또는 기술 부채를 문서화하는 데 사용할 수 있는 외부 파일을 제공함으로써 이를 유리하게 활용할 수 있습니다.
00:03:03이 접근 방식을 사용하면 정말 복잡한 것을 구축할 때 잃어버릴 수 있는 중요한 컨텍스트를 에이전트가 유지할 수 있습니다.
00:03:09이러한 도구들은 또한 컨텍스트 윈도우를 관리하기 위한 압축 기능을 가지고 있습니다.
00:03:13그리고 컨텍스트가 재설정될 때, 압축 요약에만 의존할 필요가 없습니다.
00:03:17예를 들어,
00:03:18에이전트는 이러한 노트를 사용하여 이미 완료된 작업과 아직 해야 할 작업에 대한 컨텍스트를 얻을 수 있습니다.
00:03:23이 접근 방식은 본질적으로 복잡한 장기 작업에 특히 유용합니다.
00:03:28agent.md에 대해 익숙하실 것입니다.
00:03:30이것은 모든 에이전트가 세션을 시작하기 전에 읽는 표준 컨텍스트 파일입니다.
00:03:34일부 에이전트는 이것을 따르지 않고 claude.md와 같은 자체적인 것을 가지고 있는데,
00:03:38저는 이것들을 사용하여 외부 파일이 어떻게 구조화되어 있고 각각에 무엇을 작성해야 하는지 에이전트에게 안내합니다.
00:03:44때때로 이러한 에이전트들은 장시간 실행되는 작업 중간에 무작위로 멈춥니다.
00:03:47이는 대부분 컨텍스트가 한계의 70%를 초과했기 때문에 발생합니다.
00:03:52이것이 바로 주의 예산의 개념이 등장하는 지점입니다.
00:03:55컨텍스트 윈도우는 모델이 출력을 생성하는 동안 주의를 기울이는 대상입니다.
00:03:5970%를 넘어가면 모델은 더 집중해야 하고 환각의 가능성이 높아집니다.
00:04:04AI 에이전트 측면에서는 도구를 효과적으로 사용하지 못하게 하고, 종종 그냥 도구를 무시하기로 선택합니다.
00:04:10이를 해결하기 위해 사용할 수 있는 여러 내장 도구가 있습니다.
00:04:14이미 아시다시피,
00:04:14압축은 모델이 시작 프롬프트로 발생한 일에 대한 적절한 요약과 줄어든 컨텍스트 윈도우로 새롭게 시작할 수 있게 해줍니다.
00:04:21따라서 90%까지 채워지게 내버려두고 자동 압축 기능이 작동하게 하는 대신,
00:04:25컨텍스트 윈도우를 주시하고 직접 압축하도록 노력하세요.
00:04:28실험 중이라면 Claude의 내장 되감기 기능을 사용하여 불필요한 부분을 계속 진행하며 Claude에게 변경을 요청하는 대신 삭제할 수 있습니다.
00:04:36또한 이전 컨텍스트가 모델의 속도를 늦추지 않도록 새 작업에 대해서는 컨텍스트 윈도우를 지우거나 새로 시작해야 합니다.
00:04:42점진적 공개 원칙에서 비롯되는 또 다른 것은 이러한 에이전트가 메인 컨텍스트 윈도우를 오염시키지 않고 백그라운드에서 작업을 실행할 수 있는 능력입니다.
00:04:51하위 에이전트는 자체 격리된 컨텍스트 윈도우에서 작업하고 메인 에이전트에게 출력만 보고합니다.
00:04:57이것은 서로 격리된 작업을 수행할 때 특히 유용합니다.
00:05:00왜냐하면 메인 컨텍스트 윈도우가 하위 에이전트가 만드는 도구 호출 및 검색으로 비대해지는 것으로부터 보호되어,
00:05:06정보가 전용 작업 영역에 남아있게 되기 때문입니다..
00:05:10이러한 에이전트들은 백그라운드에서 실행되기 때문에,
00:05:12메인 에이전트와 계속 상호작용하면서 실제로 주의가 필요한 작업을 수행하도록 할 수 있습니다.
00:05:17제가 작업 중인 새 프레임워크의 규칙과 같이 무언가를 조사하고 싶을 때마다,
00:05:21저는 이러한 하위 에이전트를 사용합니다.
00:05:23이렇게 하면 도구 호출과 검색이 격리되고 메인 에이전트에게 답변만 반환합니다.
00:05:29노트 작성의 원칙을 이해한다면, 어떤 작업에 어떤 파일 형식을 사용해야 하는지도 알아야 합니다.
00:05:34이러한 파일들은 서로 다른 형식을 가지고 있기 때문에, 토큰 수와 워크플로우의 효율성에 영향을 미칩니다.
00:05:40YAML이 가장 토큰 효율적이므로,
00:05:42저는 주로 데이터베이스 스키마,
00:05:43보안 설정,
00:05:44API 세부 정보에 사용합니다.
00:05:46들여쓰기는 모델이 정보를 올바르게 구조화하는 데 도움을 줍니다.
00:05:49Markdown은 claude.md와 같은 문서화에 더 적합합니다.
00:05:52제목 수준이 모델이 섹션 간을 쉽게 탐색할 수 있게 해주기 때문입니다..
00:05:56XML은 특별히 Claude 모델에 최적화되어 있습니다.
00:05:59Anthropic은 자사의 모델이 이러한 태그를 컨테이너 및 구분자로 인식하도록 미세 조정되었다고 밝히고 있으며,
00:06:05이는 제약 조건,
00:06:06요약 또는 시각적 세부 사항과 같은 구별되는 섹션이 있을 때 유용합니다.
00:06:10다른 모델들은 일반적으로 XML보다 Markdown과 YAML을 선호합니다.
00:06:13그리고 마지막으로 JSON입니다.
00:06:14추가 괄호와 따옴표 때문에 토큰 효율성이 가장 낮아서,
00:06:18작업 상태와 같은 작은 것에만 사용하며 대부분의 경우 사용을 권장하지 않습니다.
00:06:23Git은 프로그래밍을 시작할 때 배우는 가장 기본적인 것 중 하나입니다.
00:06:26우리는 이러한 컨텍스트 워크플로우에서 사람들이 실제로 git 커밋 히스토리를 전체 프로젝트 또는 단일 작업에 걸쳐 이루어진 진행 상황에 대한 모델의 알림으로 사용하는 또 다른 트렌드를 보았습니다.
00:06:37진행 상황을 저장하는 데 사용하고 싶지 않더라도,
00:06:40일반적으로 git이 초기화된 저장소에서 이러한 컨텍스트 엔지니어링 워크플로우를 사용해야 합니다.
00:06:44컨텍스트 엔지니어링 워크플로우를 갖는다는 것은 모델이 모든 것을 한 번에 처리하도록 하는 것이 아니라,
00:06:49계획된 단계를 하나씩 실행하도록 하는 것을 의미합니다.
00:06:51어느 단계에서든 문제가 발생하면,
00:06:53git을 통해 어느 버전으로 되돌릴지 제어할 수 있고 어떤 변경 사항이 문제를 일으키는지 평가하는 데 도움이 됩니다.
00:06:59사람들은 git worktree를 사용하여 병렬 처리도 구현했습니다.
00:07:02저는 또한 서브 에이전트들이 전용 worktree에서 병렬 작업을 수행하는 여러 워크플로우를 보여드렸습니다.
00:07:07어떤 워크플로우를 만들든, 일반적인 절차에 대한 지시사항을 반복하게 되는 경우는 항상 있기 마련입니다.
00:07:13좋은 예시는 AI 도구에게 git 커밋을 하거나 문서를 업데이트하도록 요청하는 방식입니다.
00:07:18거의 모든 AI 도구에는 가장 자주 반복되는 프롬프트를 재사용할 수 있는 방법이 있습니다.
00:07:22저는 제 프로젝트에서 커스텀 명령어를 자주 사용하는데,
00:07:25이는 기본적으로 Claude에게 재사용 가능한 가이드를 제공하기 때문입니다.
00:07:28저는 종종 catchup 명령어를 사용하는데,
00:07:30이는 컨텍스트 윈도우 밖에서 메모리를 구조화하는 방법에 대한 지시사항을 포함하고 있어서 Claude가 모든 파일을 읽는 대신 프로젝트를 따라잡는 방법을 알 수 있습니다.
00:07:38이러한 명령어들은 구조를 강제하는 데도 효과적입니다.
00:07:40제 커밋과 문서가 정해진 형식을 따르도록 하기 위해,
00:07:43저는 commit 명령어를 사용하는데 이는 커밋 메시지를 작성하는 방법과 커밋 전에 수행해야 할 사전 검사에 대한 특정 구조를 따릅니다.
00:07:51이렇게 하면 명령어들이 모든 것을 표준화된 상태로 유지하고,
00:07:54제가 선호하는 방식으로 작업을 수행하도록 Claude에게 반복해서 지시할 필요가 없습니다.
00:07:58아시다시피, 외부 데이터가 필요할 때마다 MCP를 사용해야 합니다.
00:08:01Jira는 가장 널리 사용되는 팀 관리 소프트웨어입니다.
00:08:04티켓에서 정보를 가져오려면 Jira MCP를 사용하여 티켓에 직접 접근하고 변경 사항 구현을 시작할 수 있습니다.
00:08:11마찬가지로,
00:08:11저는 Figma MCP를 사용하여 Claude 코드에 앱의 스타일 가이드를 제공하고,
00:08:15Claude는 이를 사용하여 디자인을 구성합니다.
00:08:18모델의 기본 기능이 부족한 작업의 경우, MCP는 외부 소스와 효율적으로 상호작용하는 데 필수적입니다.
00:08:25이러한 MCP들을 명령어에 직접 포함시켜 전체 워크플로우의 일부로 만들 수 있습니다.
00:08:31이것으로 이번 영상을 마치겠습니다.
00:08:32채널을 지원하고 이런 영상을 계속 만들 수 있도록 돕고 싶으시다면, 아래의 슈퍼 땡스 버튼을 사용해주세요.
00:08:39언제나처럼, 시청해주셔서 감사하고 다음 영상에서 뵙겠습니다.