multica-ai/andrej-karpathy-skills

A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.

190,265
GitHub 스타
19,539
포크
언어
미표기
라이선스
2026.04.20
최근 푸시
2026.04.21
별표한 날

AI 분석

설치 난이도: 쉬움
큐레이터 노트
이 저장소는 LLM 코딩 에이전트의 일반적인 문제를 해결하는 실용적인 가이드라인을 제공하므로, Claude Code나 유사한 도구를 사용하는 개발자에게 유용합니다. 특히 코드 품질과 일관성을 중시하는 팀에 적합합니다.

강점

  • Andrej Karpathy의 실제 LLM 코딩 문제점 관찰을 기반으로 하여 실용적이고 검증된 접근법을 제공합니다.
  • 네 가지 명확한 원칙(Think, Simplicity, Surgical, Goal-Driven)으로 구성되어 있어 적용하기 쉽습니다.
  • Claude Code 플러그인과 CLAUDE.md 파일 두 가지 설치 방식을 지원하여 유연성이 높습니다.
  • Cursor와의 호환성도 고려되어 있어 다양한 환경에서 사용할 수 있습니다.

약점

  • 단일 CLAUDE.md 파일에 의존하므로 프로젝트별 복잡한 규칙과 충돌할 가능성이 있습니다.
  • 사소한 작업에도 과도한 엄격함을 적용할 위험이 있으며, 이는 생산성을 저하시킬 수 있습니다.
  • LLM의 행동을 완전히 제어할 수 있는 것은 아니며, 가이드라인이 항상 의도대로 작동한다는 보장이 없습니다.

주의사항

  • 이 가이드라인은 신중함을 우선시하므로, 간단한 작업에서는 판단하여 선택적으로 적용해야 합니다.
  • 기존 프로젝트에 추가할 때 기존 CLAUDE.md 내용과 충돌하지 않도록 주의해야 합니다.
  • LLM이 가이드라인을 완전히 따르지 않을 수 있으므로, 결과를 항상 검토해야 합니다.

시작 가이드

  • 저장소를 클론하거나 CLAUDE.md 파일을 다운로드하여 프로젝트에 적용해 보세요.
  • Claude Code 플러그인을 설치하여 모든 프로젝트에서 가이드라인을 사용할 수 있도록 설정하세요.
  • 프로젝트별 규칙을 추가하여 가이드라인을 사용자 정의하고 팀의 요구에 맞게 조정하세요.
  • Cursor를 사용하는 경우 CURSOR.md를 참조하여 규칙을 설정하세요.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

Karpathy 영감을 받은 Claude Code 가이드라인

제 새 프로젝트 Multica를 확인해보세요 — 재사용 가능한 스킬로 코딩 에이전트를 실행하고 관리하기 위한 오픈소스 플랫폼입니다.

>

X에서 저를 팔로우하세요: https://x.com/jiayuanjy

Andrej Karpathy의 관찰에서 파생된, Claude Code의 동작을 개선하기 위한 단일 CLAUDE.md 파일입니다.

English | 简体中文

문제점

Andrej의 글에서:

"모델들이 당신을 대신해 잘못된 가정을 하고 확인 없이 그대로 실행합니다. 혼란을 관리하지 않고, 명확성을 구하지 않으며, 불일치를 표면화하지 않고, 트레이드오프를 제시하지 않으며, 필요할 때 반박하지 않습니다."

"코드와 API를 지나치게 복잡하게 만들고, 추상화를 부풀리며, 죽은 코드를 정리하지 않습니다... 100줄이면 충분할 것을 1000줄에 걸쳐 부풀려진 구조를 구현합니다."

"여전히 때때로 충분히 이해하지 못한 주석과 코드를 작업과 직교하더라도 부수 효과로 변경하거나 제거합니다."

해결책

이러한 문제를 직접 해결하는 하나의 파일에 담긴 네 가지 원칙:

원칙 해결 대상
코딩 전에 생각하기 잘못된 가정, 숨겨진 혼란, 누락된 트레이드오프
단순성 우선 과도한 복잡성, 부풀려진 추상화
정밀한 변경 직교하는 수정, 건드리면 안 되는 코드 건드리기
목표 기반 실행 테스트 우선, 검증 가능한 성공 기준을 통한 활용

네 가지 원칙 상세

1. 코딩 전에 생각하기

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

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

  • 가정을 명시적으로 밝히세요 — 확실하지 않으면 추측하지 말고 질문하세요
  • 여러 해석을 제시하세요 — 모호함이 있을 때 조용히 선택하지 마세요
  • 정당할 때 반박하세요 — 더 간단한 접근 방식이 있다면 말하세요
  • 혼란스러울 때 멈추세요 — 무엇이 불명확한지 말하고 명확히 요청하세요

2. 단순성 우선

문제를 해결하는 최소한의 코드. 추측성 코드는 없음.

과도한 엔지니어링 경향에 맞서기:

  • 요청된 것 이상의 기능 없음
  • 단일 사용 코드에 대한 추상화 없음
  • 요청되지 않은 "유연성" 또는 "설정 가능성" 없음
  • 불가능한 시나리오에 대한 오류 처리 없음
  • 200줄이 50줄이 될 수 있다면 다시 작성하세요

테스트: 시니어 엔지니어가 이것이 지나치게 복잡하다고 말할까요? 그렇다면 단순화하세요.

3. 정밀한 변경

반드시 필요한 것만 건드리세요. 자신의 변경 사항만 정리하세요.

기존 코드를 편집할 때:

  • 인접한 코드, 주석 또는 서식을 "개선"하지 마세요
  • 고장나지 않은 것을 리팩터링하지 마세요
  • 다르게 했더라도 기존 스타일을 따르세요
  • 관련 없는 죽은 코드를 발견하면 언급만 하고 삭제하지 마세요

변경으로 인해 고립된 코드가 생기면:

  • YOUR 변경으로 사용되지 않게 된 import/변수/함수를 제거하세요
  • 요청받지 않은 한 기존의 죽은 코드는 제거하지 마세요

테스트: 변경된 모든 줄은 사용자의 요청에 직접 연결되어야 합니다.

4. 목표 기반 실행

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

명령형 작업을 검증 가능한 목표로 변환:

대신... 다음으로 변환
"유효성 검사 추가" "잘못된 입력에 대한 테스트를 작성하고 통과시키세요"
"버그 수정" "버그를 재현하는 테스트를 작성하고 통과시키세요"
"X 리팩터링" "전후에 테스트가 통과하는지 확인하세요"

다단계 작업의 경우 간단한 계획을 명시하세요:

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

강력한 성공 기준은 LLM이 독립적으로 반복할 수 있게 합니다. 약한 기준("작동하게 만들기")은 지속적인 명확화를 필요로 합니다.

설치

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

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

/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 프로젝트 규칙(.cursor/rules/karpathy-guidelines.mdc)이 포함되어 있어 Cursor에서 프로젝트를 열 때 동일한 가이드라인이 적용됩니다. 설정, 다른 프로젝트에서 규칙 사용, Claude Code와의 관계에 대해서는 CURSOR.md를 참조하세요.

핵심 통찰

Andrej로부터:

"LLM은 특정 목표를 달성할 때까지 반복하는 데 매우 뛰어납니다... 무엇을 해야 하는지 말하지 말고, 성공 기준을 제시하고 지켜보세요."

"목표 기반 실행" 원칙이 이를 포착합니다: 명령형 지시를 검증 루프가 있는 선언적 목표로 변환하세요.

작동하는지 확인하는 방법

다음과 같은 경우 이 가이드라인이 작동하고 있는 것입니다:

  • diff에서 불필요한 변경이 줄어듦 — 요청된 변경만 나타남
  • 과도한 복잡성으로 인한 재작성 감소 — 처음부터 코드가 단순함
  • 구현 전에 명확한 질문이 먼저 나옴 — 실수 후가 아님
  • 깔끔하고 최소한의 PR — 우회 리팩터링이나 "개선" 없음

사용자 정의

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

프로젝트별 규칙의 경우 다음과 같은 섹션을 추가하세요:

## 프로젝트별 가이드라인

- TypeScript strict 모드 사용
- 모든 API 엔드포인트에는 테스트가 있어야 함
- `src/utils/errors.ts`의 기존 오류 처리 패턴 따르기

트레이드오프 참고

이 가이드라인은 속도보다 신중함에 치우칩니다. 사소한 작업(간단한 오타 수정, 명백한 한 줄짜리)의 경우 판단을 사용하세요 — 모든 변경에 전체 엄격함이 필요한 것은 아닙니다.

목표는 간단한 작업을 느리게 하는 것이 아니라, 중요하지 않은 작업에서 비용이 많이 드는 실수를 줄이는 것입니다.

라이선스

MIT

원본 저장소: multica-ai/andrej-karpathy-skills

라이선스: 미표기

게재 제외를 원하시면 삭제 요청을 보내주세요.