본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 19. 20:06

multica-ai/andrej-karpathy-skills

요약

Multica는 Andrej Karpathy가 지적한 LLM 코딩 에이전트의 문제점을 해결하기 위해 개발된 오픈 소스 플랫폼입니다. 단 하나의 `CLAUDE.md` 파일을 통해 Claude Code의 동작을 개선하며, 모델이 잘못된 가정을 하거나 코드를 과도하게 복잡하게 만드는 현상을 방지하는 네 가지 핵심 원칙을 제시합니다.

핵심 포인트

  • 코딩 전 생각하기: 잘못된 가정과 모호함을 방지하기 위해 명시적인 추론과 질문을 강제함
  • 단순성 우선: 과도한 추상화와 오버엔지니어링을 지양하고 최소한의 코드로 문제를 해결함
  • 정밀한 변경: 요청된 범위 외의 코드나 스타일을 수정하지 않고 변경 사항에만 집중함
  • 목표 중심 실행: 테스트와 검증 가능한 성공 기준을 통해 실행의 정확도를 높임

저의 새로운 프로젝트인 Multica를 확인해 보세요 — 재사용 가능한 기술(skills)을 통해 코딩 에이전트(coding agents)를 실행하고 관리할 수 있는 오픈 소스 플랫폼입니다.

저의 X를 팔로우해 주세요: https://x.com/jiayuan_jy

단 하나의 CLAUDE.md 파일

Andrej Karpathy의 LLM 코딩 함정(pitfalls)에 대한 관찰로부터 도출된, Claude Code의 동작을 개선하기 위한 파일입니다.

English | 简体中文

Andrej의 게시물 내용:

"모델들은 사용자를 대신하여 잘못된 가정을 하고, 확인 절차 없이 그대로 실행해 버립니다. 모델들은 자신의 혼란을 관리하지 않고, 명확한 설명을 요구하지 않으며, 불일치를 드러내지 않고, 트레이드오프(tradeoffs)를 제시하지 않으며, 그래야 할 때 반박하지도 않습니다."

"모델들은 코드와 API를 지나치게 복잡하게 만들고, 추상화(abstractions)를 비대하게 만들며, 죽은 코드(dead code)를 정리하지 않습니다... 100줄이면 충분할 것을 1,000줄이 넘는 비대한 구조로 구현하기도 합니다."

"모델들은 여전히 작업과 무관한 경우에도, 부작용(side effects)으로서 충분히 이해하지 못한 주석이나 코드를 변경하거나 삭제하곤 합니다."

이러한 문제들을 직접적으로 해결하는 네 가지 원칙이 하나의 파일에 담겨 있습니다:

원칙해결하는 문제
코딩 전 생각하기 (Think Before Coding)잘못된 가정, 숨겨진 혼란, 누락된 트레이드오프
단순성 우선 (Simplicity First)과도한 복잡성, 비대한 추상화
정밀한 변경 (Surgical Changes)무관한 편집, 건드리지 말아야 할 코드 수정
목표 중심 실행 (Goal-Driven Execution)테스트 우선 방식 및 검증 가능한 성공 기준을 통한 활용

가정하지 마세요. 혼란을 숨기지 마세요. 트레이드오프를 드러내세요.

LLM은 종종 조용히 하나의 해석을 선택하고 그대로 실행합니다. 이 원칙은 명시적인 추론을 강제합니다:

가정을 명시적으로 기술하세요 — 불확실하다면 추측하지 말고 질문하세요.
여러 해석을 제시하세요 — 모호함이 존재할 때 조용히 하나를 선택하지 마세요.
정당할 때 반박하세요 — 더 단순한 접근 방식이 있다면 그렇게 말하세요.
혼란스러울 때는 멈추세요 — 무엇이 불분명한지 명시하고 명확한 설명을 요구하세요.

문제를 해결하는 최소한의 코드. 추측성 코드는 배제하세요.

과잉 엔지니어링(overengineering) 성향에 맞서세요:

  • 요청받은 것 이상의 기능 추가 금지
  • 단 한 번만 사용될 코드에 대한 추상화(abstractions) 금지
  • 요청되지 않은 "유연성(flexibility)"이나 "설정 가능성(configurability)"
  • 불가능한 시나리오에 대한 에러 핸들링(error handling) 금지
  • 200줄로 작성할 것을 50줄로 줄일 수 있다면, 다시 작성하세요.

테스트: 시니어 엔지니어가 이것을 너무 복잡하다고 말할 것인가? 만약 그렇다면, 단순화하세요.

반드시 필요한 부분만 건드리세요. 본인이 만든 문제만 정리하세요.

기존 코드를 수정할 때:

  • 인접한 코드, 주석, 또는 포맷팅(formatting)을 "개선"하지 마세요.
  • 고장 나지 않은 것을 리팩터링(refactor)하지 마세요.
  • 본인이라면 다르게 했을지라도, 기존 스타일을 따르세요.
  • 관련 없는 데드 코드(dead code)를 발견하면 언급만 하세요. 삭제하지 마세요.

변경 사항으로 인해 고아(orphans)가 발생할 때:

  • "당신의" 변경 사항으로 인해 사용되지 않게 된 임포트(imports)/변수/함수를 제거하세요.
  • 요청받지 않는 한, 기존에 존재하던 데드 코드는 제거하지 마세요.

테스트: 변경된 모든 라인은 사용자의 요청과 직접적으로 연결되어야 합니다.

성공 기준을 정의하세요. 검증될 때까지 반복하세요.

명령형 작업(imperative tasks)을 검증 가능한 목표로 변환하세요:

대신에...~로 변환하세요...
"유효성 검사 추가""유효하지 않은 입력에 대한 테스트를 작성한 다음, 이를 통과시키세요"
...

여러 단계의 작업인 경우, 간략한 계획을 명시하세요:

1. [단계] → 검증: [확인 사항]
2. [단계] → 검증: [확인 사항]
3. [단계] → 검증: [확인 사항]

강력한 성공 기준은 LLM이 독립적으로 루프(loop)를 돌 수 있게 합니다. 약한 기준("작동하게 만드세요")은 지속적인 명확화(clarification)를 요구합니다.

옵션 A: Claude Code 플러그인 (권장)

Claude Code 내부에서 먼저 마켓플레이스(marketplace)를 추가하세요:

/plugin marketplace add forrestchang/andrej-karpathy-skills

그 다음 플러그인을 설치하세요:

/plugin install andrej-karpathy-skills@karpathy-skills

이렇게 하면 가이드라인이 Claude Code 플러그인으로 설치되어, 모든 프로젝트에서 해당 기술을 사용할 수 있습니다.

옵션 B: CLAUDE.md (프로젝트별)

새 프로젝트:

curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md

기존 프로젝트 (추가):

echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md

이 저장소에는 커밋된 Cursor 프로젝트 규칙(.cursor/rules/karpathy-guidelines.mdc)이 포함되어 있어, Cursor에서 프로젝트를 열 때 동일한 가이드라인이 적용됩니다. 설정 방법, 다른 프로젝트에서 이 규칙을 사용하는 방법, 그리고 이것이 Claude Code와 어떻게 연관되는지에 대해서는 CURSOR.md를 참조하세요.

Andrej의 메시지:

"LLM(대규모 언어 모델)은 특정 목표를 달성할 때까지 루프(looping)를 도는 것에 매우 능숙합니다... 무엇을 해야 할지 지시하지 말고, 성공 기준(success criteria)을 제시한 뒤 그것이 실행되는 것을 지켜보세요."

"목표 중심 실행 (Goal-Driven Execution)" 원칙은 이를 포착합니다: 명령형 지시(imperative instructions)를 검증 루프(verification loops)를 포함한 선언적 목표(declarative goals)로 변환하는 것입니다.

다음과 같은 현상이 나타난다면 이 가이드라인이 제대로 작동하고 있는 것입니다:

diff에서 불필요한 변경 사항 감소 — 요청된 변경 사항만 나타남
과도한 복잡화로 인한 재작성 감소 — 코드가 처음부터 단순하게 작성됨
구현 전 질문을 통한 명확화 — 실수를 저지른 후가 아니라 구현 전에 질문함
깔끔하고 최소한의 PR (Pull Request) — 무분별한 리팩토링(refactoring)이나 "개선" 작업이 없음

이 가이드라인은 프로젝트별 지침과 병합되도록 설계되었습니다. 기존의 CLAUDE.md에 추가하거나 새로운 파일을 만드세요.

프로젝트별 규칙을 위해 다음과 같은 섹션을 추가할 수 있습니다:

## 프로젝트별 가이드라인 (Project-Specific Guidelines)
- TypeScript strict mode를 사용할 것
- 모든 API 엔드포인트는 반드시 테스트를 포함해야 함
...

이 가이드라인은 **속도보다 신중함 (caution over speed)**에 무게를 둡니다. 사소한 작업(단순한 오타 수정, 명백한 한 줄 코드 작성 등)의 경우, 판단력을 발휘하세요. 모든 변경 사항에 이 엄격한 기준을 적용할 필요는 없습니다.

목표는 단순한 작업을 느리게 만드는 것이 아니라, 중요도가 높은 작업에서 비용이 많이 드는 실수를 줄이는 것입니다.

MIT

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending All (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
2

댓글

0