2026. 3. 14. 12:38ㆍAI
🤖 더 자세하게 쓰면, 더 잘 할 거야.
Claude Code로 작업하다 보면, 자연스럽게 이런 믿음이 생기지 않으셨나요?
프롬프트에 변수명, 파일 경로, 에러 처리 방식, 코드 스타일까지... 가능한 모든 것을 명시합니다. 정성스럽게 한 줄 한 줄 적어 내려가면서 이렇게 생각하죠.
"이렇게까지 상세하게 써줬으면 완벽하게 해주겠지?"
그런데 결과를 보면... 의도한 것과 미묘하게 다릅니다. 아니, 때로는 완전히 다른 방향으로 가버리기도 하죠.
더 자세하게 설명했는데, 왜 결과가 더 엉뚱해졌을까?
공부 많이된다.
자기전에 생각 많이 날거야.
이 글은 Claude Code의 설정 커맨드들을 실험하면서, AI에게 지시하는 법을 AI로부터 배우게 된 경험기입니다.
🚀 알고 쓰면 달라지는 Claude Code 설정 4가지
Claude Code에는 사용 경험을 바꿔주는 설정 커맨드들이 있습니다.
본격적인 이야기에 들어가기 전에, 오늘 다룰 4가지를 먼저 훑어보겠습니다.
| 커맨드 | 한 줄 설명 | 활용 아이디어 | 키워드 |
| /effort | Claude의 사고 깊이를 조절 | 복잡한 설계(high) ↔ 단순 수정(low) | 사고 깊이 |
| /voice | 음성으로 Claude에게 지시 | 모바일, 핸즈프리 환경 | 음성 입력 |
| /context | 대화에 파일·URL 등 맥락 추가 | 관련 파일을 한 번에 공유 | 맥락 관리 |
| /loop | 커맨드를 주기적으로 반복 실행 | 테스트 모니터링, 빌드 감시 | 자동화 |
잠깐 짚어보면, /context는 관련 파일이나 URL을 대화에 추가해서 Claude가 더 정확한 맥락 위에서 작업하게 해주는 커맨드입니다. 그리고 /loop은 아직 많이 알려지지 않았지만, 예를 들어 /loop 5m /test라고 입력하면 5분마다 테스트를 자동으로 실행해 줍니다. 로컬에서 CI처럼 변경 사항을 감시하고 싶을 때 유용하죠.
이 중에서 제가 가장 많이 실험하고, 가장 큰 깨달음을 얻은 건 /effort였습니다.
🤔 effort를 max로 올리면 당연히 좋은 거 아니야?
/effort는 Claude가 응답을 생성할 때 얼마나 깊이 사고할지를 조절하는 설정입니다.
/effort low # 빠르게 간단한 답변
/effort medium # 기본값 — 적당한 깊이
/effort high # 더 깊이 생각
/effort max # 최대한 깊이, 확장된 사고
처음 Claude Code를 사용할 때, 기본값은 medium이었습니다.
그리고 저는 항상 프롬프트를 상세하게 작성하는 편이었죠. 파일 경로, 사용할 라이브러리, 에러 처리 방식, 반환 타입... 가능한 모든 것을 명시했습니다.
이 방식은 medium에서 꽤 잘 동작했어요. 지시한 대로 코드가 나오고, 의도를 벗어나는 경우가 적었습니다.
자연스럽게 이런 생각이 들었습니다.
"사고 깊이를 max로 올리면, 더 좋은 결과가 나오지 않을까?"
그래서 /effort max를 설정하고, 평소처럼 상세한 프롬프트를 작성했습니다.
결과는... 예상과 정반대였습니다.
요청하지 않은 에러 핸들링을 추가하고, 파일 구조를 임의로 변경하고, 때로는 요구사항을 "더 나은 방향"이라며 전혀 다른 방식으로 구현해 버리는 경우가 잦아졌습니다.
"더 깊이 생각하라고 했더니, 내 의도까지 넘어서 자기 판단을 밀어붙이는 거잖아?"
💡 상세 지시가 독이 될 때
이 문제를 겪고 나서, 반대로 접근해 봤습니다. max 상태에서 프롬프트를 오히려 간결하게 바꿔본 거죠.
❌ 상세 지시 (max에서 문제가 된 방식)
UserProfile 컴포넌트를 만들어줘.
- 파일 위치: src/components/UserProfile.tsx
- props: userId (string 타입)
- useQuery로 /api/users/${userId} 엔드포인트 호출
- 로딩 중: Skeleton 컴포넌트 렌더링
- 에러 시: toast 알림 + fallback UI
- 성공 시: 이름, 이메일, 프로필 이미지를 카드 형태로 표시
- 스타일: Tailwind CSS 사용
- 다크모드 지원 필수
- 반응형 레이아웃 적용
✅ 간결한 맥락 (max에서 잘 작동한 방식)
UserProfile 컴포넌트가 필요해.
userId로 유저 정보를 패칭해서 카드로 보여주면 돼.
기존 프로젝트 패턴 따라서 만들어줘.
구현 중 애매한 부분이 있으면 질문해줘.
놀랍게도, 간결한 맥락만 전달했을 때 더 좋은 결과가 나왔습니다.
왜 이런 일이 생길까요?
max effort의 Claude는 이미 충분한 사고력을 갖고 있습니다. 프로젝트의 기존 패턴을 분석하고, 코드 스타일을 파악하고, 최적의 구현 방향을 스스로 판단할 능력이 있죠.
그런데 여기에 세세한 지시까지 쏟아부으면, Claude는 "나의 판단"과 "사용자의 지시" 사이에서 충돌을 일으킵니다. 둘 다 충족시키려다 보니, 결과가 의도와 어긋나는 거죠.
이건 사람에게 일을 시키는 것과 똑같은 원리입니다.
| 상황 | 사람 비유 | Claude /effort |
| 하나하나 상세히 알려줘야 잘 하는 경우 | 주니어 개발자에게 업무 지시 | medium + 상세 지시 ✅ |
| 맥락만 주면 알아서 잘 하는 경우 | 시니어 개발자에게 방향 제시 | max + 간결한 맥락 ✅ |
| 세세하게 간섭하면 오히려 방해 | 시니어에게 주니어 대하듯 지시 | max + 상세 지시 ❌ |
그렇다면 최적의 조합은 뭘까요?
여러 조합을 실험하면서 제가 도달한 결론은 이겁니다:
어떤 effort 수준이든, 애매한 부분은 Claude에게 질문하게 만들어라.
사실상 개발자의 의도가 정확히 녹아들게 하려면, 어떤 명령이건 간에 애매한 부분이나 확실한 의사결정이 필요한 경우는 사용자에게 질문하고, 답변을 기반으로 작업하도록 지시하는 것이 가장 효과적이었습니다.
저는 프로젝트의 CLAUDE.md에 이런 규칙을 추가해두고 있습니다:
## 작업 규칙
- 구현 방향이 2가지 이상 가능할 때는 반드시 사용자에게 질문한 후 진행
- 확실하지 않은 의사결정은 임의로 판단하지 말고 질문으로 확인
- 요구사항이 모호하면 해석하지 말고 명확히 물어볼 것
이렇게 하면 Claude가 스스로 판단해서 벗어나는 것을 방지하면서도, 필요한 곳에서는 깊이 있는 사고를 활용할 수 있습니다.
그래서 지금 나의 세팅은?
저는 현재 effort: high로 설정하고 있습니다.
high에서는 평소처럼 상세히 작업 내용을 전달하면서도, medium보다 확실히 좋은 결과가 나오는 것을 체감하고 있어요. max처럼 과도하게 자기 판단을 밀어붙이지도 않고요.
| effort 수준 | 상세 지시 | 간결한 맥락 | 체감 만족도 |
| medium | ✅ 지시한 대로 동작 | ⚠️ 맥락 부족 시 놓침 | ⭐⭐⭐ |
| high | ✅ 가장 좋은 결과 | ✅ 잘 동작 | ⭐⭐⭐⭐ |
| max | ❌ 과잉 해석/확장 | ✅ 잘 동작 | ⭐⭐⭐ |
high는 마치 "내 말을 잘 듣되, 필요하면 한 수 더 생각해주는" 적절한 밸런스를 제공한다고 생각하는 개인적으로 가장 만족하는 세팅이에요.
✨ 6일 전에 던진 아이디어가 현실이 됐다
여기서 한 가지 재미있는 이야기를 하려 합니다.
이전 포스팅 🔗[Claude Code: remote-control] 이제는 때와 장소를 가리지 않는 바이브 코딩에서, 저는 이런 아이디어를 던졌었습니다.
"개발자용 음성 인터페이스 앱을 누군가 만든다면, 혹은 직접 만들어 본다면 Remote Control의 활용도가 비약적으로 올라갈 거라 생각합니다."
범용 STT로 음성을 텍스트로 바꾸고, LLM이 개발 맥락을 이해해서 코드 용어로 변환하는 2단계 파이프라인까지 상상했었죠.
[음성 입력]
↓
[범용 STT] → "src 컴포넌트 폴더에 유저 프로필 컴포넌트 만들어줘"
↓
[LLM 후처리] → "src/components 폴더에 UserProfile 컴포넌트 만들어줘"
↓
[Remote Control 세션에 전송]
그 포스팅을 작성한 날이 2026년 2월 25일이었습니다.
그리고 불과 6일 뒤, 2026년 3월 3일에 Anthropic이 /voice를 출시했습니다.
/voice
이 한 줄이면 Claude Code가 음성 입력 모드로 전환됩니다. 타이핑 대신 말로 지시할 수 있게 된 거죠.
이전 글에서 상상했던 그 시나리오가 현실이 됐습니다. Remote Control로 모바일에서 세션을 이어가면서, /voice로 음성 지시까지. 소파에 누워서 "UserProfile 컴포넌트 만들어줘"라고 말하는 그 장면이 진짜가 된 셈이에요.
물론 제가 상상했던 "개발 도메인에 특화된 STT 후처리 파이프라인"과 정확히 같지는 않습니다. /voice는 Claude Code에 내장된 음성 입력 기능이고, 별도의 개발자 전용 용어 변환 레이어가 있는 건 아니니까요.
하지만 생각해 보면, Claude 자체가 LLM이기 때문에 "유즈 쿼리"라고 말해도 맥락상 useQuery를 이해할 수 있습니다. 별도의 후처리 레이어가 필요 없는 셈이죠. 어쩌면 제가 상상했던 것보다 더 깔끔한 해법인지도 모릅니다.
✍🏻 마치며...
"AI에게 지시하는 법을 AI에게 배웠다" 이 문장이 이번 포스팅의 핵심입니다.
/effort를 실험하면서 깨달은 건, 결국 이건 커뮤니케이션의 본질이라는 것입니다.
사람에게 일을 시킬 때도, 상대의 역량에 맞춰 소통 방식을 조절합니다. 주니어에게는 상세하게, 시니어에게는 방향만 제시하고, 중간 경력의 동료에게는 맥락을 충분히 공유하면서 자율성을 부여하죠.
AI도 마찬가지였습니다. AI에게 지시만 하는 것이 아니라, 함께 일하는 맥락을 만들어줘야 합니다. 맥락을 공유하고, 불확실한 부분은 질문하게 만들고, 적절한 자율성을 부여하는 것. 이건 좋은 팀워크의 조건과 정확히 같습니다.
그리고 /voice의 등장은, 이런 "함께 일하는" 경험이 점점 더 자연스러워지고 있다는 신호라고 생각합니다. 키보드로 명령을 내리는 것에서, 목소리로 대화하는 것으로. 지시에서 협업으로.
저도 아직 최적의 방법을 찾아가는 중이지만, 한 가지 확실한 건 있습니다. AI에게 더 잘 지시하는 법을 고민하는 건, 결국 사람과의 커뮤니케이션을 더 잘 하는 법을 고민하는 것과 같다는 것.
이 글이 Claude Code를 사용하시는 분들, 그리고 AI 코딩 에이전트와의 워크플로우를 고민하시는 분들에게 조금이나마 도움이 되었으면 좋겠습니다.
'AI' 카테고리의 다른 글
| [ Claude Code: remote-control ] 이제는 때와 장소를 가리지 않는 바이브 코딩 (0) | 2026.02.25 |
|---|---|
| [ GEO ] "내 콘텐츠, AI에게만 보여줄까?" 크롤링 제어와 Perplexity 공략법 (0) | 2026.02.16 |
| [ GEO ] 검색이 사라져가는 시대, 아직도 SEO? (2) | 2026.02.07 |