[Prompt] 프롬프트의 동작
<원하는 결과물을 얻기 위한 출발점>
● 프롬프트 동작 원칙
1. 피드백 루프
(Feedback Loop)
사용자가 입력한
프롬프트에 대해 AI가 응답하고 그 응답을 기반으로 사용자가 다시 프롬프트를 수정하는 반복 과정
1) 초기 입력 : 사용자가 의도를 담아 프롬프트를 작성
2) AI 응답 : 입력에 따라 AI가 결과를 생성
3) 검토 및 수정 : 결과를 분석하고 부족하거나 과도한 부분을 조정
4) 재입력 : 개선된 프롬프트를 다시 입력하여 더욱 정교한 결과를 유도
☞ 이 과정을 반복함으로써 프롬프트의 품질은 점점 개선되고 원하는 결과에 근접
☞ AI는 사실처럼 보이지만 틀린 말(Hallucination)을 할 수 있음
2. 적절한 프롬프트의 선택
- 모든 상황에 통용되는 프롬프트는 없음
- 목적과 맥락에 따라 다양한 방식의 프롬프트를 선택
- 정보 요약이
필요하다면? → 요약 지시 프롬프트
- 특정 형식의
결과물이 필요하다면? → 출력 형식 지시 프롬프트
- 창의적인
결과가 필요하다면? → 자유 응답형 프롬프트
☞ 프롬프트는 질문이자 명령문
● 프롬프트 구성요소
구성요소 |
설명 |
지시(Instruction) |
AI가 수행해야
할 작업을 명령형으로 서술합니다. |
맥락(Context) |
작업과 관련된 배경 정보나 상황을 제공합니다. |
제약(Constraints) |
결과물의 형식, 길이, 언어 스타일 등의 제한을 명시합니다. |
입력 데이터(Input
Data) |
AI가 처리할 실제
데이터나 예시를 포함합니다. |
출력 지시자(Output
Indicator) |
결과가 어떤 형태로 나와야 하는지 구체적으로 제시합니다. |
● 프롬프트 작성에 사용되는 기호
프롬프트 안에서
의미를 명확하게 구분하거나 시각적 구조를 강조
1) 구분기호
(Delimiters)
구분기호 |
역할 |
설명 |
예시 |
“ “ (큰따옴표) |
문자열 구분 |
다른 사람의
말이나 글을 그대로 가져와 쓸 때 사용 |
"저는 행복합니다"라고 그가 말했다. |
‘ ‘ (작은따옴표) |
텍스트 구분 |
강조 또는
특정 단어/용어 지칭 |
'행복'이라는 단어 |
<지시> |
명령이나
태그 강조 |
AI에게 특정 속성이나 스타일을 지정할 때 사용 |
<문체: 공식적>, <형식: 표> |
[옵션] |
선택지 또는
매개변수 |
명령어 내에
선택 가능 요소를 표시하거나 필수 요소를 강조 |
[요약 길이: 100자] |
{변수} |
동적 내용
삽입 |
반복적으로
사용하는 변수나 사용자 입력값을 명확하게 삽입 |
안녕하세요, {사용자_이름}님. |
--- |
구간 분리선 |
지시문과
입력 데이터, 또는 여러 작업을 구분할 때 사용 |
지시사항 --- 입력 데이터 |
=> 또는 -> |
입력-출력 흐름 표시 |
특정 동작의
결과가 이어진다는 의미로 사용 |
요약 => 글의 핵심을 한 문장으로 요약 |
2) 마크다운
(Markdown)
문서의 구조를
쉽게 파악할 수 있도록 결과물의 시각적 구조를 개선
- 제목
: #, ##, ### 등으로 계층적 구조 제공
- 목록
: - 또는 숫자 활용 리스트
- 표
: | 와 - 기호로 간단히 생성
- 코드블록
: ``` 으로 코드 삽입 가능