여기 엉성한 프롬프트가 하나 있습니다.
레벨 1: 프롬프트를 분해하고 다시 조립하기네 요소 프레임(역할, 작업, 형식, 제약)을 써서 더 명확해지도록 다시 구성해 보세요.
학습 목표:
- 프롬프트의 네 가지 핵심 요소 익히기
- 모호한 요청을 구조화된 지시로 바꾸어 보기
- 각 요소가 AI의 결과물을 어떻게 좌우하는지 이해하기
전제: << 레슨 1: 프롬프트란 무엇이고 왜 중요한가 | 다음: 레슨 3 >>
AI에게 '프로젝트 요약을 써 줘'라고 하면, 프로젝트의 실제 내용은 하나도 없는 뻔한 템플릿이 돌아옵니다. 어디서 어긋난 걸까요? AI의 능력이 모자란 것이 아닙니다. 여러분의 지시에 정작 중요한 조각들이 빠져 있었던 것입니다. 어떤 프로젝트인지, 누가 읽을 것인지, 무엇을 담아야 하는지, 어떤 형식이어야 하는지 말입니다.
효과적인 프롬프트는 담 너머로 던지는 한 줄이 아닙니다. 네 가지 요소로 이루어진 완결된 지시입니다. 이번 레슨에서는 그 네 요소가 무엇이고, 각각 어떤 역할을 하며, 어떻게 조합하는지 다룹니다.
명확한 프롬프트는 보통 네 부분을 담고 있습니다1.
매번 네 가지가 모두 필요하지는 않지만, 작업이 복잡할수록 더 많은 요소가 필요합니다. 하나씩 살펴보겠습니다.
역할은 AI가 어떤 관점과 전문성 수준으로 답해야 하는지 알려 줍니다2. 같은 질문이라도 기술 전문가가 답할 때와 초등학교 교사가 답할 때의 결과는 완전히 다릅니다.
두 프롬프트를 비교해 보겠습니다.
역할이 없을 때:
AI는 이런 답을 줄 수 있습니다.
역할이 있을 때:
이제 AI는 이렇게 합니다.
자주 쓰는 역할 패턴:
작업은 프롬프트의 심장입니다. '무엇을 해 주기를 원하는가'라는 질문에 답합니다1. 작업 설명이 모호한 것이 가장 흔한 문제입니다.
비교해 보겠습니다.
모호한 작업:
AI는 어느 각도로 봐야 할지 알 수 없습니다. 성능? 보안? 가독성? 버그?
명확한 작업:
이제 AI는 다음을 압니다.
작업은 세 층으로 이루어집니다.
형식은 AI에게 답을 어떻게 구성할지 알려 줍니다1. 형식 제약이 없으면 AI는 적당해 보이는 방식을 스스로 고릅니다. 긴 줄글일 수도, 목록일 수도, 표일 수도 있습니다.
비교해 보겠습니다.
형식 요구가 없을 때:
AI는 이런 것을 줄 수 있습니다.
형식을 지정했을 때:
AI는 이 구조를 그대로 따르고, 여러분은 결과를 자기 문서에 바로 붙여 넣을 수 있습니다.
자주 쓰는 형식 제약:
제약은 AI가 옆길로 새지 않게 붙잡아 두는 '…하지 말 것', '오직 …만' 규칙입니다1.
비교해 보겠습니다.
제약이 없을 때:
AI는 이런 것을 줄 수 있습니다.
제약이 있을 때:
이제 AI는 이렇게 합니다.
자주 쓰는 제약 유형:
완결된 프롬프트는 네 요소를 한데 모읍니다. 실제 상황을 하나 보겠습니다.
상황: AI에게 회의록 초안을 맡기기
작업만 있고 나머지 요소가 빠진 경우:
네 요소를 모두 갖춘 경우:
이 프롬프트는 명확하고 완결되어 있으며 재사용할 수 있습니다. 녹취록 부분을 자리표시자로 바꾸면 몇 번이고 돌릴 수 있는 템플릿이 됩니다. 다음 회의에서는 새 녹취록만 갈아 끼우면 됩니다.
이제 모호한 프롬프트를 구조화된 프롬프트로 바꾸는 연습을 해 보겠습니다.
1단계: 작업을 못 박는다
2단계: 역할을 더한다
3단계: 형식을 지정한다
4단계: 제약을 더한다
원래 프롬프트와 비교하면, 다시 쓴 프롬프트는 AI에게 어떤 역할을 맡을지, 무엇을 할지, 어떻게 출력할지, 어떤 한계 안에서 움직일지를 분명히 알려 줍니다.
네 요소는 교리가 아니라 체크리스트입니다.
판단 기준은 간단합니다. 여러분의 프롬프트를 읽고 나서 AI가 무엇을 해야 하고 어떤 결과를 내놓아야 하는지 정확히 알 수 있는가? 여러분 스스로도 그 질문에 분명히 답할 수 없다면, AI가 알아낼 가능성은 더 낮습니다.
효과적인 프롬프트는 네 요소를 담는다. 역할(어떤 정체성으로), 작업(무엇을 할지), 형식(어떻게 구성할지), 제약(경계는 어디인지)이다. 매번 네 가지를 다 쓰지는 않지만, 작업이 복잡할수록 더 완전한 요소 조합이 필요하다.
다시 쓰는 과정은 이렇다. 먼저 핵심 작업을 못 박고, 그다음 어떤 역할과 어떤 출력 형식, 어떤 제약이 필요한지 정한다. 모호한 한 줄을 구조화된 지시로 넓혀 놓으면 AI 결과물의 품질이 눈에 띄게 올라간다.
다음 레슨에서는 few-shot 학습을 다룹니다. 말로 설명하는 대신 2~5개의 예시로 원하는 패턴을 AI에게 이해시키는 방법입니다.
다음 레슨 Few-Shot 학습: 예시로 AI를 이끌기 >>
OpenAI Prompt Engineering Best Practices — https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api ↩ ↩2 ↩3 ↩4
Anthropic Prompt Engineering Overview — https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview ↩
네 요소 프레임(역할, 작업, 형식, 제약)을 써서 더 명확해지도록 다시 구성해 보세요.
네 요소를 모두 갖춘 완결된 프롬프트를 설계해 보세요.
Docker가 무엇인지 설명해 주세요.당신은 기술 개념을 일상적인 비유로 설명하는 데 능숙한 교사입니다.프로그래밍 배경지식이 없는 프로덕트 매니저에게 Docker가 무엇인지설명해 주세요.이 코드를 분석해 주세요.이 Python 코드에서 성능 병목을 분석해 주세요. 데이터 규모가 커질 때느려질 수 있는 연산을 짚고, 어떻게 고치면 좋을지 제안해 주세요.이 글의 핵심 내용을 요약해 주세요.이 글을 다음 형식으로 요약해 주세요.
핵심 주장: [한 문장]
뒷받침 근거(3가지):1. [근거 1, 한 문장]2. [근거 2, 한 문장]3. [근거 3, 한 문장]
결론: [한 문장]Python 학습 자료를 추천해 주세요.Python 학습 자료를 3개 추천해 주세요. 요구사항은 다음과 같습니다.- 완전 무료일 것- 영어 자료일 것- 완전 초보자에게 적합할 것- 직접 해 보는 프로젝트가 포함될 것
각 자료를 두 문장으로 설명해 주세요. 첫 문장은 그것이 무엇인지,둘째 문장은 왜 초보자에게 알맞은지를 담아 주세요.이 회의 녹취록으로 회의록을 작성해 주세요.[역할] 당신은 경험 많은 프로젝트 어시스턴트입니다.
[작업] 아래 녹취록을 바탕으로 회의록을 작성해 주세요.
[형식] 다음과 같이 구성해 주세요.- 회의 기본 정보(시간, 참석자)- 논의한 안건(우선순위 순)- 안건별로 내려진 결정- 액션 아이템(담당자 + 마감일)
[제약]- 명확한 결론에 이른 논의만 기록하고, 잡담은 넘길 것- 모든 액션 아이템은 실행 가능할 것(동사 + 확인 가능한 산출물)- 전체 500단어 이내로 유지할 것
녹취록:[여기에 녹취록 붙여넣기]이 코드 좀 최적화해 주세요.당신은 시니어 성능 엔지니어입니다.
아래 Python 코드의 성능 문제를 분석하고 해결책을 제안해 주세요.
다음 형식으로 출력해 주세요.1. 현재 병목 (영향이 큰 순서대로) - 병목에 대한 설명 - 어느 정도 데이터 규모에서 문제가 되는지2. 최적화 방안 - 구체적으로 무엇을 바꿀 것인지 - 최적화된 코드 조각 - 기대되는 성능 향상
제약:- 함수의 입출력 인터페이스를 바꾸지 말 것- 새로운 외부 의존성을 도입하지 말 것- 최소 2배 이상 빨라지는 변경을 우선할 것
코드:[여기에 코드 붙여넣기]함수 하나 짜 줘, 입력은 문자열 리스트고, 출력은 중복을 제거한 결과,빠르게, Python으로, 주석도 달아 줘.