AI 코딩은 질문보다 삭제가 먼저다, 초보자 프롬프트 작성법
AI 코딩 도구에 긴 요청을 입력했는데도 엉뚱한 파일을 수정하거나, 방금 고친 기능을 다시 망가뜨린 경험이 있나요? 초보자는 흔히 설명이 부족해서 생긴 문제라고 생각해 프롬프트를 더 길게 씁니다. 하지만 실제로는 불필요한 정보가 너무 많아서 작업의 초점이 흐려진 경우가 적지 않습니다.
좋은 AI 코딩 프롬프트는 모든 것을 한 번에 설명하는 문서가 아닙니다. 지금 해결할 문제와 건드리지 말아야 할 범위를 분리하고, 결과를 확인할 기준까지 전달하는 작은 작업 지시서에 가깝습니다. 이 원칙을 이해하면 프로그래밍 용어가 익숙하지 않은 입문자도 훨씬 안정적으로 AI와 코드를 만들 수 있습니다.
AI 코딩 프롬프트가 길수록 정확하다는 오해
AI가 읽는 정보와 이해하는 정보는 다릅니다
AI 코딩 도구는 입력한 문장뿐 아니라 열린 파일, 선택한 코드, 프로젝트 규칙, 이전 대화 등을 함께 참고할 수 있습니다. 이를 넓은 의미에서 컨텍스트라고 부릅니다. 컨텍스트가 많으면 무조건 유리해 보이지만, 현재 작업과 무관한 정보가 섞이면 어떤 요구가 우선인지 판단하기 어려워집니다.
예를 들어 로그인 버튼의 색상만 바꾸고 싶은데 회원가입 정책, 데이터베이스 구조, 배포 방식까지 한 프롬프트에 넣는다고 해보겠습니다. AI는 단순한 스타일 변경 대신 인증 구조까지 검토하거나 여러 파일을 수정할 수 있습니다. 사람에게 일을 맡길 때도 관련 없는 회의 자료를 수십 장 건네면 핵심을 놓치기 쉬운 것과 같습니다.
좋은 프롬프트의 기준은 글자 수가 아니라 판단에 필요한 정보의 밀도입니다. 아래 네 요소가 명확하다면 짧은 요청도 충분히 강력합니다.
- 목표: 사용자가 최종적으로 무엇을 할 수 있어야 하는지 적습니다.
- 현재 증상: 오류 메시지나 기대와 다른 동작을 그대로 기록합니다.
- 수정 범위: 변경할 파일과 변경하지 않을 영역을 구분합니다.
- 완료 조건: 테스트, 화면 상태, 응답 값처럼 확인 가능한 기준을 제시합니다.
프롬프트를 다 쓴 뒤 한 문장씩 보며 “이 정보가 지금 코드 선택에 영향을 주는가?”라고 물어보세요. 답이 아니라면 우선 삭제하고 필요할 때 추가하는 편이 안전합니다.
명령보다 먼저 준비할 세 가지 기초 정보
목적, 위치, 증상을 한 줄씩 분리합니다
초보자가 가장 자주 쓰는 요청은 “로그인 기능 만들어줘”, “이 오류 고쳐줘”처럼 짧고 포괄적입니다. 문제는 AI가 어떤 기술을 쓰는지, 관련 코드가 어디 있는지, 정상 동작이 무엇인지 추측해야 한다는 데 있습니다. 추측이 많아질수록 생성 속도는 빨라 보여도 수정 횟수와 검증 비용은 늘어납니다.
먼저 목적을 사용자 행동으로 바꿔 적어보세요. “로그인 기능 구현”보다 “이메일과 비밀번호를 입력해 로그인하면 대시보드로 이동하고, 실패하면 입력창 아래에 오류 문구를 표시”가 선명합니다. 그다음 관련 파일 위치와 현재 증상을 붙이면 AI가 조사할 범위를 좁힐 수 있습니다.
오류 메시지는 요약하지 말고 가능한 한 원문 그대로 제공하는 것이 좋습니다. 다만 API 키, 비밀번호, 고객 정보, 내부 주소는 반드시 제거해야 합니다. 코드 보안의 기본 개념이 낯설다면 지식백과의 코드 보안 설명을 참고해 입력 가능한 정보와 외부에 노출하면 안 되는 정보를 구분해두는 편이 좋습니다.
- 목적 한 줄: 사용자가 수행할 행동과 성공했을 때의 화면을 씁니다.
- 위치 한 줄: 관련 파일명, 함수명 또는 화면 경로를 알려줍니다.
- 증상 한 줄: 재현 순서와 실제 결과를 적습니다.
- 제약 한 줄: 사용 중인 언어, 프레임워크, 변경 금지 영역을 지정합니다.
파일 전체보다 관련 조각이 유용할 때가 많습니다
프로젝트 전체를 무작정 첨부하기보다 오류가 난 함수, 호출하는 코드, 관련 타입 정의를 먼저 보여주세요. 무엇이 관련 있는지 모르겠다면 AI에게 곧바로 수정을 시키지 말고 “원인을 찾기 위해 먼저 확인할 파일을 세 개 이내로 제안해줘”라고 요청할 수 있습니다. 이 한 단계가 불필요한 대규모 변경을 줄여줍니다.
초보자도 바로 쓰는 프롬프트 네 칸 구조
상황·과제·제약·검증 순서로 작성합니다
복잡한 프롬프트 공식부터 외울 필요는 없습니다. 상황, 과제, 제약, 검증이라는 네 칸만 채우면 대부분의 작은 개발 작업을 명확하게 전달할 수 있습니다. 각 칸은 한두 문장으로 시작하고, AI가 질문을 하면 필요한 내용만 보충하세요.
예를 들어 할 일 목록 웹앱에서 완료 버튼이 작동하지 않는 상황이라면 다음처럼 쓸 수 있습니다. “상황: React로 만든 할 일 목록이며 TodoItem.jsx에서 완료 버튼을 누르면 화면은 바뀌지만 새로고침 후 원래 상태로 돌아옵니다. 과제: 상태가 API에 저장되지 않는 원인을 찾아 최소 범위로 수정하세요. 제약: CSS와 API 응답 형식은 바꾸지 마세요. 검증: 완료 처리 후 새로고침해도 상태가 유지되는 테스트를 추가하세요.”
이 구조의 장점은 AI가 무엇을 바꿀지뿐 아니라 어디까지 바꾸면 안 되는지 알게 된다는 점입니다. 특히 “최소 범위로 수정”, “새 라이브러리 추가 전 이유 설명”, “먼저 계획만 제시” 같은 문장은 초보자가 예상하지 못한 구조 변경을 막는 데 도움이 됩니다.
| 구성 | 적을 내용 | 피해야 할 표현 |
|---|---|---|
| 상황 | 기술 환경과 현재 동작 | 그냥 안 됩니다 |
| 과제 | 이번에 해결할 문제 하나 | 전체를 완벽하게 고쳐줘 |
| 제약 | 변경 금지 파일과 허용 범위 | 알아서 좋은 방식으로 |
| 검증 | 테스트 또는 확인 절차 | 잘 되는지 확인해줘 |
- 기능을 처음 만들 때는 구현 전에 파일별 변경 계획을 요청합니다.
- 오류를 고칠 때는 가능한 원인과 확인 방법부터 요청합니다.
- 생성된 코드는 변경 이유를 초보자 눈높이로 설명하게 합니다.
- 한 요청에는 핵심 작업을 하나만 넣고 후속 작업은 대화를 나눕니다.
“코드를 바로 작성하지 말고, 먼저 이해한 요구사항과 수정 예정 파일을 보여줘”라는 문장은 AI 코딩의 가장 값싼 안전장치입니다.
한 번에 만들지 말고 작은 작업으로 나누는 이유
회원가입 화면도 네 번의 요청으로 나눌 수 있습니다
AI에게 “회원가입 페이지를 완성해줘”라고 말하면 화면, 입력 검증, 서버 통신, 오류 처리, 테스트가 한꺼번에 생성될 수 있습니다. 결과가 작동하면 편리하지만 문제가 생겼을 때 어느 단계에서 잘못됐는지 찾기 어렵습니다. 초보자일수록 생성된 코드의 양보다 한 번에 검증할 수 있는 변화의 크기를 관리해야 합니다.
첫 요청에서는 입력창과 버튼만 만들고 화면을 확인합니다. 두 번째 요청에서는 이메일 형식과 비밀번호 길이 검증을 추가합니다. 세 번째 요청에서는 서버 API를 연결하며, 네 번째 요청에서 실패 메시지와 테스트를 만듭니다. 각 단계가 끝날 때 실행해보면 오류가 발생한 구간을 바로 좁힐 수 있습니다.
로 코드처럼 시각적 구성과 최소한의 코딩을 결합하는 접근도 단계 분리의 중요성은 같습니다. 관련 개념은 로 코드 용어 설명에서 확인할 수 있습니다. 도구가 코드를 대신 만들어주더라도 데이터가 어디에서 오고, 버튼이 어떤 동작을 호출하며, 실패 시 무엇을 보여줄지는 사용자가 정의해야 합니다.
- 화면 뼈대: 입력 요소와 버튼을 배치하고 브라우저에서 확인합니다.
- 입력 규칙: 빈 값, 잘못된 이메일, 짧은 비밀번호를 처리합니다.
- 데이터 연결: API 요청과 성공 시 이동 경로를 구현합니다.
- 실패 처리: 네트워크 오류와 중복 계정 메시지를 구분합니다.
- 검증 코드: 정상·실패 사례를 자동 테스트로 남깁니다.
작업을 나누면 비용과 대기 시간도 통제됩니다
AI 코딩 서비스는 무료 사용량, 월 구독, 요청량 또는 모델별 사용료 등 과금 방식이 서로 다르고 수시로 바뀔 수 있습니다. 긴 컨텍스트와 반복 생성은 사용 한도를 더 빨리 소모할 수 있으므로 가입 화면에서 현재 요금과 제한을 직접 확인해야 합니다. 초보자에게는 가장 비싼 요금제보다 작은 요청을 보내고 결과를 검증하는 습관이 먼저입니다.
- 무료 플랜에서는 한 기능을 작은 단위로 나눠 요청 낭비를 줄입니다.
- 유료 전환 전에는 월 요청 제한과 고급 모델 사용 조건을 확인합니다.
- 팀 요금제는 코드 학습 정책, 관리자 제어, 로그 보관 조건도 살펴봅니다.
- 같은 오류를 반복 질문하기 전에 실행 결과와 새 오류 메시지를 갱신합니다.
AI가 준 코드를 읽지 못할 때 생기는 질문들
입문자가 자주 막히는 상황에 답합니다
Q. 프로그래밍을 전혀 몰라도 AI 코딩을 시작할 수 있나요?
간단한 화면이나 개인용 자동화는 시작할 수 있습니다. 다만 생성된 코드가 안전하고 정확한지 판단하려면 변수, 함수, 조건문, 요청과 응답, 버전 관리 정도는 배워야 합니다. AI를 교사처럼 활용해 코드 한 줄마다 역할을 물어보되, 설명을 들었다고 검증이 끝난 것은 아니라는 점을 기억하세요.
Q. 첫 답변이 틀리면 새 대화를 시작해야 하나요?
문제를 제대로 이해했지만 구현에서 작은 실수를 했다면 같은 대화에서 오류 메시지와 실행 결과를 추가하는 편이 좋습니다. 반대로 AI가 다른 프레임워크를 가정했거나 요구사항이 여러 차례 바뀌어 대화가 뒤엉켰다면 새 대화에 확정된 정보만 옮기는 것이 효율적입니다.
Q. 코드를 전부 붙여 넣어도 괜찮나요?
공개 예제나 개인 연습 프로젝트라도 비밀 키가 포함됐는지 먼저 확인해야 합니다. 회사 저장소는 조직의 보안 정책과 도구의 데이터 처리 조건을 확인하지 않은 채 외부 서비스에 입력하면 안 됩니다. 보안 용어를 더 확인하려면 코드 보안 요약 자료도 참고할 수 있습니다.
- Q. AI의 설명이 너무 어렵다면? “중학생도 이해할 비유와 실행 순서로 설명해줘”라고 난이도를 지정합니다.
- Q. 여러 오류가 동시에 보인다면? 실행을 막는 첫 번째 오류부터 하나씩 해결합니다.
- Q. 새 라이브러리를 추천한다면? 기존 기능으로 해결할 수 없는 이유와 유지보수 상태를 먼저 묻습니다.
- Q. 테스트가 통과하면 안전한가요? 테스트가 다룬 경우만 확인된 것이므로 빈 값, 권한, 실패 응답도 점검합니다.
답을 받았을 때 꼭 되물어야 할 내용
AI가 코드를 제시하면 “어떤 파일이 왜 바뀌었는지”, “기존 기능에 영향을 줄 가능성은 무엇인지”, “직접 확인할 명령과 화면은 무엇인지”를 물어보세요. 이 질문들은 코드를 무조건 신뢰하는 대신 변경 내용을 이해하게 만듭니다. 특히 삭제된 코드와 새 의존성이 있다면 그 이유를 별도로 확인해야 합니다.
- 변경된 파일 목록을 요청합니다.
- 각 변경의 목적을 한 문장으로 설명하게 합니다.
- 실패할 수 있는 경계 사례를 세 가지 제안받습니다.
- 직접 실행할 테스트 명령과 예상 결과를 확인합니다.
지금 메모장에 첫 작업 지시서 네 줄을 써보세요
코드 생성 없이 요구사항만 만드는 연습
처음부터 거대한 앱을 만들 필요는 없습니다. 현재 작업 중인 프로젝트가 없다면 “버튼을 누르면 숫자가 1씩 증가하는 웹페이지”처럼 결과를 눈으로 확인할 수 있는 기능을 고르세요. 아직 AI 도구를 열지 말고 메모장이나 문서에 상황, 과제, 제약, 검증을 각각 한 줄로 씁니다.
예시는 이렇습니다. “상황: HTML, CSS, JavaScript 파일이 하나씩 있는 빈 연습 프로젝트입니다. 과제: 화면 중앙에 숫자와 증가 버튼을 만들고 버튼을 누를 때마다 숫자를 1 올립니다. 제약: 외부 라이브러리를 추가하지 말고 기존 세 파일만 사용합니다. 검증: 첫 화면은 0이며 버튼을 세 번 누르면 3이 표시되어야 합니다.” 이 정도면 기술 선택과 완료 상태가 충분히 명확합니다.
이제 AI에게 구현부터 요청하지 말고 “이 요구사항에서 모호한 점을 최대 세 개만 질문해줘”라고 덧붙이세요. 질문에 답한 뒤 변경 계획을 받고, 계획이 세 파일의 역할과 일치하는지 확인한 다음에만 코드를 생성합니다. 이 순서를 한 번 경험하면 프롬프트가 명령문이 아니라 AI와 합의하는 작업 명세라는 감각을 익힐 수 있습니다.
- 메모장에 상황·과제·제약·검증 네 줄을 작성합니다.
- 비밀번호, API 키, 개인정보가 없는지 확인합니다.
- AI에게 모호한 점을 세 개 이내로 질문하게 합니다.
- 수정할 파일과 변경 이유를 계획으로 먼저 받습니다.
- 코드를 생성한 뒤 직접 실행해 예상 결과와 대조합니다.
성공했다면 조건 하나만 바꿔봅니다
숫자가 정상적으로 증가하면 다음 요청에서 감소 버튼 하나만 추가해보세요. 이때 기존 증가 동작과 디자인을 유지하라는 제약, 숫자가 0보다 작아지지 않아야 한다는 검증 조건을 적습니다. 지금 당장 할 행동은 네 줄짜리 작업 지시서를 만들고 AI에게 모호한 점만 질문시키는 것입니다. 코드 한 줄을 생성하기 전에 이 작은 단계를 실행해보세요.
- 한 요청에서 추가할 기능은 하나로 제한합니다.
- 유지해야 할 기존 동작을 문장으로 명시합니다.
- 정상 사례와 실패 사례를 각각 직접 실행합니다.
- 작동한 프롬프트는 프로젝트 문서에 짧은 템플릿으로 보관합니다.

- 이전글AI 코딩 에이전트, 자동완성에서 명세 중심 개발로 옮겨가는 과정 26.08.24
- 다음글AI 코딩 도구, Cursor·Copilot·Codex 중 뭐가 맞을까? 26.08.22
등록된 댓글이 없습니다.
