AI한테 코드 시킬 때 안 막히는 질문법: Claude Code와 Cursor에서 통하는 작업 지시 순서

AI 코딩 에이전트가 자꾸 엉뚱한 파일을 고치거나 중간에 멈춘다면, 질문이 짧아서가 아니라 작업 범위와 검증 기준이 빠졌을 가능성이 큽니다. 핵심은 “이 기능 만들어줘”가 아니라 “어느 파일에서, 어떤 상태를, 어떤 결과로 바꾸고, 어떻게 확인할지”를 같이 주는 것입니다.

지금 작업 중인 이슈를 4줄 질문 틀에 맞춰 다시 써보고, AI에게 먼저 변경 계획부터 요청해보세요.

Claude Code, Cursor, ChatGPT 모두 코드 작성은 잘하지만 맥락을 추측하게 만들면 비용과 시간이 늘어납니다. 아래 방식대로 질문하면 처음부터 완벽하진 않아도 되돌리는 횟수가 줄고, 리뷰할 지점이 훨씬 선명해집니다.

바로 써볼 다음 행동

아래 4줄 질문 틀을 복사해 지금 작업 중인 이슈에 붙여 넣어보세요.

프롬프트 틀 확인하기

AI 코딩이 막히는 진짜 이유

초보자만 이런 문제를 겪는 게 아닙니다. 익숙한 개발자도 “로그인 붙여줘”, “버그 고쳐줘”처럼 말하면 AI가 프로젝트 구조를 과하게 해석합니다.

특히 Next.js, Supabase, Prisma, Tailwind처럼 파일이 여러 곳에 흩어진 스택에서는 작은 지시 차이가 결과를 크게 바꿉니다. AI는 내 의도를 아는 동료가 아니라, 내가 준 단서 안에서 움직이는 작업자에 가깝습니다.

막히지 않는 4줄 질문 틀

아래 순서로 쓰면 됩니다. 길게 쓸 필요는 없지만, 이 네 가지는 빠지지 않는 편이 좋습니다.

목표: 사용자가 결제 완료 후 /dashboard로 이동하게 해줘.
현재 상태: Next.js App Router, 결제 콜백은 app/api/stripe/route.ts에 있음.
수정 범위: 필요한 파일을 먼저 제안하고, 승인 후 코드 변경해줘.
검증: npm run lint와 결제 성공/실패 케이스를 어떻게 확인할지 알려줘.

여기서 중요한 문장은 “필요한 파일을 먼저 제안하고, 승인 후 코드 변경”입니다. 에이전트가 한 번에 여러 파일을 바꾸기 전에 설계를 말하게 만들면, 엉뚱한 리팩터링을 줄일 수 있습니다.

Claude Code, Cursor, ChatGPT에 질문하는 방식은 조금 다르다

같은 요청이라도 도구마다 강점이 다릅니다. 저는 코드베이스 안에서 실제 수정이 필요한 일은 Claude Code나 Cursor 쪽에 맡기고, 구조를 비교하거나 설계 선택지를 정리할 때는 ChatGPT를 먼저 쓰는 흐름을 추천합니다.

상황 추천 도구 질문 포인트 주의할 점
기존 저장소에서 기능 추가 Claude Code 먼저 관련 파일을 찾고 변경 계획을 쓰게 하기 한 번에 대규모 수정 요청은 피하기
특정 파일 일부 수정 Cursor 파일·함수·선택 영역을 명확히 지정 컨텍스트에 안 넣은 파일은 모를 수 있음
아키텍처 비교와 설계 ChatGPT 선택지, 장단점, 결정 기준을 요구 레포 내부 세부사항은 별도로 제공해야 함
반복 자동화 워크플로 n8n 또는 GitHub Actions 트리거와 실패 시 알림 조건을 먼저 정의 비밀키 노출 여부를 확인

Claude Code에는 “계획 먼저, 변경은 나중”이 잘 맞는다

Claude Code는 저장소를 탐색하면서 작업하는 데 강합니다. 그래서 처음부터 “고쳐줘”라고 하기보다 “관련 파일을 찾고, 변경 계획을 5줄로 요약한 뒤 진행 여부를 물어봐”라고 시키는 편이 안전합니다.

예를 들어 인증 오류를 고칠 때는 이렇게 묻습니다.

로그인 후 세션이 유지되지 않는 문제를 조사해줘.
먼저 auth 관련 파일과 쿠키 설정 위치를 찾아 목록으로 보여줘.
원인 후보를 2~3개로 좁힌 다음, 가장 작은 수정안부터 제안해줘.
아직 코드는 바꾸지 마.

이렇게 하면 AI가 코드를 작성하기 전에 “무엇을 보고 있는지” 드러납니다. 그 단계에서 잘못 짚었다면 바로 방향을 바꿀 수 있습니다.

Cursor에는 선택 영역과 완료 조건을 같이 준다

Cursor는 에디터 안에서 빠르게 고치는 데 좋습니다. 대신 선택한 코드 주변 맥락에 강하게 반응하므로 “이 함수만 바꿔줘”, “API 응답 타입은 유지해줘”처럼 경계를 잘라주는 게 좋습니다.

추천 문장은 짧습니다. “선택한 함수에서 로딩 상태 처리만 추가해줘. 컴포넌트 구조와 props 이름은 바꾸지 말고, 에러 메시지는 한국어로 보여줘.” 이 정도만 줘도 결과가 꽤 달라집니다.

가상의 예시: 구독 결제 후 대시보드 이동 만들기

작은 SaaS를 만든다고 가정해보겠습니다. 요구사항은 “Stripe 결제가 성공하면 사용자를 대시보드로 보내고, 실패하면 다시 가격 페이지로 보내기”입니다.

나쁜 질문은 “Stripe 결제 붙여줘”입니다. 이 요청은 API 라우트, 웹훅, 프론트 버튼, 환경변수, DB 업데이트까지 범위가 커져서 AI가 마음대로 설계할 여지가 많습니다.

더 나은 질문은 이렇습니다.

목표: Stripe Checkout 성공 후 /dashboard, 취소 후 /pricing으로 이동.
현재: Next.js App Router 사용, 결제 버튼은 components/PricingButton.tsx.
요청: 먼저 필요한 변경 파일을 말하고, Checkout Session 생성 코드만 작성해줘.
제외: 웹훅과 DB 구독 상태 업데이트는 이번 작업에서 제외.
검증: 로컬에서 확인할 환경변수와 테스트 순서를 알려줘.

핵심은 이번 작업에서 제외할 것을 적는 겁니다. AI에게 일을 잘 시키는 사람은 “할 일”만 말하지 않고 “하지 말 일”도 같이 적습니다.

추천 대상별로 이렇게 쓰면 된다

혼자 사이드프로젝트를 만드는 사람

처음부터 에이전트에게 전체 앱을 맡기기보다 화면 하나, API 하나, 버그 하나로 쪼개세요. Claude Code로 변경 계획을 받고 Cursor에서 세부 코드를 다듬는 조합이 부담이 적습니다.

기획자·노코드 빌더가 코드 도움을 받을 때

전문 용어를 몰라도 괜찮습니다. 대신 화면 캡처 설명, 현재 에러 메시지, 원하는 동작을 정확히 적으세요. “빨간 에러가 나요”보다 “회원가입 버튼을 누르면 콘솔에 401이 뜨고, Supabase users 테이블에는 행이 생기지 않음”이 훨씬 좋습니다.

자주 하는 실수 하나만 고치면 결과가 달라진다

가장 흔한 실수는 AI가 낸 코드를 바로 붙여 넣고, 에러가 나면 다시 전체 코드를 던지는 방식입니다. 이렇게 하면 맥락이 계속 흐려집니다.

대신 에러가 나면 “내가 실행한 명령어, 전체 에러 로그 중 첫 번째 원인, 방금 바꾼 파일”만 묶어서 다시 물어보세요. 특히 TypeScript 에러는 마지막 줄보다 처음 깨진 타입이 더 중요할 때가 많습니다.

FAQ

Q. 프롬프트를 영어로 써야 결과가 더 좋은가요?

필수는 아닙니다. 다만 라이브러리 이름, 에러 메시지, 함수명은 원문 그대로 두는 게 좋습니다. 설명은 한국어로 해도 Claude Code, Cursor, ChatGPT 모두 충분히 이해합니다.

Q. 한 번에 전체 기능을 맡겨도 되나요?

프로토타입 단계에서는 가능하지만, 실제 서비스 코드라면 쪼개는 편이 안전합니다. “파일 찾기 → 변경 계획 → 작은 수정 → 테스트” 순서가 리뷰하기 쉽습니다.

Q. AI가 자꾸 다른 파일까지 수정하면 어떻게 하나요?

질문에 “수정 허용 파일”과 “수정 금지 파일”을 명시하세요. Git diff를 먼저 보여달라고 하면 원치 않는 변경을 발견하기 쉽습니다.

오늘 바로 할 일은 간단합니다. 지금 막힌 작업 하나를 골라 목표, 현재 상태, 수정 범위, 검증 방법 네 줄로 다시 써보세요. AI 코딩은 질문을 길게 하는 게임이 아니라, 추측할 공간을 줄이는 작업에 가깝습니다.

관련 링크

글쓴이 용기

AI 코딩 에이전트로 직접 빌드하는 개발자. Claude Code·Codex 실사용 후기와 빌더 일지를 씁니다.

지식창고