당신의 Claude.md 설정이 AI 코딩 속도를 99% 더 느리게 만드는 이유

AAI LABS
컴퓨터/소프트웨어경영/리더십AI/미래기술

Transcript

00:00:00단 하나의 파일이 당신이 얻는 제품이
00:00:04실제로 필요한 구현인지 결정합니다.
00:00:05Claude Code 사용자에겐 claud.md가 있고 다른 에이전트들도 각자의 파일이 있지만, 가장 흔히
00:00:10사용되는 것은 agents.md입니다.
00:00:11하지만 무엇을 사용하든 제대로 설정하지 않으면 모든 작업마다
00:00:15에이전트와 씨름하게 될 것입니다.
00:00:17그리고 간단한 init 명령어를 실행하는 것만으로 충분하다고 생각한다면
00:00:20그건 틀린 생각입니다.
00:00:21에이전트의 성능을 실제로 높여주는, 프로젝트에 맞춤화된 구조화된 패턴을
00:00:26따라야 합니다.
00:00:27그래서 우리는 다른 신뢰할 수 있는 소스들과
00:00:31Claude Code를 사용하며 보낸 수많은 시간으로부터 얻은 모범 사례들을 정리했고, 여러분의
00:00:35워크플로우에 바로 적용할 수 있게 했습니다.
00:00:36마지막 항목은 에이전트가 여러분의 지시를 실제로 어떻게 따르는지 결정하고
00:00:41이를 따르지 않으면 파일 내의 나머지 지시사항은 효과가 크지 않기 때문에 중요합니다.
00:00:45claud.md 파일에 가장 먼저 추가해야 할 것은 바로
00:00:49안드레 카파시의 레포지토리에서 나온 내용으로, 그가 강조하는 최고의 claud.md 패턴들이 담겨 있습니다.
00:00:54Claude에게 코딩 전에 생각하라는 명시적인 지시를 추가해야 합니다.
00:00:58Claude가 가정을 명확히 밝히게 만듭니다.
00:01:01여러 해석이 존재한다면 모두 제시하게 하여 우리가 구현 방식들을
00:01:05선택할 수 있게 합니다.
00:01:07이렇게 하면 Claude가 해결책으로 뛰어들기 전에 다른 관점에서 생각하도록
00:01:11유도합니다.
00:01:12이는 구현되는 해결책이 여러분이 원했던 것과 일치하도록 보장합니다.
00:01:15이 한 줄은 워크플로우에서 엄청난 양의 코스 수정을 줄여주기 때문에 우리가
00:01:20정말 유용하게 사용했습니다.
00:01:21이 지시를 추가하면, Claude에게 기능을 구현해달라고 할 때마다 기본적으로
00:01:25해당 작업과 관련된 일련의 질문을 던져 여러분의 답변이 작업을 어떻게 수행할지
00:01:29가이드하게 됩니다.
00:01:31이 부분은 특히 유용한데, 이제 Claude가 구현 내용을 추측하거나
00:01:35훈련 데이터로부터 암기한 패턴을 바로 적용하지 않기 때문입니다.
00:01:39올바른 구현이 무엇인지 철저히 생각하고 여러분이 의도한 것이 맞는지 확인한 뒤에
00:01:43기능 작업을 시작하게 되어, 그냥 무작정 추측해서
00:01:48여러분이 생각한 올바른 구현 방식을 따르지 않아 Claude를 중단시키고
00:01:52코스 수정을 많이 해야 하는 상황이 훨씬 줄어들게 됩니다.
00:01:57다음 규칙은 단순함을 우선시하는 것입니다.
00:01:59매우 간단하지만 에이전트가 이 원칙을 제대로 상기하도록 claud.md에 구체적으로
00:02:04명시해야 합니다.
00:02:07Claude나 다른 에이전트들은 간단한 것으로 해결할 수 있는 문제에도 큰 해결책을
00:02:11작성하려는 경향이 있습니다.
00:02:12하지만 이는 단순히 시간 지연을 초래하기 때문에 문제가 되는 것이 아닙니다.
00:02:15나중에 코드를 리팩토링하기 어렵게 만들고, 구현이 너무 장황해서 간단한 작업을 하는 데도
00:02:19많은 토큰을 소모하기 때문에 기능을 추가하는 것조차 더 어렵게 만듭니다.
00:02:24그래서 이 줄은 말 그대로 Claude가 단순함을 지향하도록 밀어붙입니다.
00:02:27우리는 모든 프로젝트, 특히 대규모 애플리케이션을 작업할 때 이를 추가하는데, 그 규모에서는
00:02:32이렇게 하는 것이 훨씬 더 중요해지기 때문입니다.
00:02:35이는 특히 Claude에게 요청된 것 이상의 기능을 추가하지 말고
00:02:39구현에 적절한 에러 처리를 보장하라고 말합니다.
00:02:41그 주변의 엄격한 프레임워크는 사실상 하드 임계값입니다.
00:02:44요청한 문제의 해결책이 200줄로 처리될 수 있는데 50줄로 리팩토링이
00:02:49가능하다면, Claude는 접근 방식이 틀렸으므로 해결책을 다시 작성해야 합니다.
00:02:54이는 Claude가 구현조차 불가능하거나 잘못된 방향을 반영하는
00:02:58쓸모없는 오버헤드 코드를 많이 작성하는 것을 방지할 것입니다.
00:03:03claud.md의 세 번째 부분은 외과적 변경, 즉 간단히 말해 에이전트가
00:03:08반드시 건드려야 할 부분만 건드리는 것입니다.
00:03:11이는 Claude가 한 번에 방대한 양의 코드를 작성할 때 우리가 자주 직면하는 문제이며
00:03:15claud.md 파일에 명시적으로 수정 사항을 기재해야 합니다.
00:03:19Claude나 일반적인 에이전트들은 한 가지 작업을 요청받으면 그 작업 주변의
00:03:24것들도 개선하려고 하는 경향이 있습니다.
00:03:25이러한 개선 사항은 인접한 코드 변경이나 코드베이스 포맷팅처럼 보일 수 있는데
00:03:29우리는 지금 당장 그것에 집중하는 것을 원하지 않습니다.
00:03:32하지만 Claude의 주의력이 한 번에 구현하려는 여러 가지 것들로 분산되기 때문에
00:03:36이것이 성가신 일입니다.
00:03:37이런 식의 변경은 Claude가 지금 당장 원하지 않는 것들을 포함시키기 때문에
00:03:41좋지 않습니다.
00:03:43따라서 claud.md에 그렇게 하지 말라는 지시를 명시적으로 작성해야 합니다.
00:03:47에이전트가 관련 없는 죽은 코드를 발견하면, 스스로 수정하는 대신 언급만 해야 합니다.
00:03:52때때로 이런 것들은 나중에 해결하기 위해 남겨둔 것일 수 있으며
00:03:56앱이 현재 단계에서 다룰 문제는 아닙니다.
00:03:58Claude가 적절히 행동하는 법을 결정하게 하는 정신적 프레임워크는 모든 변경 사항을 확인하여
00:04:03그것이 실제로 사용자가 요청한 것과 연결되는지 확인하는 것입니다.
00:04:06연결된다면 그 변경을 수행해야 합니다.
00:04:08연결되지 않는다면 해당 기능을 건드려서는 안 됩니다.
00:04:10이 줄을 추가하면, Claude가 구현에 어떤 문제가 있을 때마다
00:04:14사용자가 고쳐달라고 요청한 것만 변경할 것입니다.
00:04:17따라서 같은 파일에서 발견된 다른 모든 문제를 여러분에게 알려줄 것이고
00:04:21여러분은 그것들을 실제로 수정하고 싶은지 아닌지 결정할 수 있습니다.
00:04:24안드레 카파시로부터 얻은 마지막 패턴은 목표 지향적 실행입니다.
00:04:29에이전트는 올바른 결과물이 어떤 모습인지 모르는데, 이것이 핵심 문제입니다.
00:04:33그들이 알고 있다면 훨씬 더 효과적으로 작업할 것이고, 이 규칙이 그것을 해결합니다.
00:04:36claud.md 파일에, 우리가 주는 각 작업에 대해 성공 기준을 정의하도록
00:04:41Claude에게 명시적으로 지시해야 합니다.
00:04:43따라서 우리가 넘겨주는 모든 작업에 대해 Claude는 그것을 검증 가능한 목표로 변환해야 합니다.
00:04:47예를 들어, 유효성 검사를 추가하라는 작업을 주면, 유효하지 않은 입력에 대한 테스트를 작성하고
00:04:52올바른 입력에 대해 올바른 반환값으로 그 테스트 케이스들이 실제로 통과하는지 확인합니다.
00:04:57즉, 에이전트가 테스트 케이스를 구현하고 모든 테스트 케이스가 통과할 때까지 반복하게 하여
00:05:01결과적으로 프로젝트가 우리가 실제로 필요로 하는 동일한 동작을 하게 만드는 것입니다.
00:05:06어떤 작업에 대해 프롬프트를 주면, 검증 가능한 목표를 설정하고 구현을 계획할 것입니다.
00:05:11그런 다음 모든 테스트 케이스를 추가하고 전체 앱을 어떻게 다룰지 보여줌으로써 여러분을 위해
00:05:15작업을 검증할 것입니다.
00:05:17이는 논리적 추론에는 효과적일 수 있지만, 에이전트가 UI가 어떻게 보이는지
00:05:21검증하길 원한다면 에이전트는 그것을 위한 테스트 케이스를 작성할 수 없습니다.
00:05:23그래서 Claude Chrome 확장 프로그램이나 Puppeteer MCP를 추가하면
00:05:28도구들을 사용하여 UI가 어떻게 보이는지 검증할 수 있습니다.
00:05:30UI 변경은 코드 자체만 보고 판단하기 어렵기 때문에, 에이전트가
00:05:35앱의 현재 시각적 상태를 보고 그것을 사용하여 문제를 해결할 수 있는 검증 가능한 방법을 주는 것이
00:05:40도움이 됩니다.
00:05:41따라서 UI 구현 후에는 MCP를 통해 결과를
00:05:45검증해야 한다는 줄을 명시적으로 추가할 수 있습니다.
00:05:48Claude Code의 자체 init 명령어를 사용하여 claud.md 파일을 만들었다면,
00:05:53개발 서버와 빌드 서버를 실행하는 명령어가 추가된 것을 볼 수 있습니다.
00:05:57하지만 그것들은 이미 훈련 데이터에 있고 Claude는 그 명령어들을 이미 알고 있으므로
00:06:01이미 아는 것을 알려주느라 claud.md에 불필요하게 줄을 낭비할 필요는 없습니다.
00:06:05따라서 파일에는 Claude가 기본값으로 사용하는 도구 대신
00:06:09사용하기를 원하는 도구들만 언급하면 됩니다.
00:06:11워크플로우를 더 빠르게 만들어주지만 Claude의 기본 훈련 데이터나
00:06:16이미 의존하는 패턴에 없는 특정 CLI 도구들이 있습니다.
00:06:18따라서 해당 도구들이 설치되어 있음을 Claude가 알도록 명시적으로 추가해야 하며
00:06:22항상 스스로 사용하는 것에만 의존하지 않게 해야 합니다.
00:06:26예를 들어, 작업에 git 대신 github cli를 설치했다면,
00:06:30모든 작업에 기본 git 명령어 대신 해당 cli를 사용하도록 claud.md에
00:06:36지시사항을 추가할 수 있습니다.
00:06:37마찬가지로 기본값이 아닌 더 많은 명령어를 추가할 수 있습니다.
00:06:41또한 프로젝트의 실행 지침이 일반적인 것들과 다르다면
00:06:45이 파일에 추가해야 합니다.
00:06:46예를 들어 기본 설정의 대부분 프로젝트는 npm으로 실행되는데, 프로젝트가 pnpm으로 실행된다면
00:06:51어떤 명령어를 실행해야 하는지 에이전트가 알 수 있도록 이 정보를 추가해야 합니다.
00:06:57Claude가 이미 알고 있는 명령어 외의 것들은 claud.md
00:07:01파일에 포함하지 않아야 합니다.
00:07:02claud.md의 다음 언급은 Claude Code의 창시자와 그가 밝힌 워크플로우에서
00:07:07영감을 받았습니다.
00:07:08그는 claud.md가 한 번 작성하고 영원히 사용하는 파일이 아니라고 말했습니다.
00:07:12그것은 구축 과정에서 계속해서 변경, 업데이트 및 개선되어야 하는 것으로
00:07:16지속적으로 반복되어야 하는ongoing 프로세스입니다.
00:07:20그래서 Claude가 구현이
00:07:25올바르지 않다는 말을 사용자에게 들었다면, 사용자가 지적한 대로 먼저 수정을 적용하라는 지시를 추가해야 합니다.
00:07:29Claude가 그러한 수정을 적용한 후에는, 해당 학습 내용을 전용
00:07:33파일에 추가하여 Claude가 무엇을 하지 말아야 하고 무엇이 올바른 방식인지에 대한 지식 베이스를 점진적으로 구축하도록 해야 하며,
00:07:38나중에 필요할 때 참조할 수 있도록 해야 합니다.
00:07:42하지만 넘어가기 전에, 후원사의 말씀을 들어보겠습니다.
00:07:45여러분, 아마 AI 에이전트에 대해 들어보셨을 겁니다.
00:07:47직접 설정해보려다 15분 만에 터미널을 쳐다보며
00:07:51API 키를 설정 파일에 붙여넣으며 중요한 정보를 유출한 건 아닌지 고민해보셨을 겁니다.
00:07:56Klaus는 그 모든 과정을 생략합니다.
00:07:57Klaus는 클라우드에서 오픈 소스 AI 에이전트인 OpenClaw를 실행합니다.
00:08:00가입하면 15달러의 Open Router 크레딧을 받고 즉시 프롬프트를 시작할 수 있습니다.
00:08:04터미널도, 도커도, API 키를 찾아 헤맬 필요도 없습니다.
00:08:07저는 Klaus에게 스타트업 디렉토리를 스크랩해서 결과를 표로 정리하고
00:08:12이메일로 보내달라고 요청하여 테스트했습니다.
00:08:13채팅창에 프롬프트 하나를 입력하니 끝났습니다.
00:08:15코드도, 브라우저 확장 프로그램도 필요 없었습니다.
00:08:17Exa나 Apollo 같은 내장 도구들이 함께 제공되며 Slack, WhatsApp, 심지어
00:08:21iMessage와도 연결됩니다.
00:08:22모든 것은 개인 계정과 완전히 격리된 방화벽 머신에서 실행됩니다.
00:08:27무언가 고장 나면 그들의 자동 수정 에이전트 Clawbert가 손대지 않아도 수정해줍니다.
00:08:31고정 댓글의 링크를 클릭하고 Klaus를 무료로 체험해보세요.
00:08:35대부분의 코딩 프로젝트는 Git으로 관리되므로, claud.md에
00:08:39확인 없이 실행할 수 없는 되돌릴 수 없는 명령어는 실행하지 말라는 지시를 명시적으로 추가해야 합니다.
00:08:44그리고 그러한 명령어를 실행해야 할 필요가 있다면, 반드시 먼저 허락을 구해야 합니다.
00:08:48이 명령어들은 한 번 실행되면 결과가 되돌릴 수 없기 때문에 위험하며
00:08:53운영 환경에 피해를 줄 수 있습니다.
00:08:55강제 푸시(force push), 헤드 재설정(reset head), 브랜치 병합(merge branches)이나 강제 삭제(remove with force)
00:09:00명령어 같은 것들입니다.
00:09:01또한 Claude가 명령어가 파괴적인지 아닌지 확실하지 않다면
00:09:04추측하지 말고 물어보라는 지시를 추가해야 합니다.
00:09:07이것이 여러분의 많은 골칫거리를 덜어줄 것입니다.
00:09:08예를 들어, Claude가 실수로 병합하고 싶지 않은 브랜치를 병합하려 한다면,
00:09:12병합하기 전에 허락을 구할 것이고 여러분은 거부하여 여러분의 작업을
00:09:16안전하게 지킬 수 있습니다.
00:09:17모든 정보를 단일 claud.md 파일에 넣을 필요는 없습니다. 그러면
00:09:22파일이 불필요하게 비대해지고 에이전트가 실제로 해야 할 일로부터 주의를 분산시킬 뿐입니다.
00:09:27따라서 첫 줄에 범위를 선언하고
00:09:31해당 파일들에 딱 맞춘 지시사항이 포함된 경로 범위 규칙 파일을 만들어야 합니다.
00:09:34또한 Claude가 이 파일들의 존재를 알 수 있도록 claud.md에 위치를 언급해야 합니다.
00:09:40예를 들어, API를 작성할 때 Claude가 특정 지시사항을 따르기를 원한다면,
00:09:44그것들을 위한 규칙 파일을 추가하여 Claude가 해당 작업을 할 때,
00:09:48직접 그 지시사항을 로드하여 사용하게 할 수 있습니다.
00:09:50하지만 그만큼 중요한 점은, API 관련 지시사항이 Claude가
00:09:55그것을 작업하지 않을 때 간섭하지 않도록 보장한다는 것입니다.
00:09:56프로젝트의 서로 다른 부분에 대해 여러 규칙 파일을 가질 수 있고, 각각은 그 특정 영역에
00:10:00맞춤화된 지시사항을 포함할 수 있습니다.
00:10:02이렇게 하면 Claude는 그 부분을 작업할 때만 관련 지시사항을 로드합니다.
00:10:06따라서 컨텍스트 비대화를 방지하고 에이전트가 관련 없는 규칙에 주의가
00:10:11분산되는 대신 현재 작업에 집중하게 합니다.
00:10:13대부분의 대규모 애플리케이션은 모노레포(mono repo)에 있는데, 이는 모든 서로 다른 컴포넌트가
00:10:18함께 보관되고 각 폴더가 메인 애플리케이션의 서로 다른 측면에 기여하면서
00:10:22각 부분이 독립적으로 관리되는 하나의 거대한 저장소를 의미합니다.
00:10:28따라서 모노레포에서 프로젝트를 실행한다면, 각 서브 레포가 자체 claud.md 파일을 가지고 있는지
00:10:32확인해야 하며, 그래서 그것이 그것에만 특화된 지시사항을
00:10:37포함하고 글로벌 claud.md의 지시사항에만 의존하지 않도록 해야 합니다.
00:10:42글로벌 파일은 시스템의 모든 부분에 광범위하게 적용 가능한 지시사항으로만 구성되어야 합니다.
00:10:48하지만 범위가 지정된 claud.md 파일은 특정 앱이나 모듈에 특화된 지시사항을 포함할 수 있기 때문에
00:10:52더 잘 작동합니다.
00:10:54이는 에이전트가 더 집중된 가이드를 가지게 되어 성능을 향상시킵니다.
00:10:58따라서 모든 대규모 프로젝트 지시사항을 메인 파일에 넣는 것은 잘못된 움직임입니다.
00:11:02파일이 정보로 비대해질 것이고 Claude가 현재 작업과 관련 없는 지시사항이 있는
00:11:07영역을 지날 때 주의력이 실제로 해야 할
00:11:11일에서 벗어나게 할 수 있습니다.
00:11:12또한 저희 콘텐츠를 즐기고 계신다면, 저희가 더 많은 이런 콘텐츠를 만들고
00:11:16더 많은 사람에게 다가갈 수 있도록 도움을 주는 'hype' 버튼을 누르는 것을 고려해주세요.
00:11:19또한 프로젝트 설명을 claud.md 파일에 추가해야 하며, 이
00:11:24지시사항이 나머지 지시사항들 속에 묻히지 않고 맨 처음에
00:11:29배치되도록 해야 합니다.
00:11:30그래야 에이전트가 전체 앱이 무엇에 관한 것인지 먼저 읽음으로써 요지를 파악하기 때문입니다.
00:11:33그래서 앱이 어떻게 구조화되어 있는지, 전반적으로 무엇을 하는지, 무엇이
00:11:38서로 다른 서비스와 의존성인지, 그리고 앱이 어떻게 실행되는지 컨텍스트를 이해하게 됩니다.
00:11:41이렇게 하면 앱이 무엇을 하는지 추론하기 위해 코드를 보는 대신
00:11:45처음부터 알 수 있습니다.
00:11:46claud.md 파일에 추가해야 할 또 다른 섹션은 Claude가
00:11:50기능이 존재하는 것뿐만 아니라 의도한 대로 올바르게 작동하는지 작업 완료를 보고하기 전에
00:11:55검증해야 한다는 것입니다.
00:11:57빌드와 테스트가 올바르게 통과하는지 확인하기 위해 가용한 모든 검증 메커니즘을 사용해야 하지만,
00:12:02이 섹션의 핵심은 기능에 대한 코드가 존재하는지 확인하는 것뿐만 아니라 실제
00:12:07검증 단계를 사용하여 작업이 실제로 완료되었는지 확인하는 것입니다.
00:12:11따라서 이 지시사항은 Claude가 더 충실하게 보고하도록 하고
00:12:15앱이 올바르게 구현되고 의도한 대로 작동하는지 확인하기 위해 단위 테스트, 린팅, 타입 체크와 같은 여러
00:12:20유형의 검사를 사용하도록 밀어붙입니다.
00:12:23마지막으로, claud.md 파일에 지시사항을 정렬하는 방식 또한
00:12:27높은 에이전트 성능을 보장하는 데 매우 중요합니다.
00:12:29우선순위에 따라 정렬해야 합니다.
00:12:31첫 번째 지시사항은 하드 규칙이어야 하며, 즉 항상 절대적으로 협상 불가능하고 예외가
00:12:36없어야 합니다.
00:12:37이 하드 규칙들은 항상 다른 규칙들보다 먼저 나와야 합니다.
00:12:40그 다음에는 이전 것만큼 엄격하지는 않은 중간 우선순위 규칙이 옵니다.
00:12:44그것들은 다소 협상 가능하지만 여전히 중요하며 위반되어서는 안 됩니다.
00:12:48그 후에는 주로 참조와 편의성을 포함하는 낮은 우선순위 지시사항이 오며,
00:12:52에이전트가 이 섹션을 핵심 의사결정 소스로 되돌아가 사용할 필요가 없도록 합니다.
00:12:57한 가지 더 중요한 점은 claud.md 파일을 짧게 유지해야 한다는 것입니다.
00:13:01에이전트 성능에 최적인 것으로 간주되는 300줄이라는 엄격한 제한 아래로
00:13:06유지하는 것이 모범 사례입니다.
00:13:07그보다 길어지면 성능이 저하되기 시작합니다.
00:13:10여기서 이야기한 claud.md 파일과 여기서 언급된 다른 모든 리소스는
00:13:15AI Labs Pro에서 이 영상과 이전의 모든 영상을 위해 이용 가능하며 다운로드하여
00:13:20여러분만의 프로젝트에 사용할 수 있습니다.
00:13:21저희가 하는 일에서 가치를 발견했고 채널을 후원하고 싶다면, 이것이 가장
00:13:25좋은 방법입니다.
00:13:26링크는 설명란에 있습니다.
00:13:27이것으로 이번 영상의 끝을 맺습니다.
00:13:29채널을 후원하고 이런 영상을 계속 만들 수 있도록 돕고 싶다면,
00:13:33아래의 'super thanks' 버튼을 사용하여 하실 수 있습니다.
00:13:35항상 시청해주셔서 감사드리며, 다음 영상에서 뵙겠습니다.

Key Takeaway

단순히 초기화 명령어로 생성된 파일을 쓰지 말고, 구체적인 하드 규칙, 검증 가능한 목표 정의, 모듈별 규칙 분리, 그리고 300줄 이하의 최적화된 구조를 따르는 Claude.md 설정을 통해 AI 코딩 에이전트의 성능을 극대화해야 합니다.

Highlights

  • Claude.md 파일은 300줄 미만으로 유지해야 에이전트의 성능 저하를 방지할 수 있습니다.

  • 코딩 전 명시적 사고 단계(Chain of Thought)를 추가하면 작업 수정 횟수를 획기적으로 줄일 수 있습니다.

  • 구현 시 '외과적 변경' 원칙을 적용해 요청된 기능 외의 불필요한 코드 개선이나 포맷팅을 차단해야 합니다.

  • 각 작업에 검증 가능한 성공 기준을 정의하고 단위 테스트나 시각적 검증 도구를 활용하여 결과를 확인해야 합니다.

  • 글로벌 파일 대신 모듈별로 범위가 지정된 규칙 파일을 사용하면 컨텍스트 비대화를 막고 에이전트의 집중력을 높일 수 있습니다.

Timeline

Claude.md의 기본 구조와 사고 패턴

  • 기본 init 명령어만으로는 에이전트의 성능을 최적화할 수 없습니다.
  • Claude에게 코딩 전 가정을 명확히 하고 대안을 제시하도록 지시해야 합니다.
  • 명시적인 사고 유도는 불필요한 추측성 구현과 잦은 코드 수정을 방지합니다.

에이전트에게 구현을 시작하기 전 관련 질문을 던지게 함으로써 훈련 데이터에 의존한 무분별한 코딩을 방지합니다. 이 과정은 사용자의 의도와 일치하는 해결책을 도출하게 하며 불필요한 시행착오를 대폭 줄여줍니다.

단순성 유지 및 외과적 코드 변경 전략

  • 단순함을 우선시하는 원칙을 명시하여 장황한 코드 작성을 제어해야 합니다.
  • 요청되지 않은 주변 코드의 개선이나 포맷팅은 주의력을 분산시키므로 차단해야 합니다.
  • 200줄로 가능한 작업을 50줄로 리팩토링하게 유도하여 오버헤드를 줄입니다.

에이전트는 요청된 문제 외의 인접 코드까지 개선하려는 경향이 있는데, 이는 작업의 집중도를 떨어뜨리고 추후 리팩토링을 어렵게 만듭니다. 요청 사항과 직접 연결되지 않은 변경은 지양하고 필요시 언급만 하도록 설정해야 합니다.

목표 지향적 검증 및 도구 활용

  • 모든 작업에 대해 에이전트가 검증 가능한 성공 기준을 정의하도록 설정해야 합니다.
  • 테스트 케이스 구현과 통과 여부 확인을 통해 작업 완료를 검증합니다.
  • UI 검증에는 Puppeteer MCP나 크롬 확장 프로그램 같은 전문 도구를 지정해야 합니다.

에이전트가 코드를 완성하는 것에서 그치지 않고 테스트를 통해 실제 의도대로 동작하는지 스스로 확인하게 합니다. 특히 UI 변경 등 코드로 판단하기 어려운 부분은 시각적 상태를 확인할 수 있는 외부 도구를 규칙에 포함하는 것이 중요합니다.

규칙 파일의 확장 및 모듈화

  • Claude.md 파일은 고정된 것이 아니라 지속적으로 업데이트하는 지식 베이스입니다.
  • 파괴적인 명령어(force push 등)는 사전 승인 없이 실행하지 못하도록 제한해야 합니다.
  • 대규모 모노레포에서는 전역 규칙 파일 외에 모듈별 규칙 파일을 별도로 운용해야 합니다.

정보가 지나치게 많으면 성능이 저하되므로 파일 길이를 300줄 이내로 유지해야 합니다. 전역 규칙 파일에는 시스템 전반에 적용되는 하드 규칙을 넣고, 특정 API나 모듈 작업 시에만 로드되는 규칙 파일을 분리하여 효율성을 높여야 합니다.

Community Posts

View all posts