업무 파일럿(업무 전문가)를 위한 프롬프트 엔지니어링: 실전 가이드 – 1. 프롬프트 엔지니어링 04 출력 형식
한 업무의 결과가 다른 업무의 입력으로 사용되는 경우, 데이터 형식이나 구조에 대한 요구가 있을 수 있습니다. 결과가 생성형 AI에 의해 생성되는 경우 출력 형식을 지정하거나 예시로 작성할 수 있습니다.
-
이전 업무의 생성 결과를 다음 업무에서 소프트웨어 적으로 처리해야 할 필요가 있는 경우: JSON이나 XML과 같은 구조화된 데이터 형식이 적합합니다. 이러한 형식은 데이터의 구조를 명확하게 정의하고, 기계가 쉽게 파싱하고 처리할 수 있도록 설계되었습니다. 데이터의 일관성과 정확성을 유지하는 데 효과적입니다.
- 형식에 대한 요구만 있는 경우
- 다음 회사 직원 정보를 JSON과 XML 두 가지 형식으로 모두 출력해주세요:
– 직원명
– 부서
– 입사일
– 담당 프로젝트 목록
– 보유 기술
- 다음 회사 직원 정보를 JSON과 XML 두 가지 형식으로 모두 출력해주세요:
- 세부 요구사항이 있는 경우
- 팀 프로젝트 정보를 다음 JSON 구조로 출력해주세요:
{
“projectName”: “프로젝트명”,
“duration”: “기간”,
“members”: [
{
“name”: “이름”,
“role”: “역할”,
“tasks”: [“작업1”, “작업2”]
}
]
} - 학교 정보를 다음 XML 구조로 작성해주세요:
<school>
<name>학교명</name>
<departments>
<department>
<name>학과명</name>
…
</school>
- 팀 프로젝트 정보를 다음 JSON 구조로 출력해주세요:
- 예시로 작성
- 부산의 인구, 면적, 설립 연도를 JSON 형식으로 출력해주세요.출력 형식 예시:
json
{
"city": "Seoul",
"population": 9700000,
"area": 605.2,
"founded": 1392
}
- 부산의 인구, 면적, 설립 연도를 JSON 형식으로 출력해주세요.출력 형식 예시:
- 형식에 대한 요구만 있는 경우
- 생성형 AI 모델 뿐만 아니라 사람도 읽고 이해하는 것이 중요한 경우 (보고서, 문서 등): 마크다운, HTML, 또는 일반 텍스트와 같은 사람이 읽기 쉬운 형식이 적합합니다. 가독성과 이해도를 높이는 데 중점을 두고, 필요한 경우 표나 그림과 같은 시각적 요소를 추가할 수 있습니다.
- 마크다운 – 주요 정보를 섹션으로 구분하기 좋습니다. 생성형 AI 모델이 정보를 더 효율적으로 처리할 수 있게 해주기 때문에 응답 뿐만 아니라 프롬프트 핵심요소 구조화에도 효과적입니다.
- # [제목]
## [부제목]
### [소제목] - – 항목1
– 항목2 - 1. 순서1
2. 순서2
- # [제목]
- 구조와 데이터 형식
- 제목: [제목]
주요 내용: [내용]
결론: [결론] - 제목: [입력]
작성자: [입력]
날짜: [YYYY-MM-DD]
카테고리: [선택사항: A/B/C]
내용: [입력]
- 제목: [제목]
- 조건부
- IF [조건] THEN
[출력 형식 A]
ELSE
[출력 형식 B]- IF <numeric_value> > 0 AND <numeric_value> < 100 THEN
“범위 내”
ELSE
“범위 밖”
- IF <numeric_value> > 0 AND <numeric_value> < 100 THEN
- IF [조건] THEN
- 표
- | 열1 | 열2 | 열3 |
|—–|—–|—–|
| 데이터1 | 데이터2 | 데이터3 |
- | 열1 | 열2 | 열3 |
- 포맷 지시어 사용
- 리스트 형식
<numbered_list>
: 번호 매긴 목록<bullet_points>
: 글머리 기호 목록<comma_separated_list>
: 쉼표로 구분된 목록
- 데이터 유형 지정
<numeric_value>
: 숫자 값<percentage>
: 퍼센트 형식<currency_value>
: 화폐 값<date_format>
: 날짜 형식 (YYYY-MM-DD)
- 텍스트 스타일
<uppercase>
: 대문자<lowercase>
: 소문자<title_case>
: 각 단어의 첫 글자 대문자<camel_case>
: 낙타 등 표기법
- 구체적인 출력 구조
<key_value_pairs>
: 키-값 쌍<table_format>
: 표 형식<markdown_table>
: 마크다운 표<code_block>
: 코드 블록
- 길이 및 상세도 지정
<short_description>
: 간단한 설명<detailed_explanation>
: 상세한 설명<max_words:20>
: 최대 단어 수<min_words:50>
: 최소 단어 수
- 감정 및 톤
<professional_tone>
<casual_tone>
<empathetic_response>
- 특정 도메인 형식
<scientific_notation>
<chemical_formula>
<programming_syntax>
- 예시
- “키는
<numeric_value>
형식을 사용하고, 시장 점유율은<percentage>
형식을 사용하고, 월 매출은<currency_value>
형식을 사용해서 표시해주세요.” - “서울에 대해 다음 형식으로 정보를 제공하세요:
{
“name”: <city_name>,
“population”: <numeric_value>,
“founded”: <year>,
“key_attractions”: <comma_separated_list>,
“description”: <short_description>
}”
- “키는
- 리스트 형식
- 마크다운 – 주요 정보를 섹션으로 구분하기 좋습니다. 생성형 AI 모델이 정보를 더 효율적으로 처리할 수 있게 해주기 때문에 응답 뿐만 아니라 프롬프트 핵심요소 구조화에도 효과적입니다.
- 플레이스 홀더
- 여러 단계가 있고 이전 단계의 결과를 사용해야 할 경우, 이전 단계의 결과를 지정해야 합니다.
- 플레이스홀더가 일반 텍스트와 명확히 구분되어야 하며, 어떤 값으로 대체될지 명확하게 나타내야 한다는 것입니다.
- 구분자 사용
- 플레이스 홀더가 무엇으로 대체되어야 하는 지를 설명합니다.
- [프롬프트 2의 출력(영어 번역)]
- 프롬프트 2의 출력을 영어 번역한 결과로 대체됩니다.
- [프롬프트 2의 출력(영어 번역)]
- 지정 방식은 사용하는 시스템이나 프로그래밍 언어, 혹은 특정 애플리케이션에 따라 관습적인 표기법이 있을 수 있습니다.
- 대괄호: [내용]
- 가장 일반적입니다. 명확하게 구분되고 직관적입니다.
- 중괄호
- {내용}
- 프로그래밍에서 변수를 나타낼 때 자주 사용됩니다. (예: Python의 f-string)
- {내용}
- 이중 중괄호
- {{내용}}
- 템플릿 엔진이나 특정 마크업 언어에서 사용될 수 있습니다. 변수와 일반 텍스트를 명확히 구분하기 위해 사용합니다.
- {{내용}}
- 특수 기호
- %내용%, $내용, #내용#
- 특정 프로그램이나 시스템에서 사용되는 특수 기호를 사용할 수 있습니다.
- %내용%, $내용, #내용#
- 함수 호출 형태
- get_content(), content()
- 프로그래밍적으로 값을 가져오는 경우 함수 호출 형태를 사용하기도 합니다.
- get_content(), content()
- 대괄호: [내용]
- 생성형 AI 모델이 플레이스홀더에 내용을 채워 넣을 수 없습니다. 플레이스홀더가 제대로 작동하려면 플레이스홀더를 해석하고 처리하는 기능이 생성형 AI 서비스로 제공되어야 합니다.