클로드(Claude) 91,200명이 좋아한 AI가 알아서 먼저 물어보게 만드는 법 - 하네스 엔지니어링

👀 이 글을 읽으면 다음과 같이 성장해요!

1. AI가 매번 원하는 결과를 못 내놓는 진짜 이유
2. AI 규칙을 저장하는 방법 (설정 한 번이면 끝)
3. 별점 91,200개 받은 4가지 원칙 — 지금 바로 적용 가능

AI한테 “로그인 화면 만들어줘”라고 했습니다.

결과물이 나왔는데 버튼 위치도 이상하고, 색도 안예쁘고,

무엇보다 묻지도 않고 그냥 만들어버렸어요.

다시 설명하고, 다시 수정하고

이게 AI가 부족해서일까요?

아닙니다. AI는 내 기준을 모르기 때문이에요.

깃허브 별점 91,200개 받은 4가지 원칙 (하네스 엔지니어링)

OpenAI 공동 창업자 Andrej Karpathy가 AI의 문제점을 꼬집었어요.

Karpathy가 말한 AI의 3가지 문제

1. 불확실해도 그냥 진행해버린다 — 먼저 물어보지 않아요
2. 단순하게 해도 될 것을 복잡하게 만든다
3. 건드리지 않아도 될 것까지 바꿔버린다

이 3가지를 해결하기 위해 나온 원칙 4개를 파일로 올렸어요.

그리고 이 원칙을 파일로 만들어 GitHub란 코드 저장소에 올렸더니 별점 91,200개를 받았어요.
(출처: github.com/forrestchang/andrej-karpathy-skills)

해당 원칙의 핵심을 알려 드릴게요

1.먼저 확인하고 시작하기

불확실한 게 있으면 일단 시작하지 말고 먼저 물어봐.
"이렇게 이해했는데 맞나요?"처럼. 가정하고 진행하면 나중에 다 뜯어고쳐야 해.

2.단순하게 만들기

요청한 것만 만들어. 부탁 안 한 기능은 추가하지마. 복잡하게 만들수록 나중에 고치기 어려워.

3.딱 필요한 것만 바꾸기

불확실한 게 있으면 일단 시작하지 말고 먼저 물어봐.
"이렇게 이해했는데 맞나요?"처럼. 가정하고 진행하면 나중에 다 뜯어고쳐야 해.

4.완료 기준 알려주기

“만들어줘” 대신 “이렇게 되면 완성이야”를 알려줘
. 예: "로그인 성공하면 메인 화면으로 가고, 실패하면 에러 메시지 나오면 완성"처럼.
기준이 명확할수록 처음부터 원하는 결과가 나와.

하네스 엔지니어링 뜻이 뭐에요?

원래 하네스는 말이나 동물이 길을 잃지 않도록 제어하는

마구(말의 고삐 등)를 뜻하는데요.

위처럼 원칙을 세워서

AI를 제어하는걸 하네스 엔지니어링이라고 해요 💡

AI는 성능이 매우 뛰어나지만,

때로는 사용자의 의도를 오해하거나 너무 성급하게 작업을 하기에

불필요한 질주를 막는 방식인거죠

하네스가있는 말 사진 – Unsplash의 무료 말 이미지

하네스 엔지니어링 방식이 얼마나 효과적일까요?

LangChain 팀이 AI 환경 설정을 개선하는 실험을 했어요.

같은 AI 모델인데 환경 설정을 바꿨더니 이런 결과가 나왔어요.

  • AI 결과 품질: 52.8% → 66.5% 향상 (출처: LangChain Terminal Bench 2.0, 2026)

  • 순위: 30위권 밖 → Top 5 진입

AI 자체를 바꾼 게 아니에요. AI에게 주는 규칙과 환경을 개선했을 뿐이에요.

💡 참고

국내외 IT 기업들도 같은 방식을 씁니다. Stripe는 AI에게 명확한 규칙과 완료 기준을 주는 방식으로 매주 1,000건 이상의 코드 작업을 처리해요. (출처: Stripe 엔지니어링 블로그)

실제로 어떻게 달라지는지 볼게요 - 로그인 기능 구현하기

실제로 Claude.ai에서 규칙을 저장해 바로 하네스 엔지니어링을 적용 해볼게요

1. 아래 내용을 복사 해주세요

▶▶▶Claude.md
# CLAUDE.md

Behavioral guidelines to reduce common LLM coding mistakes. Merge with project-specific instructions as needed.

**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.

## 1. Think Before Coding

**Don't assume. Don't hide confusion. Surface tradeoffs.**

Before implementing:
- State your assumptions explicitly. If uncertain, ask.
- If multiple interpretations exist, present them - don't pick silently.
- If a simpler approach exists, say so. Push back when warranted.
- If something is unclear, stop. Name what's confusing. Ask.

## 2. Simplicity First

**Minimum code that solves the problem. Nothing speculative.**

- No features beyond what was asked.
- No abstractions for single-use code.
- No "flexibility" or "configurability" that wasn't requested.
- No error handling for impossible scenarios.
- If you write 200 lines and it could be 50, rewrite it.

Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.

## 3. Surgical Changes

**Touch only what you must. Clean up only your own mess.**

When editing existing code:
- Don't "improve" adjacent code, comments, or formatting.
- Don't refactor things that aren't broken.
- Match existing style, even if you'd do it differently.
- If you notice unrelated dead code, mention it - don't delete it.

When your changes create orphans:
- Remove imports/variables/functions that YOUR changes made unused.
- Don't remove pre-existing dead code unless asked.

The test: Every changed line should trace directly to the user's request.

## 4. Goal-Driven Execution

**Define success criteria. Loop until verified.**

Transform tasks into verifiable goals:
- "Add validation" → "Write tests for invalid inputs, then make them pass"
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
- "Refactor X" → "Ensure tests pass before and after"

For multi-step tasks, state a brief plan:
```
1. [Step] → verify: [check]
2. [Step] → verify: [check]
3. [Step] → verify: [check]
```

Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.

---

**These guidelines are working if:** fewer unnecessary changes in diffs, fewer rewrites due to overcomplication, and clarifying questions come before implementation rather than after mistakes.

2. Claude 지침에 복사한 내용을 붙여넣어주세요

프로필 → 설정 → 일반 → Claude 지침

3. 이제 Claude에게 질문을 해보세요

하네스 엔지니어링 적용 전

결과물을 보면 나에게 묻지 않고 바로 만들기 시작합니다.

하네스 엔지니어링 적용 후

작업전 확인하고 만들어서, 처음부터 원하는 결과를 낼 수 있어요.

더 개선하고 싶다면? 가이드라인 주기

설정 맨 밑에 내가 원하는 내용을 자유롭게 추가해 가이드라인을 주면 돼요.

## Project-Specific Guidelines

- 디자인 색상은 무조건 초록색 계열로 해줘, 파란색 쓰지 마
- 버튼은 크고 둥글게, 모바일에서 손가락으로 누르기 편하게
- 한국어 사용자가 쓰는 앱이야, 텍스트는 한국어로

요즘 AI 성능은 매일매일 기하급수적으로 성장하고 있어요.

결국 하네스 엔지니어링은 AI를 믿는 게 아니라,

“AI 실수를 줄이는 환경을 만드는 것” 이라고 생각해요

꼭 Claude.md 파일을 만들지 않아도

AI의 실수를 줄이는 방향으로 대화를 시작 해보세요 😊

⭐ 글 핵심 30초만에 요약보기

  1. AI는 내 기준을 모른다 → 규칙을 파일에 써두면 매번 자동으로 읽는다

  1. 4가지 원칙: 먼저 확인 → 단순하게 → 딱 필요한 것만 → 완료 기준 알려주기

  2. 가장 강력한 건 4번째 — "만들어줘" 대신 "이렇게 되면 완성"을 알려주기

0