AI를 활용해 처음 프로그램을 만들 때 가장 많이 겪는 시행착오는 "PDF 편집기 만들어줘"라고 한 줄로 퉁쳐서 명령하는 것입니다. 이렇게 질문하면 AI는 아주 교과서적이고 광범위한 코드나, 심한 경우 실행조차 되지 않는 껍데기 소스코드만 뱉어내기 일쑤입니다. AI에게 코딩을 시킵니다는 것은 똑똑하지만 내 업무를 전혀 모르는 신입 인턴에게 업무 지시를 내리는 것과 같습니다. 지시가 구체적이고 단계적일수록 결과물의 완성도가 올라갑니다.
내가 프로그래밍 언어를 한 줄도 모른다고 해서 주눅 들 필요는 전혀 없습니다. 우리가 집중해야 할 것은 컴퓨터 문법이 아니라, 내가 만들고 싶은 프로그램의 '기능적 요구사항'을 논리적으로 쪼개어 전달하는 기술입니다. 첫 단추를 잘 끼우기 위한 구체적인 프롬프트 설계 규칙과 실제 PDF 편집기 제작을 예시로 한 단계별 명령법을 살펴보겠습니다.
1단계: 프로그램의 목적과 제한 사항을 명확히 규정하기
가장 먼저 해야 할 일은 이 프로그램이 '무엇을 위해', '어떤 환경에서' 작동해야 하는지 AI에게 배경지식을 제공하는 것입니다. 이 단계를 건너뛰면 AI는 웹사이트로 만들지, PC용 프로그램으로 만들지 갈팡질팡하다가 결국 가장 복잡한 방식을 제안하게 됩니다.
처음 시작할 때는 컴퓨터에 별도의 복잡한 설치 과정 없이 곧바로 실행할 수 있는 환경을 지정하는 것이 좋습니다. 파이썬(Python) 언어를 기반으로 하되, 눈으로 보면서 조작할 수 있는 단순한 창(GUI)이 있는 프로그램을 만들어달라고 선언하는 것이 유리합니다.
[잘못된 예시] "파이썬으로 PDF 합치고 나누는 프로그램 만들어줘."
[올바른 예시] "나는 코딩을 전혀 모르는 비개발자야. 윈도우 환경에서 실행할 수 있는 파이썬 기반의 데스크톱 PDF 편집 프로그램을 만들고 싶어. 복잡한 웹 기술 대신, 파이썬 기본 라이브러리인 tkinter를 사용해서 사용자가 마우스로 클릭해 조작할 수 있는 간단한 창(GUI) 형태로 코드를 짜줘."
2단계: 핵심 기능을 쪼개어 순서대로 명령하기
배경을 설명했다면 이제 프로그램이 해야 할 일을 아주 잘게 쪼개야 합니다. 한 번에 '합치기, 나누기, 텍스트 추출, 암호화'를 모두 시키면 AI는 코드를 작성하다가 중간에 생략해 버리는 일이 잦습니다. 가장 핵심이 되는 기능 1~2가지만 먼저 구현한 뒤, 살을 붙여나가는 방식이 안전합니다.
우리가 만들 PDF 편집기의 첫 번째 목표는 '여러 개의 PDF 파일을 하나로 합치는 기능'과 '하나의 PDF에서 특정 페이지를 추출하는 기능'입니다. 이를 AI가 이해할 수 있는 순서(워크플로우)로 나열해 줍니다.
파일 선택: 사용자가 버튼을 눌러 컴퓨터에 있는 PDF 파일들을 선택할 수 있어야 함.
파일 목록 표시: 선택된 파일들이 화면 리스트에 순서대로 보여야 함.
순서 변경: 목록에 올라온 파일들의 위, 아래 순서를 바꿀 수 있어야 함.
실행 및 저장: '합치기' 버튼을 누르면 새로운 파일로 저장할 경로를 물어보고 저장되어야 함.
이처럼 사용자가 행동하는 순서대로 프롬프트를 작성하면, AI는 각 단계에 필요한 화면 구성과 기능 코드를 누락 없이 정확하게 매칭하여 작성합니다.
3단계: 예외 상황과 에러 방지 장치 미리 요청하기
프로그램을 만들 때 가장 당황스러운 순간은 버튼을 눌렀는데 아무런 반응이 없거나 프로그램이 픽 꺼져버릴 때입니다. 개발 지식이 없으면 왜 꺼졌는지 이유를 알 수 없어 포기하게 됩니다. 이를 방지하기 위해 프롬프트 마지막에 '안전장치'를 달아달라고 요청해야 합니다.
예를 들어 "파일을 선택하지 않고 합치기 버튼을 누르면 경고 창이 뜨게 해줘", "작업이 성공적으로 끝나면 '완료되었습니다'라는 알림창을 보여줘" 같은 조건을 추가하는 것입니다. 파이썬에서는 이를 '예외 처리'라고 부르는데, 프롬프트에 이 한 줄을 넣고 안 넣고에 따라 프로그램의 완성도와 사용성이 극명하게 달라집니다.
실제 업무에 바로 쓸 수 있는 프롬프트 템플릿 구조를 정리하면 다음과 같습니다. 역할 정의(Persona), 목적(Goal), 상세 기능 리스트(Features), 에러 대처(Error Handling)의 4단계 구조를 기억하시면 좋습니다. 이 구조대로 메모장에 원하는 바를 적은 뒤 AI에게 전달하면, 코딩을 모르는 사람도 단 한 번의 요청으로 실행 가능한 완벽한 소스코드를 얻을 수 있습니다.
핵심 요약
AI에게 코딩을 시킬 때는 한 줄로 뭉뚱그리지 말고, 인턴에게 업무 지시를 하듯 배경과 환경을 먼저 제약해야 합니다.
사용자의 행동 순서(파일 선택 -> 목록 확인 -> 버튼 클릭 -> 저장)에 맞춰 기능을 잘게 쪼개어 명령하는 것이 실패를 줄이는 지름길입니다.
작업 완료 알림이나 미선택 시 경고 창 같은 예외 처리 기능을 처음부터 요구해야 프로그램이 중간에 멈추는 현상을 막을 수 있습니다.
