본문으로 건너뛰기

AI 코딩 도우미에게 일 잘 시키는 법

맥락을 주고, 작게 나누고, 테스트로 확인하기. AI가 만든 코드를 믿고 쓸 수 있게 만드는 작업 방식입니다.

실무개발자

17분2026.10 기준

이 글을 마치면

  • 목표·제약·완료 기준을 담아 요청해서, AI가 엉뚱한 곳을 고치는 일을 줄일 수 있습니다.
  • 버그를 재현하는 테스트를 먼저 만들게 해서, AI의 수정이 맞는지 객관적으로 판단할 수 있습니다.
  • AI에게 리뷰를 맡길 때 무엇을 물어보고, 무엇을 직접 확인할지 압니다.
코드 편집기 옆에 AI 대화창의 작업 체크리스트와, 테스트 통과 표시가 붙은 터미널이 있는 일러스트
일러스트: AI Ping

이런 분께

  • AI 코딩 도구를 써 봤지만 결과가 들쭉날쭉한 개발자
  • 팀에 AI 코딩 도구 도입을 검토 중인 분

준비물

  • AI 코딩 도구 (에디터 플러그인 또는 터미널 도구)
  • 테스트를 돌릴 수 있는 프로젝트

단계별 따라하기

  1. 목표·제약·완료 기준 먼저 말하기

    "로그인 고쳐 줘"보다 무엇이 문제인지, 건드리면 안 되는 부분은 어디인지, 어떻게 되면 끝난 건지를 함께 알려 주세요. 관련 파일 경로와 에러 메시지 원문도 붙여 넣습니다.

    같은 일을 막연하게 맡길 때와 구체적으로 맡길 때
    항목막연하게구체적으로
    목표로그인 고쳐 줘비밀번호 재설정 메일이 두 번 발송되는 문제 수정
    범위(없음)src/auth/reset.ts, src/mail/send.ts
    제약(없음)메일 템플릿과 공개 API는 바꾸지 말 것
    완료 기준(없음)재설정 요청 1회당 메일 1통, 기존 테스트 통과
    프롬프트 예시
    목표: 비밀번호 재설정 메일이 두 번 발송되는 문제 수정
    관련 파일: src/auth/reset.ts, src/mail/send.ts
    제약: 메일 템플릿과 공개 API는 바꾸지 말 것
    완료 기준: 재설정 요청 1회당 메일 1통, 기존 테스트 통과
  2. 작은 단위로 나눠 요청하기

    한 번에 기능 전체를 맡기면 검토할 수 없는 크기의 변경이 돌아옵니다. 리뷰할 수 있는 크기, 보통 파일 몇 개 수준으로 나눠 요청하세요.

    버그 하나를 리뷰할 수 있는 크기로 나눈 예
    순서요청끝났는지 확인
    1버그를 재현하는 테스트 작성테스트가 실패함
    2중복 발송 원인 수정새 테스트와 기존 테스트가 통과함
    3동시에 두 번 요청하는 경우 보강동시 요청 테스트가 통과함
    4로그와 주석 정리변경이 두 파일 안에 머묾
    프롬프트 예시
    바로 고치지 말고, 이 문제를 리뷰하기 쉬운 단계로 나눈 작업 계획부터 보여 줘. 단계마다 끝났는지 확인하는 방법도 적어 줘.
  3. 테스트를 먼저 쓰게 하기

    버그라면 먼저 버그를 재현하는 테스트를 만들게 하고, 그 테스트가 실패하는 것을 확인한 다음 수정을 요청하세요. AI의 수정이 맞는지 판단할 기준이 생깁니다.

    프롬프트 예시
    수정하기 전에, 재설정 메일이 두 번 발송되는 상황을 재현하는 테스트를 먼저 작성해 줘. 지금 코드에서는 이 테스트가 실패해야 해.
    AI 답변 예시

    재설정 요청을 한 번 보낸 뒤 발송된 메일 수를 세는 테스트입니다. 함수 이름은 프로젝트에 맞게 바꾸세요. 지금 코드에서는 2통이 발송되므로 실패해야 정상입니다.

    코드 예시
    test("재설정 요청 1회에 메일은 1통만 보낸다", async () => { const mailer = createFakeMailer(); await requestPasswordReset("[email protected]", { mailer }); expect(mailer.sent).toHaveLength(1); });

    확인해 보기

    • 테스트를 실행해 '기대 1, 실제 2'처럼 실패하는지 먼저 확인하세요. 처음부터 통과한다면 버그를 재현하지 못한 테스트입니다.
    • 수정한 뒤에는 이 테스트와 기존 테스트가 모두 통과해야 합니다.
  4. 리뷰도 맡기되, 판단은 직접 하기

    변경이 끝나면 놓친 경우나 보안 문제를 찾아 달라고 다시 요청해 보세요. 다만 최종 판단과 배포 결정은 사람이 합니다.

    프롬프트 예시
    방금 변경 사항을 리뷰해 줘. 동시에 두 번 요청이 들어오는 경우, 메일 발송이 실패하는 경우를 특히 확인해 줘.
    AI 답변 예시

    확인이 필요한 부분이 두 군데 있습니다.

    1) 요청 두 개가 동시에 들어오면, 둘 다 '보낸 기록 없음'을 확인한 뒤 메일을 한 통씩 보낼 수 있습니다. 기록을 저장할 때 같은 요청이 두 번 들어가지 못하게 막는 제약(예: 유니크 키)을 두세요.

    2) 메일 발송이 실패해도 '보냄'으로 기록됩니다. 발송에 성공한 뒤에 기록하거나, 실패하면 기록을 되돌려야 사용자가 다시 요청할 수 있습니다.

    확인해 보기

    • AI가 짚은 문제를 그대로 믿지 말고, 그 경우를 테스트로 만들어 실제로 재현되는지 확인하세요.
    • 보안, 결제, 개인정보가 걸린 변경은 사람 리뷰를 한 번 더 거칩니다.

자주 하는 실수

  • API 키나 비밀번호가 담긴 파일을 그대로 붙여 넣기
  • 검토할 수 없을 만큼 큰 작업을 한 번에 맡기기
  • 테스트 없이 '돌아가는 것 같다'는 이유로 머지하기

참고 자료

더 배워 보기

  • 활용 가이드14분

    LLM API 첫 호출하기: 키 발급부터 응답까지

    API 키를 안전하게 두는 법부터 Python으로 첫 요청을 보내고 응답의 본문·종료 이유·사용량을 읽는 법까지, Claude API를 예로 정리했습니다.

    입문개발자
  • 활용 가이드15분

    구조화 출력(JSON)으로 LLM 응답 받기

    "JSON으로 답해 줘"라고 부탁하는 대신 받을 모양을 스키마로 정해 두면, 코드에서 바로 쓸 수 있는 응답이 돌아옵니다. 고객 문의 분류를 예로 정리했습니다.

    실무개발자
  • 활용 가이드15분

    프롬프트 캐싱으로 API 비용 줄이기

    요청마다 똑같이 보내는 긴 지시문과 문서를 캐시해 두면 그 부분의 입력 요금이 크게 줄어듭니다. 상담 매뉴얼을 쓰는 챗봇을 예로, 캐시 지점을 정하고 효과를 확인하는 법을 정리했습니다.

    실무개발자