1. 프롬프팅
프롬프팅(Prompting)은 인공지능, 특히 GPT와 같은 생성형 AI 모델에게 원하는 정보를 효과적으로 얻기 위해 입력 문장을 구성하는 행위입니다. 이는 사용자가 AI에게 어떤 역할을 부여하고, 어떤 작업을 수행해야 하며, 어떤 형식과 맥락으로 응답하길 원하는지를 명확히 전달하는 기술입니다. 잘 구성된 프롬프트는 AI가 더 정확하고 유용한 결과를 생성할 수 있도록 도와주며, 기획·디자인·개발 등 다양한 분야에서 아이디어 발상, 자료 작성, 코드 생성 등에 활용됩니다.
1. 좋은 프롬프팅
- 특징: 구체적이고 명확하며, 역할과 출력 형식을 포함함
- 예시: "당신은 UX 디자이너입니다. 장애인을 위한 실내 길찾기 앱의 사용자 페르소나 2명을 표 형식으로 만들어주세요. 각각 이름, 나이, 장애 유형, 주요 니즈를 포함해주세요."
2. 나쁜 프롬프팅
- 특징: 추상적이고 불분명하며, 목적이나 출력 기대치가 없음
- 예시: "사용자 페르소나 만들어줘"
2. 프롬프팅을 잘하는 5가지 기법
1. 역할을 부여합니다
AI에게 어떤 전문가나 관점에서 응답해야 하는지 역할을 설정해줍니다.
너는 파이썬을 10년 가르친 교육 전문가야.
조건문(if문)에 대해 초보자도 이해할 수 있도록 설명해줘.
2. 할 일을 명확히 정의합니다
무엇을 원하는지 구체적으로 지시하여 AI가 정확한 결과를 도출할 수 있게 합니다.
머신러닝에서 ‘과적합(overfitting)’ 개념을 정의하고,
발생 원인과 해결 방법을 각각 1문장씩 정리해줘.
3. 예시를 제공합니다
기대하는 답변의 형태나 스타일을 예시로 보여주면 AI가 더 정확하게 응답할 수 있습니다.
아래 형식에 맞춰 numpy 배열 연산 예시를 만들어줘:
- 배열 생성 코드
- 연산 종류 (예: 덧셈, 곱셈 등)
- 출력 결과
4. 단계별로 생각하도록 지시합니다
복잡한 작업은 한 번에 묻지 말고 단계적으로 접근하도록 유도하면 더 논리적인 결과를 얻을 수 있습니다.
CNN(합성곱 신경망)에 대해 단계별로 설명해줘:
1단계: 입력 이미지 처리 방식
2단계: 필터와 커널의 역할
3단계: 풀링 계층의 역할
4단계: 분류 계층 연결 방식
5. 작게 나누어 지시합니다
한 번에 너무 많은 작업을 요청하기보다, 단일 요청 단위로 분리하면 더 정밀하고 명확한 응답을 받을 수 있습니다.
우선 파이썬에서 리스트(List)의 개념과 기본 문법만 설명해줘.
그다음 리스트 컴프리헨션을 알려줘.
모두 적용한 예
너는 인공지능 입문 과정을 가르치는 파이썬 강사야.
초보자 학생들에게 Scikit-Learn을 이용한 분류(Classification) 모델을 알려주고 싶어.
아래 형식에 맞춰 단계별로 설명해줘:
- 데이터 로딩
- 전처리
- 모델 선택 및 학습
- 예측 및 평가
1단계: sklearn에서 iris 데이터를 불러오고 구조를 확인하는 코드만 먼저 알려줘.
너무 어렵지 않게, 주석도 자세히 달아줘.
3. ChatGPT
ChatGPT는 OpenAI에서 개발한 인공지능 언어 모델로, 사람의 질문에 자연스럽고 논리적인 방식으로 답변할 수 있도록 훈련된 챗봇입니다. 방대한 양의 텍스트 데이터를 기반으로 학습되었으며, 일상 대화는 물론, 글쓰기, 프로그래밍, 요약, 번역 등 다양한 작업을 지원합니다. 사용자는 간단한 질문부터 복잡한 문제 해결까지 자유롭게 대화하듯 입력할 수 있으며, ChatGPT는 이에 대해 맥락을 이해하고 적절한 답변을 제공합니다. 교육, 비즈니스, 개발 등 여러 분야에서 효율적인 정보 제공 도구로 활용되고 있습니다.

4. GPTs
GPTs는 OpenAI의 ChatGPT에서 제공하는 맞춤형 챗봇 기능으로, 사용자가 특정 목적이나 성격에 맞게 대화 스타일, 기능, 도구 등을 설정하여 자신만의 GPT 인스턴스를 만들고 활용할 수 있는 시스템입니다. 이를 통해 예를 들어 영어 회화 선생님, 코딩 도우미, 문서 요약기 같은 다양한 역할의 AI를 쉽게 만들고 사용할 수 있으며, 다른 사람들이 만든 GPT를 탐색하거나 공유받아 쓸 수도 있습니다. (ChatGPT의 왼쪽 메뉴에 있는 "GPT" 항목)
5. API Plaform
OpenAI의 GPT API 플랫폼은 개발자들이 자신의 애플리케이션, 서비스, 웹사이트 등에 GPT 모델(예: GPT-3.5, GPT-4, GPT-4o)을 쉽게 통합할 수 있도록 제공되는 클라우드 기반 인터페이스입니다. 사용자는 OpenAI의 API 플랫폼에 가입한 뒤 API 키를 발급받아, 다양한 언어 처리 작업(대화 생성, 요약, 번역, 코드 생성 등)을 수행하는 GPT 모델을 RESTful 방식으로 호출할 수 있으며, 사용량에 따라 토큰 단위로 요금이 부과됩니다. 이 플랫폼은 텍스트 외에도 이미지, 오디오 등 멀티모달 처리 기능도 지원하며, 대규모 애플리케이션에 적합한 유연하고 확장 가능한 인공지능 활용 기반을 제공합니다.
1. 토큰
토큰 = 문장의 조각
- GPT 모델은 사람처럼 “단어”를 이해하지 않고 "토큰 단위"로 문장을 처리합니다.
- 이 토큰은 단어의 일부, 전체 또는 기호일 수 있습니다.
"ChatGPT is amazing!"
→ 토큰으로 나누면:
["Chat", "G", "PT", " is", " amazing", "!"] → 총 6개 토큰
- 영어 기준으로는 보통 1단어 = 1~2 토큰
- 한글은 보통 1글자당 2~3토큰 가량 됩니다.
2. 요금
OpenAI의 API 또는 GPT 엔진을 이용할 때 요금은 입력 토큰 + 출력 토큰을 기준으로 계산됩니다.
Per 1M tokens은 100만 토큰을 처리했을 때 얼마를 지불하는가를 말합니다.
- GPT-3.5-turbo:
- 입력 1M tokens → $0.50
- 출력 1M tokens → $1.50
- 👉 https://platform.openai.com/tokenizer (토큰 계산기)
즉, 100만 토큰 입력 + 출력이면 총 $2.00 요금이 나올 수 있습니다.
3. Chat API 구조
대화 메시지들을 순서대로 보내면, GPT가 그 흐름을 이해하고 응답을 생성하는 방식입니다. 즉, "역할(role)" + "내용(content)" 쌍들을 배열로 만들어 GPT에게 전달합니다.
{
"model": "gpt-4",
"messages": [
{
"role": "system",
"content": "너는 초보자를 위한 파이썬 튜터야."
},
{
"role": "user",
"content": "리스트와 튜플의 차이를 알려줘."
}
]
}
| system | GPT의 성격, 말투, 역할을 설정 | "너는 친절한 파이썬 선생님이야." |
| user | 사용자의 요청 또는 질문 | "for문은 어떻게 써?" |
| assistant | GPT의 응답 내용 (선택적으로 포함) | "for문은 리스트를 반복할 때 사용해요." |
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(
api_key = os.getenv("API_KEY")
)
response = client.chat.completions.create(
model="gpt-4.1-mini-2025-04-14",
messages=[{"role": "user", "content": "왜 강남은 강남이라고 할까요?"}],
temperature=0.0
)
print(response.choices[0].message.content)
print(response)
6. 프롬프팅을 이용한 기획자료 만들기
1. PRD
PRD(Product Requirements Document, 제품 요구사항 문서)는 제품이나 서비스가 어떤 기능을 가져야 하는지를 명확히 정의한 문서로, 개발자, 디자이너, 기획자 등 협업자 간의 공통 이해를 돕기 위해 작성됩니다. PRD에는 제품의 목표, 핵심 기능, 사용자 시나리오, 우선순위, 기술적 제약사항, 성능 기준 등이 포함되며, 제품 개발 과정에서 방향성을 잡고 의사결정을 내리는 기준이 됩니다. 잘 정리된 PRD는 프로젝트의 실패 가능성을 줄이고, 명확한 커뮤니케이션을 통해 개발 효율을 높이는 데 중요한 역할을 합니다.
PRD 문서의 주요 구성 요소
- 제품 개요(Product Overview)
- 제품 또는 기능의 목적, 배경, 해결하고자 하는 문제 등을 간단하게 설명합니다.
- 왜 이 제품(또는 기능)이 필요한지에 대한 맥락을 제공합니다.
- 핵심 기능 목록(Key Features)
- 제품이 제공해야 하는 주요 기능들을 나열합니다.
- 각 기능은 명확하게 측정 가능하고 구현 가능한 단위로 나눠져 있어야 합니다.
- 사용자 시나리오(User Scenarios)
- 실제 사용자가 제품을 어떻게 사용할지를 단계별로 설명합니다.
- 사용자 여정(User Journey)이나 페르소나(Persona) 기반으로 작성되기도 합니다.
- 기능 상세 설명(Feature Requirements)
- 각 기능에 대한 구체적인 동작 방식, 입력값/출력값, 조건, 예외 처리 등을 기술합니다.
- 개발자가 기능을 구현할 수 있도록 상세한 로직이나 화면 흐름을 포함하기도 합니다.
- 우선순위(Prioritization)
- 각 기능의 중요도나 긴급도를 기준으로 Must / Should / Could / Won’t 방식으로 나누기도 합니다.
- 기술적 고려 사항(Technical Considerations)
- 개발에 필요한 API, 외부 서비스 연동, 보안, 성능 요구사항 등을 포함합니다.
- 백엔드/프론트엔드 기술 스택, 데이터베이스 구조, 인프라 요구사항도 들어갈 수 있습니다.
- 비기능 요구사항(Non-functional Requirements)
- 성능, 확장성, 접근성, 사용성, 브라우저 호환성 등의 품질 기준을 명시합니다.
- 측정 지표 및 성공 기준(Metrics and KPIs)
- 기능이나 제품이 성공적으로 작동하고 있는지를 판단할 수 있는 정량적 지표를 정의합니다.
- 일정 및 마일스톤(Timeline & Milestones)
- 개발, 테스트, 출시까지의 일정을 간단하게 포함하기도 합니다.
PRD를 만들기 위한 프롬프트를 작성해줘
2. IA
IA(Information Architecture, 정보 구조)는 사용자가 웹사이트나 애플리케이션에서 정보를 쉽고 효율적으로 찾을 수 있도록 콘텐츠와 기능을 체계적으로 분류하고 구조화하는 설계 방식입니다. IA는 메뉴 구조, 페이지 흐름, 내비게이션 시스템 등을 포함하며, 사용자의 목표 달성과 정보 탐색을 돕기 위해 정보의 우선순위, 그룹화, 명칭 등을 전략적으로 정리합니다. 잘 설계된 IA는 사용자 경험(UX)을 향상시키고, 혼란 없이 직관적으로 콘텐츠를 이용할 수 있도록 하는 핵심 요소입니다.
IA의 핵심 구성 요소
- 조직화 체계 (Organization Systems)
- 콘텐츠를 분류하고 그룹화하는 방식입니다.
- 예: 주제별, 알파벳순, 시간순, 사용자 기반 분류 등.
- 라벨링 시스템 (Labeling Systems)
- 콘텐츠나 기능을 명확하게 표현하기 위한 명칭 체계입니다.
- 예: “고객센터” vs. “문의하기”, “블로그” vs. “뉴스룸”
- 내비게이션 시스템 (Navigation Systems)
- 사용자가 사이트나 앱 내에서 이동할 수 있도록 안내하는 방식입니다.
- 예: 상단 메뉴, 햄버거 메뉴, 사이드바, 하단 탭 등.
- 검색 시스템 (Search Systems)
- 사용자가 특정 콘텐츠를 직접 검색할 수 있도록 지원합니다.
- 예: 자동완성, 필터링, 카테고리 검색 등
IA를 만들기 위한 프롬프트를 작성해줘
3. 유스케이스
유스케이스(Use Case)는 사용자가 시스템과 상호작용하는 방식을 시나리오 형태로 설명한 것으로, 시스템이 제공해야 할 기능과 그 기능이 사용되는 맥락을 명확하게 보여주는 요구사항 표현 방식입니다. 주로 소프트웨어 설계나 제품 기획에서 사용되며, "누가(Actor)가 무엇을(Goal) 어떻게(System behavior) 한다"는 구조로 이루어져 있어 개발자와 디자이너가 사용자 관점에서 기능을 이해하고 구현할 수 있도록 돕습니다. 유스케이스는 시스템의 기능을 사용자 중심으로 구체화해주는 도구로, 기능명세서나 UX 설계의 기초 자료로도 활용됩니다.
유스케이스 구성 요소
- Actor (행위자)
- 시스템과 상호작용하는 주체 (사람, 외부 시스템 등)
- 예: 사용자, 관리자, 외부 결제 API 등
- Use Case (사용 사례)
- 행위자가 시스템과 상호작용하여 달성하려는 목표나 기능
- 예: "회원가입", "상품 주문", "리뷰 작성"
- 시나리오(흐름)
- 사용자가 기능을 수행하는 순서와 시스템의 반응을 기술
- 주 시나리오(Main Flow)와 예외 시나리오(Exception Flow)로 나뉠 수 있음
- 사전 조건(Precondition)
- 해당 유스케이스가 실행되기 전에 반드시 만족되어야 하는 조건
- 예: 사용자가 로그인한 상태여야 함
- 결과(Postcondition)
- 유스케이스 실행 후 시스템의 상태 변화
- 예: 주문이 완료되어 결제 내역이 저장됨
USE CASE를 만들기 위한 프롬프트를 작성해줘