코딩 에러의 90%를 잡아내는 '오류 루프'의 비밀

AAI LABS
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00코딩 에이전트에게 규칙을 강제로 따르게 하면 실제로 어떤 일이 벌어질까요?
00:00:03Claude나 다른 코딩 에이전트를 사용할 때 우리 모두가 겪는 공통적인 문제가 있습니다.
00:00:07이들은 지침을 따르지 않거나 Claude.md 파일을 완전히 무시하는 경향이 있죠.
00:00:11심지어 TDD(테스트 주도 개발)를 강제하려 해도, 에이전트가 테스트 파일 자체를 수정해 버리기도 합니다.
00:00:15그러던 중 단 24시간 만에 별 58,000개를 받으며 인기를 끌고 있는 플러그인을 발견했습니다.
00:00:21이런 현상은 현재 AI 도구들을 둘러싼 하이프 사이클(Hype Cycle)이 어떤지 잘 보여줍니다.
00:00:25이 플러그인은 워크플로우에 소프트웨어 개발 방법론을 엄격하게 적용할 것을 약속합니다.
00:00:30하지만 관건은 실제로 그 약속을 지키느냐 하는 것이었죠.
00:00:33저희 팀은 이미 비슷한 워크플로우들을 봐왔지만, 대부분 그냥 거품인 경우가 많았습니다.
00:00:37그래서 이 플러그인이 실제 프로젝트에 도입할 가치가 있는지, 아니면 단순한 유행인지 직접 실제 업무에 적용해 보았습니다.
00:00:43Superpowers는 여러분이 사용하는 AI IDE에 전통적인 소프트웨어 개발 방법론을 강제로 이식하는 플러그인입니다.
00:00:50어떤 분들은 BMAD나 OpenSpec 같은 기존 애자일 프레임워크와 비슷하다고 생각하실 수도 있습니다.
00:00:56하지만 이건 다릅니다. 단순히 프로젝트의 사양을 작성하는 에이전트 시스템이 아니기 때문입니다.
00:01:01동일한 애자일 방법론을 워크플로우에 직접 강제하며, 현재 단계가 통과되지 않으면 다음으로 넘어가지 못하게 엄격한 게이트를 둡니다.
00:01:10이 게이트들은 Claude가 지시 사항에서 벗어나지 않도록 방지하는 명시적인 체크포인트 역할을 합니다.
00:01:15이 플러그인의 핵심 철학은 TDD와 추측보다는 체계적인 프로세스를 우선시하는 것입니다.
00:01:20프로젝트 성공을 선언하기 전에 검증을 거치며, AI가 주로 실패하는 지점을 겨냥해 수정하도록 설계된 맞춤형 지침을 갖추고 있습니다.
00:01:28사용자로부터 승인 신호를 받기 전까지는 다음 단계로 절대 진행하지 않습니다.
00:01:32요컨대, 이전 영상들에서 강조했던 모든 베스트 프랙티스들이 내장되어 있어 수동으로 설정할 필요가 없어진 것입니다.
00:01:40따라서 이 플러그인은 진정한 Red-Green TDD와 DRY, YAGNI 같은 기초적인 프로그래밍 원칙들을 강조합니다.
00:01:50모든 AI 플랫폼에서 사용 가능합니다.
00:01:52저희 팀은 Claude Code를 사용 중이라서, 먼저 마켓플레이스 등록 명령어를 복사해 프로젝트에 추가한 뒤 플러그인을 설치했습니다.
00:02:02설치 후 Claude Code를 재시작하자 프로젝트에서 Superpowers 플러그인을 사용할 수 있게 되었습니다.
00:02:08재시작한 Claude Code에 Trello와 유사한 프로젝트 관리 소프트웨어를 만들고 싶다는 프롬프트를 입력했습니다.
00:02:15그러자 스스로 브레인스토밍 스킬을 활성화했고, 필요한 것들을 추측하는 대신 스킬 기능을 사용해 프로젝트 내용을 먼저 파악했습니다.
00:02:24앱의 정체성, 대상 사용자, 사용할 기술 스택에 대해 질문을 쏟아냈고 각 선택지가 가질 수 있는 문제점까지 고려했습니다.
00:02:33예를 들어 데이터베이스 선택 시, 브라우저에서 실행되어 서버 측 접근이 불가능한 방식은 보안 문제가 생길 수 있다고 지적해주어 변경했습니다.
00:02:44우리가 옵션에 만족할 때까지 모든 세부 사항을 계속해서 명확히 확인했습니다.
00:02:48모든 것이 확인된 후, 다음 단계로 구현 가능한 세 가지 접근 방식을 제시하며 하나를 선택하게 했습니다.
00:02:55저희는 마음에 드는 옵션을 선택하면서 동시에 몇 가지 수정 사항을 제안했습니다.
00:02:58그 작업이 끝나자 아키텍처 설계안까지 제공해주었습니다.
00:03:02다음으로는 보드 처리 방식을 포함한 UX 디자인을 제시했습니다.
00:03:06전체적인 프로젝트 구조도 저희와 함께 확인 과정을 거쳤습니다.
00:03:09모든 디자인이 승인되자 모든 데이터를 docs 폴더에 문서화했습니다.
00:03:13이 지점이 다른 플러그인보다 뛰어난 부분인데, 내장된 Git 명령어로 각 변경 사항을 커밋합니다. 다른 프레임워크는 수동으로 시켜야 했죠.
00:03:22브레인스토밍 스킬로 계획이 만들어지면, 실행 계획 작성 스킬이 호출되어 계획을 쓰고 커밋까지 완료합니다.
00:03:29이 계획은 거대한 애플리케이션을 구현하기 쉬운 하위 작업들로 쪼개어 놓았습니다.
00:03:33Claude의 내장된 플랜 모드도 이미 이런 일을 한다고 생각하실 수 있습니다.
00:03:37하지만 이 플러그인과 Claude Code의 순정 플래닝의 큰 차이는, 후자는 에이전트의 단순 가이드 역할만 한다는 점입니다.
00:03:44순정 모드는 필요하다고 생각되는 기술 스택 질문만 던지고, UI 라이브러리 같은 세부 결정은 스스로 내려버립니다.
00:03:52반면 Superpowers는 강제성을 띱니다. 즉, 현재 단계가 통과되지 않으면 다음으로 갈 수 없어 계획이 실제로 이행되도록 보장합니다.
00:04:01계획 단계가 끝나자 구현 방식을 물어왔고, 저희는 서브 에이전트 주도 구현 방식을 선택했습니다.
00:04:09Claude도 자체적으로 서브 에이전트를 생성하지만, 이 방식은 각 에이전트가 서로 영향을 주지 않도록 Git 워크트리를 자동으로 설정한다는 점이 다릅니다.
00:04:20에이전트들이 같은 디렉토리에서 작업하면 서로의 코드를 덮어쓸 수 있기 때문에, 워크트리로 격리하는 것이 훨씬 효율적입니다.
00:04:28이것이 플러그인이 자체적으로 처리해주는 핵심적인 기능입니다.
00:04:31계획이 확정된 후, Claude는 구현 단계로 넘어갔습니다.
00:04:34작업을 시작하고 완료되면, 구현 내용이 사양에 맞는지 검증하기 위해 별도의 리뷰 서브 태스크를 실행합니다.
00:04:41Git에 커밋한 후에는 Superpowers의 또 다른 기능인 코드 리뷰어 스킬을 사용합니다.
00:04:46이전 에이전트들이 코드 품질을 승인해야만 다음 작업을 시작하며, 품질이 충족될 때까지 이전 작업을 반복 수정합니다.
00:04:54각 작업이 완료, 리뷰, 커밋되어 이전 단계가 확실히 끝난 것을 확인한 후, Main 브랜치에 병합할지 PR을 생성할지 묻습니다.
00:05:04저희는 빠르게 진행하기 위해 Main 브랜치로 바로 병합하라고 요청했습니다.
00:05:06그러자 모든 워크트리를 제거하고 전체 프로젝트를 Main 브랜치에 커밋했습니다.
00:05:11이 과정은 서브 에이전트와 다양한 스킬을 사용하기 때문에 컨텍스트 창을 많이 소모합니다. 한 번의 반복에 약 50%를 사용하므로 주의가 필요합니다.
00:05:24생성된 프로젝트는 기본적인 기능을 갖춘 단순한 형태였습니다.
00:05:27저희는 이 리스트들이 '할 일', '진행 중', '완료'라는 현재 상태에 따라 정렬되기를 원했습니다.
00:05:32개별 카드뿐만 아니라 이 리스트들 자체도 이동할 수 있게 만들고 싶었습니다.
00:05:36그래서 Claude Code로 돌아가 처리를 요청했는데, 처음에는 플러그인 스킬 없이 일반적인 Claude 방식으로 작동하기 시작했습니다.
00:05:42컨텍스트가 너무 많이 소모되어 발생한 문제 같았고, Superpowers 플러그인을 사용하라고 다시 일깨워줘야 했습니다.
00:05:48그렇게 상기시킨 후에는 이전과 같이 정해진 단계에 따라 작업을 수행했습니다.
00:05:52모든 단계를 거친 후 Claude가 별도의 워크트리에서 작업할 에이전트들을 생성했는데, 이들은 TDD 방식을 기본으로 사용하기 때문에 더 뛰어납니다.
00:06:02이 에이전트들은 구현해야 할 각 부분에 대해 먼저 테스트 코드를 작성합니다.
00:06:05테스트가 작성되면, 테스트 케이스를 수정하지 않고 코드를 작성하여 테스트를 통과하도록 보장합니다.
00:06:13플러그인 스킬은 강력한 프롬프트 큐를 사용하여 Claude가 단계를 건너뛰려 할 때 늘어놓는 변명들을 차단하고 테스트 수정을 방지합니다.
00:06:23이러한 큐는 “스킬을 사용할 확률이 1%라도 있다면 사용하라”는 식의 명시적인 지시문 형태를 띱니다.
00:06:29덕분에 각 작업이 적절하고 구조적인 방식으로 완료될 수 있었습니다.
00:06:32한 가지 유의할 점은 에이전트들이 작업을 순차적으로 수행하기 때문에 일반적인 Claude 방식보다는 시간이 더 오래 걸린다는 것입니다.
00:06:41하지만 엄격한 가이드라인을 강제하므로 애플리케이션이 의도대로 작동한다는 확신을 줍니다.
00:06:45앞서 언급했듯이 이 플러그인은 컨텍스트 소모가 빠릅니다. 몇 가지 작업만으로 컨텍스트가 5%밖에 남지 않기도 하죠.
00:06:53그래서 다음 작업을 위한 브레인스토밍 중에 컨텍스트를 잃지 않도록 진행 전에 'compact' 명령어를 실행했습니다.
00:07:01대화 내용이 압축된 후 다음 구현 기능에 대한 프롬프트를 주자 동일한 방식으로 진행되었습니다.
00:07:07이번 세션의 가장 좋았던 점은 구현을 추측해서 처리하지 않고, 다각도로 질문을 던지며 우리가 원하는 대로 앱이 만들어지도록 확인했다는 것입니다.
00:07:17이 플러그인은 Claude를 몰아붙여서, 비어 있는 열이 어떻게 보일지와 같은 사소하지만 Claude가 대충 추측해버릴 만한 엣지 케이스까지 브레인스토밍에서 걸러내게 합니다.
00:07:29이 플러그인을 더 잘 활용하기 위한 가이드라인은 AI Labs Pro에서 확인하실 수 있습니다.
00:07:33저희가 최근 런칭한 커뮤니티로, 이번 영상과 이전 영상들에서 다룬 프로젝트들에 바로 적용할 수 있는 템플릿들을 제공합니다.
00:07:42저희 활동이 가치 있다고 생각하시고 채널을 후원하고 싶으시다면 가장 좋은 방법입니다. 링크는 설명란에 있습니다.
00:07:48이 도구의 또 다른 강점은 체계적인 디버깅 능력입니다.
00:07:52새로고침 시 데이터 저장 문제로 버그가 발생했는데, 발생 위치를 특정하지 않고 체계적 디버깅을 사용해 고쳐달라고 모호하게 요청해 보았습니다.
00:08:01그러자 체계적 디버깅 스킬을 로드하여 작업을 수행했습니다. 이 스킬은 네 가지 단계로 나뉩니다.
00:08:06첫 번째 단계는 사용자에게 질문을 던져 근본 원인을 파악하는 것입니다.
00:08:10저희의 답변을 토대로 추적 및 조사를 진행하더니 문제가 있을 법한 정확한 파일을 찾아냈습니다.
00:08:16원인이 파악되자 2단계에서 버그를 격리했고, 3단계에서는 해결을 위해 버그가 발생한 구체적인 이유를 좁혀나갔습니다.
00:08:254단계는 수정을 적용하는 것이었습니다. 단순히 코드를 훑는 대신 구조적인 프로세스를 거쳤고 테스트로 마무리지었습니다.
00:08:35하지만 모든 작업에 이 플러그인의 전체 워크플로우가 필요한 건 아닙니다. 단순 UI 수정에 15분을 기다릴 필요는 없으니까요.
00:08:47전체 프로세스가 굳이 필요하지 않은 이런 작업들은 더 간단한 방식으로 구현할 수 있습니다.
00:08:51UI 디자인에 대한 구체적인 목표가 없었기에, 구현은 하지 말고 브레인스토밍과 플래닝만 진행하며 UI를 개선해달라고 했습니다.
00:09:01브레인스토밍을 시작하며 디자인의 다양한 측면에 대해 질문을 던져 우리가 원하는 시각적 방향을 확인했습니다.
00:09:08프롬프트대로 계획 단계에서 멈췄고, 그 후에는 프로세스 없이 계획을 바로 실행하라고 지시했습니다.
00:09:15프로세스 중심 방식보다 훨씬 짧은 시간 안에 전체 UI가 변경되었고, 그러면서도 Git 커밋 형식은 기존 규칙을 그대로 따랐습니다.
00:09:25최소한의 스타일만 있던 기본 레이아웃에서 색상 조합, 호버 카드 상태, 기능적인 레이아웃을 갖춘 모습으로 탈바꿈했습니다.
00:09:32이런 유연함이 이 프레임워크를 실용적으로 만듭니다. 잘하는 일은 그냥 맡기고, AI가 실수하기 쉬운 부분에만 엄격한 프로세스를 적용하면 됩니다.
00:09:43오늘 영상은 여기까지입니다. 채널을 후원하고 이런 영상을 계속 제작하는 데 힘을 보태고 싶다면 아래 Super Thanks 버튼을 이용해 주세요.
00:09:51시청해주셔서 감사하며, 다음 영상에서 뵙겠습니다.

Key Takeaway

Superpowers 플러그인은 AI의 자의적인 추측을 차단하고 엄격한 개발 프로세스와 테스트 주도 개발을 강제함으로써 코딩 에러를 획기적으로 줄여줍니다.

Highlights

AI 코딩 에이전트의 지시 무시 문제를 해결하는 'Superpowers' 플러그인 소개

TDD, DRY, YAGNI 등 전통적인 소프트웨어 개발 방법론을 AI 워크플로우에 강제 적용

단계별 게이트(Gate) 시스템을 통해 사용자의 승인 없이는 다음 단계 진행 불가

Git 워크트리(Worktree)를 활용한 서브 에이전트 간의 코드 충돌 방지 및 격리

브레인스토밍부터 체계적 디버깅까지 아우르는 4단계 구조화된 프로세스 제공

컨텍스트 소모가 크지만 추측을 배제하고 정확한 결과물을 만들어내는 높은 신뢰성

Timeline

AI 에이전트의 한계와 Superpowers의 등장

기존 Claude나 다른 AI 코딩 에이전트들은 지침을 무시하거나 TDD 원칙을 어기고 테스트 파일을 임의로 수정하는 고질적인 문제를 가지고 있습니다. 이러한 배경에서 등장한 Superpowers 플러그인은 단순한 유행을 넘어 소프트웨어 개발 방법론을 AI 워크플로우에 엄격하게 이식하는 것을 목표로 합니다. 이 시스템은 각 단계가 통과되지 않으면 다음으로 넘어가지 못하게 하는 '명시적인 체크포인트'를 두어 AI의 탈선을 방지합니다. 프로젝트의 성공을 선언하기 전에 반드시 검증 과정을 거치며, Red-Green TDD와 같은 기초적인 프로그래밍 원칙을 내재화하고 있습니다. 이는 사용자가 수동으로 설정할 필요 없이 베스트 프랙티스를 즉각 적용할 수 있게 해줍니다.

브레인스토밍 및 아키텍처 설계 단계

설치 후 Claude Code에서 Trello 스타일의 앱 제작을 요청하자, AI는 스스로 브레인스토밍 스킬을 활성화하여 사용자의 의도를 상세히 파악하기 시작합니다. AI는 기술 스택의 보안 문제나 대상 사용자에 대해 끊임없이 질문을 던지며, 사용자가 만족할 때까지 세부 사항을 명확히 합니다. 모든 확인이 끝나면 구현 가능한 세 가지 접근 방식을 제시하고, 선택된 옵션을 바탕으로 상세한 아키텍처와 UX 디자인을 제공합니다. 특히 이 과정에서 발생하는 모든 결정 사항과 디자인 사양은 자동으로 docs 폴더에 문서화되는 차별점을 보여줍니다. 내장된 Git 명령어를 통해 각 변경 사항을 자동으로 커밋하여 개발 이력을 철저히 관리합니다.

계획 수립과 서브 에이전트의 활용

계획 수립 단계에서는 거대한 애플리케이션을 작은 하위 작업들로 쪼개어 실행 계획을 작성하고 이를 Git에 커밋합니다. 일반적인 Claude의 플랜 모드와 달리, Superpowers는 사용자가 UI 라이브러리 같은 세부 사항을 직접 결정하도록 강제하며 AI의 임의 판단을 허용하지 않습니다. 구현 단계에서는 각 작업이 서로의 코드를 덮어쓰지 않도록 Git 워크트리를 사용하여 에이전트들을 격리시키는 고도의 전략을 사용합니다. 코드 리뷰어 스킬이 작동하여 품질이 승인될 때까지 수정 작업을 반복하며, 최종적으로 사용자의 동의를 얻어 Main 브랜치에 병합합니다. 다만 이 과정은 서브 에이전트와 다양한 스킬을 동시에 사용하기 때문에 한 번의 루프에 컨텍스트의 약 50%를 소모할 정도로 자원 사용량이 높습니다.

TDD 강제와 효율적인 컨텍스트 관리

실제 앱을 고도화하는 과정에서 AI가 다시 일반적인 방식으로 돌아가려 할 때, 플러그인 스킬 사용을 재지시하여 엄격한 프로세스를 유지할 수 있습니다. 생성된 서브 에이전트들은 TDD 방식을 기본으로 채택하여, 구현 전 테스트 코드를 먼저 작성하고 이를 통과하기 위한 코드를 개발합니다. 강력한 프롬프트 큐를 사용하여 AI가 단계를 건너뛰거나 테스트를 수정하려는 변명을 원천적으로 차단하는 것이 이 플러그인의 핵심입니다. 속도는 일반적인 방식보다 느릴 수 있지만, 애플리케이션이 의도대로 정확히 작동한다는 강력한 확신을 사용자에게 심어줍니다. 컨텍스트가 부족해질 때는 'compact' 명령어를 사용하여 대화 내용을 압축함으로써 긴 개발 세션을 유지할 수 있는 유연함도 갖추고 있습니다.

체계적인 디버깅과 유연한 워크플로우 적용

버그 발생 시 '체계적 디버깅 스킬'을 로드하면 4단계의 구조적인 프로세스를 통해 문제의 근본 원인을 파악하고 격리하여 해결합니다. 단순히 코드를 훑는 것이 아니라 질문을 통해 원인을 좁혀가고, 정확한 파일을 찾아 수정한 뒤 테스트로 마무리지어 신뢰도를 높입니다. 모든 작업에 이처럼 복잡한 루프가 필요한 것은 아니며, 단순한 UI 수정과 같은 업무는 프로세스 없이 계획만 수립한 뒤 즉시 실행하도록 설정할 수도 있습니다. 이러한 유연성 덕분에 AI가 실수하기 쉬운 복잡한 로직에는 엄격한 프로세스를, 단순 작업에는 빠른 속도를 적용하는 실용적인 운용이 가능합니다. 결국 이 도구는 AI의 창의성과 전통적인 개발의 안정성을 결합하여 생산성을 극대화하는 강력한 수단이 됩니다.

Community Posts

View all posts