
개발 현장에서 잔뼈가 굵다 보면 알게 되는 게 있다. 좋은 코드는 설계에서 나온다. 아무리 타이핑이 빠르고 언어를 잘 알아도, 설계가 엉망이면 결과물은 엉망이다. 프롬프트도 똑같다. 챗GPT에게 빠르게 치는 게 중요한 게 아니라, 어떤 구조로 질문을 던지느냐가 결과물의 질을 결정한다. 오랫동안 현장에서 써오면서 실제로 효과 있었던 프롬프트 구조 다섯 가지를 정리한다.
구조 1: 역할-맥락-작업-형식 4단계 프레임
이게 기본 중의 기본이다. 마치 건축 도면처럼, 역할이 누가 설계하는지, 맥락이 어떤 건물인지, 작업이 지금 뭘 그려야 하는지, 형식이 어떤 양식으로 뽑아야 하는지를 담는다. 네 가지 중 하나라도 빠지면 도면이 불완전해진다.
역할: 너는 10년 경력의 백엔드 시스템 설계 전문가야.
맥락: 현재 하루 100만 건의 주문을 처리하는 이커머스 시스템이 있어. 피크 타임에 응답 지연이 발생하고 있어.
작업: 캐시 전략을 어떻게 설계해야 할지 조언해줘.
형식: 단기 대응책과 장기 개선 방향으로 나눠서, 각 항목은 실행 난이도와 예상 효과를 함께 써줘.
현장에서 이 구조를 쓰기 시작하면서 가장 먼저 느낀 건, 내가 질문하기 전에 머릿속을 정리하게 된다는 거다. 네 가지를 채우려면 내가 먼저 상황을 명확하게 파악해야 한다. 그 과정 자체가 문제 해결의 절반이었다. 단점은 프롬프트가 길어진다는 거다. 빠르게 물어봐야 할 때는 맥락을 줄이고 역할만 지정하는 식으로 유연하게 쓰게 됐다.
구조 2: 예시 제공형 (Few-shot Prompting)
말로 설명하기 어려운 패턴이 있을 때 쓴다. 마치 신입 직원에게 "이런 식으로 해"라며 샘플을 보여주는 것과 같다. 예시가 있으면 AI가 내가 원하는 톤, 형식, 깊이를 훨씬 정확하게 맞춘다.
아래 형식으로 버그 리포트를 작성해줘.
예시:
제목: 로그인 페이지에서 비밀번호 재시도 시 세션 오류 발생
재현 경로: 로그인 시도 > 비밀번호 오류 > 재시도 클릭
예상 동작: 비밀번호 재입력 후 로그인 성공
실제 동작: 세션 만료 오류 메시지 출력 후 메인으로 리다이렉트
영향 범위: 모든 사용자, 크롬/파이어폭스 동일 재현
이제 아래 상황을 위 형식으로 작성해줘:
[상황 설명]
현장에서 이게 특히 빛을 발한 건 문서 양식이 정해져 있는 경우였다. 사내 규격이 있는 기술 문서나 변경 이력서 같은 경우, 예시 한 번 보여주면 그 다음부터는 포맷이 일정하게 나왔다. 단점은 예시를 잘못 주면 잘못된 패턴이 굳어진다는 거다. 예시를 신경 써서 고르는 게 중요하다.
구조 3: 단계별 사고 유도 (Chain-of-Thought)
복잡한 문제를 풀 때 쓴다. AI에게 "바로 답 줘"가 아니라 "단계적으로 생각해줘"라고 시키면 결과의 신뢰도가 올라간다. 마치 시험에서 답만 쓰는 학생보다 풀이 과정을 쓰는 학생의 답이 더 검증하기 쉬운 것처럼.
아래 DB 쿼리의 성능 문제를 분석해줘.
단계적으로 생각해: 먼저 쿼리 실행 순서를 설명하고,
어느 부분에서 병목이 생길 수 있는지 근거와 함께 분석한 다음, 개선 방법을 제시해줘.
[쿼리 붙여넣기]
개발 현장에서 이게 특히 유용했던 건 코드 리뷰와 아키텍처 검토였다. AI가 "이 부분이 문제"라고 바로 말하는 것보다, 왜 문제인지 근거를 들어 설명하면 내가 판단하기도 쉽고, 틀린 분석을 잡아내기도 쉬웠다. 단점은 답변이 길어진다는 거다. 빠른 판단이 필요한 상황에서는 오버스펙이 된다.
구조 4: 제약 조건 지정형
AI 답변이 너무 길거나, 방향이 맞지 않거나, 원치 않는 내용이 섞여 나올 때 쓴다. 범위를 한정하는 울타리를 치는 방식이다. 넓은 초원에 풀어놓으면 어디로 뛸지 모르지만, 울타리 안에 두면 그 안에서 최선을 찾는다.
Python 코드 리뷰를 해줘.
제약 조건:
- Python 3.10 기준으로만 평가해줘
- 성능과 가독성만 봐줘. 보안은 이번에 제외야.
- 수정 제안은 최대 5개만 줘
- 각 제안은 코드 예시와 함께 써줘
[코드 붙여넣기]
현장에서 제약 조건이 없으면 AI가 너무 많은 걸 말한다는 걸 뼈저리게 느꼈다. 특히 시간이 없을 때, 중요한 것 5개만 보고 싶은데 20개가 나오면 정작 중요한 걸 찾아야 하는 시간이 생긴다. 제약 조건 지정은 AI를 내 작업 속도에 맞추는 방법이다.
구조 5: 비판적 검토 요청형 (Devil's Advocate)
이게 가장 덜 알려져 있는데, 실무에서 제일 쓸모가 많다. 내 아이디어나 결정에 반론을 요청하는 방식이다. 마치 팀 내 제일 까다로운 선임이 검토하는 시뮬레이션이다. 그 선임이 뭐라고 할지 미리 알면 발표 전에 대비할 수 있다.
아래 시스템 설계안을 검토해줘.
긍정적인 점을 먼저 말하고, 그 다음 이 설계의 약점과 실패 가능성을 최대한 날카롭게 지적해줘.
특히 트래픽 급증 상황, 운영 중 장애 발생 시, 팀 인력 감소 상황에서 이 설계가 어떻게 취약한지 분석해줘.
[설계안 붙여넣기]
현장에서 이걸 처음 써본 건 사내 인프라 이관 제안서를 작성할 때였다. 내가 쓴 방향이 맞다고 확신했는데, 이 프롬프트로 돌려봤더니 미처 생각 못 한 운영 비용 증가 시나리오가 나왔다. 덕분에 제안서에 그 리스크 대응 방안을 추가할 수 있었다. 나중에 그 우려가 실제로 일부 현실이 됐는데, 대응책이 이미 있어서 수습이 빨랐다.
다섯 가지 구조를 쓰고 나서 실제로 달라진 것들
이 다섯 가지 구조를 현장에서 반복적으로 쓰면서 가장 크게 달라진 건 사고 방식이다. 프롬프트를 잘 쓰려면 내가 먼저 질문을 구조화해야 한다. 역할이 뭔지, 맥락이 뭔지, 원하는 형식이 뭔지를 스스로 정리하는 과정이 문제의 절반을 해결해준다.
처음에는 이게 번거롭게 느껴졌다. 그냥 "이거 어떻게 해?"라고 치면 안 되나 싶었다. 그렇게 쳐도 답이 나오긴 한다. 하지만 그 답이 내 상황에 딱 맞는 경우는 절반도 안 됐다. 구조를 갖춰 쓰기 시작하면서 첫 번째 답변을 그대로 쓸 수 있는 비율이 확연히 올라갔다. 다시 쳐야 하는 횟수가 줄었다.
그리고 이 구조들은 서로 조합이 된다. 역할-맥락-작업-형식 기본 프레임 위에 단계별 사고 유도를 얹고, 제약 조건으로 범위를 한정하면 상당히 정교한 결과가 나온다. 처음에는 하나씩 익히고, 익숙해지면 조합해서 쓰는 걸 추천한다.
마지막으로, 이 구조들이 만능이 아니라는 점은 분명히 해두고 싶다. AI는 내가 제공한 정보 안에서만 답을 낸다. 내가 잘못된 정보를 주거나, 맥락을 빠뜨리면 아무리 좋은 구조를 써도 결과물은 반쪽짜리다. 구조는 도구고, 그 도구를 쓸 줄 아는 사람의 판단이 결국 결과를 결정한다. 도구가 좋아졌다고 해서 판단력이 필요 없어지는 건 아니다. 오히려 더 필요해진다.
출처 및 검색 태그
- Anthropic 프롬프트 엔지니어링 공식 가이드 (https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview)
- OpenAI 프롬프트 엔지니어링 가이드 (https://platform.openai.com/docs/guides/prompt-engineering)
- Learn Prompting 오픈소스 가이드 (https://learnprompting.org)
- DeepLearning.AI ChatGPT Prompt Engineering 코스 (https://www.deeplearning.ai)
'IT적응기' 카테고리의 다른 글
| 챗GPT API 처음 쓰는 사람을 위한 완전 입문: 무료로 나만의 봇 만들기 (0) | 2026.05.12 |
|---|---|
| 엑셀 공식 몰라도 된다: 챗GPT로 스프레드시트 자동화하는 방법 (0) | 2026.05.10 |
| 챗GPT 프롬프트, 잘 쓰는 사람과 못 쓰는 사람의 결정적 차이 (0) | 2026.05.09 |
| 숫자 덩어리를 인사이트로: 데이터 보고서 요약 프롬프트 3가지 (0) | 2026.05.08 |
| 기획서·제안서 구조 잡는 챗GPT 프롬프트: 빈 화면 없애는 법 (3) | 2026.05.07 |