claudekit / tools / andrej-karpathy-skills
[ Plugin · Development ]

Andrej Karpathy Skills

Karpathy의 LLM 코딩 관찰에서 끌어낸 네 가지 원칙을 `CLAUDE.md` 한 장에 담은 플러그인 — 과잉설계, 주변부 리팩터링, 조용한 추측을 억제.

forrestchang/andrej-karpathy-skills ·published ·updated
$ /plugin marketplace add forrestchang/andrej-karpathy-skills && /plugin install andrej-karpathy-skills@karpathy-skills copy

왜 필요한가?

Andrej Karpathy가 지적한 LLM 코딩의 반복적인 문제 — 조용한 가정, 과잉설계, 본래 작업과 무관한 주변부 수정, 모호한 “성공”의 정의 — 를 한 장짜리 CLAUDE.md로 정리한 플러그인입니다. 코드 작업 전반에 영향을 주는 네 가지 원칙을 Claude Code에 주입해 PR 노이즈를 줄입니다.

Karpathy가 지적한 문제

출발점은 Andrej Karpathy가 X(구 트위터)에 올린 글입니다. 그는 코드 작성에 LLM을 쓰면서 반복적으로 관찰한 실패 패턴을 세 가지로 정리했습니다.

  • ① 조용한 오판 — 모델이 사용자 대신 틀린 가정을 하고 확인 없이 그대로 진행. 혼란을 드러내거나 명확화를 요청하지 않고, 불일치·트레이드오프를 제시하지도, 필요할 때 되밀지도 않는 경향.
  • ② 과잉설계 — 코드와 API를 필요 이상으로 복잡하게 만들고, 추상을 부풀리며, 데드 코드를 정리하지 않음. 100줄이면 될 일에 1000줄짜리 구조를 얹는 식.
  • ③ 부작용성 수정 — 충분히 이해하지 못한 주변부 코드·코멘트를 작업과 무관하게 바꾸거나 삭제.

해법의 방향으로, Karpathy는 LLM이 명확한 성공 기준을 주면 그것을 충족할 때까지 스스로 루프하는 데 탁월하다는 점을 지적합니다 — 지시하지 말고 검증 가능한 기준을 주라는 것. 플러그인의 네 가지 원칙(Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution)이 이 세 가지 문제와 해법 방향에 각각 대응합니다. 원문 맥락은 링크된 게시물에서 직접 확인할 수 있습니다.

네 가지 원칙

  • Think Before Coding (코딩 전에 생각하기)

    모호한 요청을 조용히 한 가지 해석으로 밀어붙이지 않도록 강제합니다. 가정을 명시하고, 여러 해석이 있으면 드러내고, 더 단순한 길이 있으면 제안하고, 헷갈리면 멈추고 물어보게 합니다.

  • Simplicity First (단순함이 먼저)

    요청받지 않은 기능, 단일 사용처용 추상화, 일어날 수 없는 시나리오용 에러 핸들링을 차단합니다. “200줄이 50줄이면 될 코드라면 다시 써라”가 원문 표현. 시니어 개발자가 과하다고 할지 스스로 점검하게 합니다.

  • Surgical Changes (최소 수정)

    요청한 변경에 필요한 라인만 건드리게 합니다. 근처 코드·코멘트·포맷을 “개선”하지 않고, 기존 스타일에 맞추며, 자기 변경이 만든 고아 심볼만 정리하고 기존 데드 코드는 언급만 하고 지우지 않습니다.

  • Goal-Driven Execution (목표 기반 실행)

    “검증하고 반복”이 가능한 성공 기준으로 작업을 변환합니다. “버그 고쳐” → “버그를 재현하는 테스트 작성 후 통과시킬 것”, “리팩터 해” → “리팩터 전후 테스트 통과 보장” 식으로. Karpathy가 말한 “LLM은 명확한 성공 기준을 주면 스스로 루프한다”를 코드 규칙으로 풀어낸 것.

제대로 작동하고 있는지 확인하는 신호

아래가 보이면 규칙이 잘 먹히고 있는 것입니다.

  • 요청하지 않은 변경이 diff에 섞이지 않음 — 요청한 변경만 나타남
  • 과잉설계로 인한 재작성이 줄어듦 — 처음부터 단순한 코드로 나옴
  • 실수가 나온 뒤가 아니라 구현 전에 명확화 질문이 옴
  • drive-by 리팩터나 “개선”이 없는 최소 PR

알아두면 좋은 점

  • 이 가이드라인은 속도보다 신중함에 무게를 둠. 오탈자 수정, 한 줄 변경 같은 단순 작업에는 판단에 맡기고 모든 작업에 완전 적용하지 않아도 됨
  • 기존 CLAUDE.md에 병합해 쓰도록 설계됨. 프로젝트 고유 규칙(TypeScript strict, 테스트 정책 등)은 별도 섹션으로 아래에 추가
  • .cursor/rules/karpathy-guidelines.mdc가 함께 커밋되어 있어 같은 프로젝트를 Cursor로 열어도 동일 규칙이 적용됨
  • 라이선스: MIT
§ 6

See also

same category · curated
[01]
[Tool] Paseo · 내 컴퓨터에 데몬을 띄우고 데스크톱, 폰, 웹, 터미널 어디서든 접속해 코딩 에이전트를 굴리는 자체 호스팅 오케스트레이터. Claude Code를 비롯한 여러 CLI 에이전트를 손대지 않고 그대로 실행하며, 모바일 앱은 데스크톱과 같은 기능을 제공한다.
tool · claudekit.io / tools / paseo
[02]
[Tool] Orca · 여러 코딩 에이전트를 병렬로 굴리는 ADE(Agent Development Environment) 데스크톱 앱. 각 에이전트를 격리된 git worktree에서 동시에 실행하고, 결과를 나란히 비교해 원하는 것을 골라 머지한다. Claude Code, Codex, Grok 등 30여 개 CLI 에이전트를 자신의 구독으로 그대로 사용한다.
tool · claudekit.io / tools / orca
[03]
[Skill] Matt Pocock's Skills · Matt Pocock이 자기 .claude 디렉토리에서 실제로 쓰는 Claude Code 스킬 모음. 정렬(grilling), 스펙, TDD, 코드 리뷰, 버그 진단, 아키텍처 개선 등 실전 엔지니어링 워크플로를 20여 개 스킬로 묶었다. skills.sh로 편집 가능하게 설치하거나 플러그인으로 읽기 전용 설치한다.
tool · claudekit.io / tools / mattpocock-skills
§ 7

자주 묻는 질문

자주 묻는 질문
§ 7.1
Andrej Karpathy Skills는 무엇인가요?
Andrej Karpathy가 LLM 코딩에서 관찰한 반복 문제(조용한 오판·과잉설계·부작용성 수정)를 해결하기 위해 네 가지 원칙(Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution)을 한 장짜리 `CLAUDE.md`에 담은 플러그인입니다.
§ 7.2
어떤 환경에서 동작하나요?
Claude Code와 Cursor에서 동작합니다. Cursor는 함께 커밋된 `.cursor/rules/karpathy-guidelines.mdc`로 같은 규칙이 적용됩니다.
§ 7.3
어떻게 설치하나요?
마켓플레이스를 추가한 뒤 설치합니다. `/plugin marketplace add forrestchang/andrej-karpathy-skills && /plugin install andrej-karpathy-skills@karpathy-skills`. 또는 `curl`로 `CLAUDE.md`를 직접 프로젝트에 받아 사용할 수도 있습니다.
§ 7.4
기존 CLAUDE.md가 있는데 어떻게 적용하나요?
기존 `CLAUDE.md`에 병합해 쓰도록 설계되어 있습니다. 프로젝트 고유 규칙(TypeScript strict, 테스트 정책 등)은 별도 섹션으로 아래에 추가하면 됩니다.
§ 7.5
라이선스는 어떻게 되나요?
MIT 라이선스입니다.