요즘은 코드를 한 줄도 안 써본 분들도 챗봇에게 "엑셀 정리 매크로 만들어줘" 같은 부탁을 하기 시작했습니다. 그런데 결과물이 한 번에 잘 나올 때도 있고, 열 번을 고쳐도 엉뚱한 게 나올 때도 있죠.

차이는 모델이 아니라 프롬프트(AI에게 주는 지시문) 에서 갈리는 경우가 대부분입니다. 저도 처음엔 "○○ 만들어줘"만 던지다가 시간을 꽤 날렸습니다.
이 글에선 코딩 작업에 특화된 프롬프트 작성법을 다섯 가지 공식으로 정리합니다. 비개발자도 그대로 따라 쓸 수 있게 템플릿과 예시를 충분히 넣었습니다.
코딩 프롬프트가 일반 프롬프트와 다른 이유
코딩 프롬프트는 결과물이 실행되는 코드라는 점에서 일반 글쓰기 프롬프트와 다릅니다. 한 글자만 틀려도 동작하지 않고, AI가 "그럴듯한 가짜 함수"를 만들어내는 경우(이른바 환각)도 흔합니다.
예를 들어 "엑셀 파일 합치는 파이썬 코드"라고만 요청하면, AI가 존재하지도 않는 라이브러리 함수를 그럴싸하게 써놓곤 합니다. 직접 돌려보면 빨간 에러가 뜨죠.
그래서 코딩 프롬프트는 모호함을 최대한 줄이는 것이 핵심입니다. 무엇을, 어떤 형식으로, 어떤 환경에서 받고 싶은지를 AI가 추측하지 않도록 못 박아주는 거죠.
💡 AI는 "친절한 동료 신입 개발자"라고 생각하면 편합니다. 똑똑하지만 우리 사정은 모르니, 배경부터 알려줘야 합니다.
5가지 공식: 목적·입력·출력·제약·예시
좋은 코딩 프롬프트는 다음 다섯 가지가 채워져 있습니다. 저는 이걸 POOLE 공식이라 부릅니다(Purpose, Input, Output, Limit, Example).
| 항목 | 무엇을 적나 | 빠지면 생기는 일 |
|---|---|---|
| 목적(Purpose) | 이 코드로 뭘 하고 싶은지 | 엉뚱한 방향으로 만들어줌 |
| 입력(Input) | 어떤 데이터·파일이 들어오는지 | 가짜 데이터로 만들어버림 |
| 출력(Output) | 결과가 어떤 형태여야 하는지 | 형식이 매번 달라짐 |
| 제약(Limit) | 언어·라이브러리·환경 조건 | 내 환경에서 안 돌아감 |
| 예시(Example) | 입력↔출력 샘플 1쌍 | 디테일이 제멋대로 |
다섯 가지를 다 채울 필요는 없습니다. 간단한 작업은 목적·입력·출력 3개만으로도 충분해요. 다만 결과가 자꾸 어긋난다면 나머지 두 개를 채워보세요.
나쁜 프롬프트 vs 좋은 프롬프트 비교
같은 작업을 두 가지 방식으로 요청해본 결과입니다. 실제로 Claude와 ChatGPT에 같은 문구를 넣어보고 정리했습니다(글 작성 시점 기준).
나쁜 예
엑셀 파일들 하나로 합치는 코드 만들어줘
좋은 예
[목적] 폴더 안의 엑셀 파일 여러 개를 하나로 합치고 싶습니다.
[입력] ./data 폴더 안에 sales_01.xlsx ~ sales_12.xlsx (12개 파일).
각 파일은 동일한 컬럼 구조: 날짜, 상품명, 수량, 금액.
[출력] merged.xlsx 파일 하나. 모든 행이 위아래로 이어붙은 형태.
원본 파일명이 어느 행에서 왔는지 알 수 있게 'source' 컬럼 추가.
[제약] 파이썬 3.10, pandas 사용. 윈도우 환경.
[예시] 만약 sales_01.xlsx에 10행, sales_02.xlsx에 5행이 있다면
merged.xlsx는 총 15행이 되고 source 컬럼에 파일명이 들어갑니다.
차이가 보이시나요? 나쁜 예는 AI가 "엑셀 파일이 몇 개?", "어떤 컬럼?", "어떤 환경?"을 다 추측해야 합니다. 좋은 예는 추측할 게 없죠.
직접 해보니 나쁜 예는 평균 3~4번 추가 질문이 오갔고, 좋은 예는 한 번에 동작하는 코드가 나오는 경우가 많았습니다.
비개발자가 자주 빠지는 3가지 함정
비개발자 지인 몇 분이 챗봇으로 코드 받는 걸 옆에서 봤을 때, 공통적으로 막히는 지점이 있었습니다.
1) "알아서 잘" 신드롬
"알아서 잘 만들어줘"라는 말은 AI에겐 "알아서 추측해라"와 같습니다. 결과물의 디테일이 그날그날 다르게 나옵니다. 작은 거라도 "어떤 결과를 원한다"를 한 줄 적어주세요.
2) 환경을 안 알려줌
윈도우인지 맥인지, 파이썬인지 자바스크립트인지, 엑셀에서 돌릴 건지 웹브라우저에서 돌릴 건지를 안 적으면 AI는 가장 흔한 환경을 가정해버립니다. 그 가정이 내 PC와 다르면 그대로 에러가 납니다.
3) 에러를 그대로 다시 안 보냄
코드가 안 돌아갈 때 "안 돼요"라고만 답하시는 분이 많은데, AI는 "안 돼요"만으론 못 고칩니다. 빨간 에러 메시지 전체를 그대로 복사해서 붙여넣는 것이 가장 빠른 해결법입니다.
다음 에러가 났습니다. 원인과 수정된 코드를 알려주세요. --- [여기에 에러 메시지 전체 복붙] ---
저도 이 패턴을 알기 전엔 "왜 안 되지" 하면서 한참 헤맸습니다.
바로 쓰는 프롬프트 템플릿 3종
상황별로 자주 쓰는 템플릿입니다. [ ] 안만 본인 상황에 맞게 바꿔서 쓰시면 됩니다.
1) 새로 만들기 템플릿
[하고 싶은 일을 한 문장으로 적기]을 위한 코드를 작성해주세요. - 사용 언어: [파이썬 / 자바스크립트 / 엑셀 VBA 등] - 실행 환경: [윈도우 11 / 맥 / 구글 시트 등] - 입력 데이터: [어떤 데이터가 어떤 형태로 들어오는지] - 원하는 출력: [어떤 결과물을 어떤 형태로 받고 싶은지] - 제약: [쓰지 말아야 할 라이브러리, 추가 설치 불가 등] 코드 안에 한국어 주석으로 각 줄이 뭘 하는지 설명도 부탁드립니다.
마지막 "한국어 주석" 한 줄이 의외로 큰 차이를 만듭니다. 코드를 모르는 사람이 봐도 흐름이 읽혀요.
2) 고치기 템플릿
아래 코드가 [어떤 동작]을 하길 원했는데 [실제로 일어난 일]이 발생합니다. [코드 전체 복붙] [에러 메시지 또는 잘못된 결과 복붙] 원인과 수정된 전체 코드를 알려주세요. 부분 수정이 아니라 복사해서 바로 실행할 수 있는 전체 코드 부탁드립니다.
"전체 코드"라고 콕 집어 요청하지 않으면 "이 줄을 이렇게 바꾸세요" 식으로만 알려줘서, 비개발자는 어디에 붙여넣어야 할지 헷갈리게 됩니다.
3) 설명 듣기 템플릿
아래 코드를 한 줄씩 비개발자에게 설명하듯 풀어주세요. [코드 복붙] - 전체적으로 무슨 일을 하는 코드인지 3줄 요약 - 각 함수가 무슨 역할인지 - 이 코드가 잘 안 돌아갈 가능성이 있는 지점
받은 코드를 그냥 돌리지 말고 설명을 한 번 받아두면, 나중에 살짝 수정할 때 훨씬 수월합니다.
한 단계 더: 단계 쪼개기와 재질문
복잡한 작업은 한 번에 전부 요청하지 말고 쪼개는 게 훨씬 정확합니다. 일종의 작은 단계로 나누는 거죠.
큰 작업 → 단계 1 (파일 읽기)
→ 단계 2 (데이터 정리)
→ 단계 3 (결과 저장)
각 단계를 별도 대화로 받고, 단계 1이 잘 돌아가는 걸 확인한 다음 단계 2를 요청하는 식입니다. 한 번에 다 받으면 어디서 망가졌는지 추적하기 힘들거든요.
또 하나 유용한 기법은 "3가지 방법을 제안하고 차이를 알려달라" 는 요청입니다.
이 문제를 해결하는 방법 3가지를 비교해주세요. - 각 방법의 장단점 - 비개발자가 따라 하기 쉬운 순서 - 추천하는 방법과 이유
이렇게 받으면 무작정 하나만 받는 것보다 내 상황에 맞는 선택을 할 수 있습니다.
솔직한 한계: 프롬프트로 해결 안 되는 것
다 좋은데 한계도 있습니다. 솔직히 말씀드릴 게 몇 가지 있어요.
- 최신 라이브러리 정보: AI 모델은 학습 시점 이후 변경된 라이브러리 사용법을 모릅니다. 공식 문서 한 번은 확인하시는 게 좋습니다.
- 내 PC에만 있는 환경 문제: "분명 코드는 맞는데 내 컴퓨터에서만 안 됨" 같은 환경 이슈는 프롬프트만으론 한계가 있습니다. 에러 메시지를 검색엔진과 AI에 같이 던져보는 게 빠릅니다.
- 너무 큰 프로젝트: 파일 수십 개짜리 프로젝트를 한 번에 만들어달라고 하면 디테일이 무너집니다. 작은 단위로 쪼개야 합니다.
그리고 받은 코드는 반드시 직접 한 번 돌려보고 결과를 확인하세요. AI가 그럴듯하게 만들어놨지만 실제론 안 돌아가는 경우가 의외로 있습니다.
마무리
코딩 프롬프트는 결국 "AI가 추측하지 않게 만드는 일"입니다. 목적·입력·출력 세 가지만 또박또박 적어도 결과 품질이 눈에 띄게 올라갑니다.
오늘 당장 해볼 만한 건, 평소 챗봇에 던지던 "○○ 만들어줘" 요청을 위 템플릿에 맞춰 다시 써보는 겁니다. 같은 작업을 두 가지 방식으로 보내보고 결과를 비교해보세요. 차이가 체감되면 그다음부터는 자연스럽게 손에 붙습니다.
다음 글에서는 받은 코드를 실제로 실행하는 방법(파이썬 설치부터 첫 실행까지)을 비개발자 눈높이로 다뤄볼 예정입니다.
함께 보면 좋은 글
'AI & LLM > 프롬프트 엔지니어링' 카테고리의 다른 글
| Krea 2 프롬프트 작성법 — 오픈 12B 모델 한국어 가이드 (0) | 2026.07.07 |
|---|---|
| 프롬프트 템플릿 모음 50선 — 복붙용 실전 가이드 (1) | 2026.07.05 |
| 프롬프트가 자꾸 무시될 때 — AI가 지시 안 듣는 이유 7가지 (1) | 2026.07.03 |
| 프롬프트 엔지니어링이란? 비개발자 5분 입문 가이드 (0) | 2026.07.02 |
| 프롬프트 출력 형식 지정법 10가지 — 표·리스트 깔끔하게 받기 (0) | 2026.07.01 |