본문 바로가기

인공지능

Karpathy-Inspired Claude Code Guidelines: LLM 코딩 품질을 높이기 위한 실전 가이드 정리

728x90
반응형
728x170

이 글은 Andrej Karpathy의 관찰을 기반으로 정리된 Claude Code 가이드라인을 중심으로, 대형 언어 모델(LLM)이 코드를 작성할 때 자주 겪는 문제와 이를 해결하기 위한 핵심 원칙을 정리한 IT 기술 블로그입니다.
단순히 “잘 작성된 규칙 모음”이 아니라, LLM을 실제 개발 파트너로 활용하기 위해 무엇을 통제하고 무엇을 명확히 해야 하는지에 대한 실질적인 기준을 제시합니다.

반응형

LLM 코딩의 현실적인 문제점

Andrej Karpathy는 LLM이 코딩 작업에서 반복적으로 보이는 한계를 다음과 같이 지적했습니다.

  • 모델이 사용자 대신 가정을 해버리고 확인하지 않는다
  • 혼란스러운 부분을 드러내지 않고 임의로 해석을 선택한다
  • 필요 이상으로 과도한 추상화와 코드 비대화를 만든다
  • 요청과 무관한 코드나 주석까지 부수적으로 수정한다

이러한 문제는 단순한 정확도 이슈가 아니라,
유지보수성과 신뢰성, 협업 품질에 직접적인 영향을 미치는 구조적 문제입니다.


문제 해결을 위한 하나의 파일, 네 가지 원칙

Karpathy-Inspired Claude Code Guidelines는 이러한 문제를 해결하기 위해 단일 CLAUDE.md 파일에 네 가지 원칙을 정리합니다.
목표는 명확합니다.
“LLM이 추측하지 않고, 단순하게, 필요한 부분만, 목표 중심으로 작업하게 만든다.”


원칙 1: Think Before Coding

가정하지 말고, 혼란을 드러내라

이 원칙의 핵심은 LLM이 조용히 해석을 선택하지 못하게 하는 것입니다.

  • 불확실한 부분은 명시적으로 가정하거나 질문한다
  • 여러 해석이 가능한 경우, 가능한 선택지를 먼저 제시한다
  • 더 단순한 접근이 있다면, 그대로 밀어붙이지 말고 반론을 제시한다
  • 이해되지 않는 부분이 있다면 멈추고 무엇이 불명확한지 말한다

이 원칙은 “바로 코드부터 작성”하는 습관을 막고,
사람 개발자가 리뷰 전에 했어야 할 사고 과정을 LLM에게 강제합니다.


원칙 2: Simplicity First

문제를 해결하는 최소한의 코드만 작성하라

LLM은 종종 “확장성”, “유연성”을 이유로 요청하지 않은 구조까지 만들어냅니다.
이 원칙은 그 습관을 명확히 차단합니다.

  • 요청되지 않은 기능은 추가하지 않는다
  • 한 번만 쓰이는 코드에 추상화를 만들지 않는다
  • 필요 없는 설정, 옵션, 에러 처리는 만들지 않는다
  • 200줄로 작성했다면, 50줄로 줄일 수 있는지 다시 본다

판단 기준은 단순합니다.
“시니어 개발자가 봤을 때 과하다고 느낄까?”
그렇다면 이미 과한 설계입니다.


원칙 3: Surgical Changes

필요한 부분만 정확히 수정하라

이 원칙은 LLM이 자주 저지르는 ‘김에 이것도 고쳐볼까’ 문제를 막습니다.

  • 요청되지 않은 코드, 주석, 포맷은 건드리지 않는다
  • 기존 스타일을 유지한다
  • 문제가 있어 보이더라도 요청되지 않았다면 삭제하지 않는다
  • 단, 자신의 수정으로 인해 생긴 불필요한 코드만 정리한다

모든 변경 라인은
“이 줄이 왜 필요한지 사용자 요청으로 설명할 수 있어야” 합니다.


원칙 4: Goal-Driven Execution

지시가 아니라 성공 조건을 정의하라

이 가이드의 핵심 통찰은 다음 문장에 담겨 있습니다.

LLM은 지시를 따르는 것보다, 명확한 목표를 반복적으로 만족시키는 데 훨씬 강하다.

그래서 지시는 다음과 같이 바뀝니다.

  • “유효성 검사를 추가해라”
    → “잘못된 입력에 대한 테스트를 작성하고 통과시켜라”
  • “버그를 고쳐라”
    → “버그를 재현하는 테스트를 만들고 통과시켜라”

복잡한 작업이라면 간단한 계획을 먼저 제시합니다.

  1. 테스트 작성 → 검증: 실패 확인
  2. 코드 수정 → 검증: 테스트 통과
  3. 리팩토링 → 검증: 기존 테스트 유지

이 방식은 LLM이 스스로 반복하며 수렴할 수 있는 구조를 만들어줍니다.


실제 적용 방법: CLAUDE.md와 플러그인

이 가이드라인은 두 가지 방식으로 사용할 수 있습니다.

1. 프로젝트 단위 적용 (CLAUDE.md)

새 프로젝트라면 가이드 파일을 바로 다운로드해 사용합니다.

  • CLAUDE.md 하나만으로
    모든 코딩 응답의 기본 행동 원칙을 통제할 수 있습니다.

기존 프로젝트라면 기존 규칙 아래에 그대로 추가해도 됩니다.


2. Claude Code 플러그인 사용

Claude Code 환경에서는 플러그인 형태로 설치해
모든 프로젝트에 공통 적용할 수 있습니다.

이 방식은 반복 설정 없이
항상 동일한 기준으로 LLM을 사용할 수 있다는 장점이 있습니다.


이 가이드라인이 잘 작동하고 있다는 신호

다음 변화가 보인다면, 가이드라인은 제대로 작동 중입니다.

  • 변경 diff가 작고 명확해진다
  • 불필요한 리팩토링이 사라진다
  • 코드 작성 전에 질문과 정리가 먼저 나온다
  • 리뷰하기 쉬운 최소 단위 PR이 생성된다

즉, LLM이 ‘말 잘 듣는 주니어’가 아니라
사고 과정이 드러나는 협업 파트너처럼 동작
하기 시작합니다.


728x90

Karpathy-Inspired Claude Code Guidelines는
LLM의 한계를 비판하는 문서가 아닙니다.

LLM이 잘하는 방식에 맞게 문제를 재정의하고,
실수를 줄이도록 환경을 설계한 실전 가이드
입니다.

앞으로 LLM을 단순한 코드 생성기가 아니라
지속적으로 함께 일할 개발 파트너로 활용하려면,
이런 명확한 원칙 기반의 가이드라인은 선택이 아니라 필수에 가까워질 것입니다.

코드를 바꾸기 전에,
LLM이 생각하는 방식을 먼저 바꾸는 것.
이 가이드라인의 가장 큰 가치입니다.

300x250

https://github.com/multica-ai/andrej-karpathy-skills?fbclid=IwY2xjawSCjIRleHRuA2FlbQIxMQBzcnRjBmFwcF9pZBAyMjIwMzkxNzg4MjAwODkyAAEeBuzr7NcvDqw1FuOgH1b1fKtXd2RzEhzz-l6pu_bA5tXzqxP7boFG9kxsyRE_aem_tDBd-029YCmQtFk2cdTI1A

 

GitHub - multica-ai/andrej-karpathy-skills: A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpath

A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls. - multica-ai/andrej-karpathy-skills

github.com

728x90
반응형
그리드형