챗GPT로 프로그램을 만들 때는 목표를 한 문장으로 세운 뒤 환경·입력·출력 순으로 요청문을 잘게 쪼개고 가장 작은 기능부터 만들게 하는 것이 시작이다. 실행해서 난 오류 메시지를 그대로 되물어 한 번에 하나씩 고치는 흐름을 익히면 초보도 디버깅을 이어갈 수 있다. 다만 AI 코드는 존재하지 않는 패키지를 지어내거나 보안상 위험한 방식을 고르는 경우가 많으니 붙여넣기 전 체크리스트로 반드시 확인해야 한다.

코딩 초보가 챗GPT에 가장 흔히 하는 실수는 "앱 하나 만들어줘"처럼 통째로 던지는 것이다. 이러면 AI는 빈칸을 제멋대로 채우고, 당신은 결과가 맞는지조차 판단하기 어렵다.
출발점은 목표를 한 문장으로 적는 일이다. "내 폴더에 쌓인 사진 파일 이름을 찍은 날짜 순서로 바꾸는 프로그램을 만들고 싶다" 정도면 충분하다. 이 한 줄이 이후 모든 요청문의 기준이 된다.

Markus Spiske
목표가 섰으면 조건을 순서대로 붙인다.
이렇게 쪼개면 AI가 짐작으로 메우는 부분이 줄고, 당신도 중간 결과를 눈으로 확인하며 따라갈 수 있다. 예를 들어 "파이썬을 처음 쓴다. 윈도우에서 실행할 거다. 바탕화면의 photos 폴더에 있는 jpg 파일 이름을, 사진이 찍힌 날짜 순서대로 001, 002처럼 바꾸고 싶다. 우선 이름을 바꾸지 말고 날짜순으로 목록만 출력하는 코드부터 보여 달라"처럼 적는 식이다. 한 문장이 네댓 문장으로 늘었지만, 받는 코드의 정확도는 크게 달라진다.
코드를 받으면 바로 돌려본다. 오류가 나는 건 당연한 과정이지 실패가 아니다. 중요한 건 다음 흐름이다.
이 되물음 루프가 사실상 초보의 디버깅이다. 오류 메시지를 두려워하지 않고 그대로 넘기는 습관이 실력의 절반이다.
여기서 멈추면 안 된다. 코드가 '작동하는 것'과 '안전하고 정확한 것'은 다른 문제다. 근거가 있다.
지어낸 패키지부터 조심해야 한다. 2025년 USENIX 보안 학회에서 발표된 연구를 보면, AI가 만든 코드 표본의 19.7%, 즉 다섯 개 중 하나꼴로 실제로 존재하지 않는 패키지 이름이 들어 있었다. 상용 모델은 약 5%로 더 낮았지만 0은 아니다. AI가 설치하라고 안내한 패키지가 애초에 가짜일 수 있다는 뜻이다.
더 고약한 건, 이 가짜 이름이 매번 다르게 나오는 게 아니라 같은 요청에 반복해서 등장한다는 점이다. 연구진이 같은 질문을 열 번씩 돌렸더니 지어낸 이름의 43%가 매번 똑같이 나왔다. 공격자가 그 이름을 미리 진짜 패키지로 등록해 두면, 초보가 무심코 설치하는 순간 악성 코드가 깔린다. '슬롭스쿼팅'이라 부르는 이 수법 때문에, 설치 명령을 그대로 따르기 전 패키지 이름을 꼭 검색해 봐야 한다.
보안 허점도 흔하다. 보안기업 베라코드가 2025년 100개가 넘는 모델을 80개 과제로 시험했더니, AI는 45%의 경우 안전한 방식 대신 취약한 방식을 택했다. 특히 웹 보안의 기본인 XSS 공격 방어에는 86%나 실패했다. 숫자가 주는 메시지는 분명하다. AI 코드는 '초안'이지 '정답'이 아니다.
이 다섯 가지만 지켜도 초보가 흔히 겪는 사고 대부분은 미리 막을 수 있다.