brunch

복잡한 AI 프롬프트, 이제부터 YAML에게 맡겨요

초보자도 10분이면 프롬프트 효율을 200% 향상

by onlino

챗GPT나 claude에서 자연어로 작성된 프롬프트를 사용하여 요청을 전달하고, 실행의 답변을 전달받는데요. 처음에는 이렇게 말하듯 문장으로 작성하고 요청하는 방식이 편하지만, 프롬프트의 내용이 길어지고 서로 다른 시도가 겹치면서 처음 의도가 흐려지면서 프롬프트에서 사용되는 언어적 표현과 사용 단어나 키워드, 문장의 구성 형태에 따라 매번 수행결과들이 달라져 정확한 출력 결과를 얻기 위해 보다 구체적이고 세부적인 요청들을 전달해야겠다는 생각을 많이 하게 됩니다. 저 역시도 프롬프트에서 단어 하나를 바꾸는 것으로 몇시간동안 실행 결과가 제대로 나오지 않아 고심하는 문제를 해결한 경험도 몇번 있어 이런 어려움에 많이 공감이 되네요. 이런 언어적 모호성으로 인한 문제들 이외에도 프롬프트의 일부를 수정하거나 다른 사람이 작성한 프롬프트를 받아 변경하거나 업데이트해야하는 경우도 프롬프트의 내용을 이해하는 일이 쉽지 않습니다.


"SEO 최적화된 블로그 글을 전문적이면서도 친근한 톤으로 1,500자 내외로 작성해줘. 키워드는 'AI 활용법'이고, 초보자도 이해하기 쉽게 예시를 들어서 설명해줘"라는 프롬프트가 처음엔 잘 작동했는데, 나중에 '전문적인 톤'을 '캐주얼한 톤'으로 바꾸려니 문장 중간에 숨어있는 단어를 찾아 수정해야 합니다. 만일 팀원이 "내가 쓴 프롬프트는 왜 다른 결과가 나오지?"라고 물으면, 어디가 달라서 그런지 비교하기도 어렵죠. 이런 상황은 프롬프트가 복잡해질수록 더 심해집니다. 번역 작업에 용어집을 추가하거나, 코드 생성에 특정 규칙을 넣거나, 고객 응대 시나리오별로 다른 톤을 설정해야 할 때면 프롬프트가 한 페이지를 넘어가기도 합니다. 버전을 바꿔가며 실험하거나 팀과 공유할수록 그 혼란은 더욱 더 커집니다.


이때 사람이 읽고 쓰기 쉬운 데이터 포맷(YAML)으로 프롬프트를 구조화하면, 정리된 노트에서 필요한 내용을 한 눈에 파악할 수 있듯이 프롬프트의 작성 의도와 흐름을 한눈에 알 수 있습니다. 무엇을 왜 그렇게 지시했는지 기록이 남고, 다음 실행의 출발점도 명확해집니다. 오늘은 YAML이 무엇인지, 기본 문법은 어떻게 되는지, 그리고 왜 프롬프트에 유용한지에 대해서 알아보겠습니다.


YAML이란 무엇인가요?


YAML은 "YAML Ain't Markup Language"의 약자로, 들여쓰기와 기호(-, :)로 정보를 정리하는 방식입니다. 마치 우리가 노트에 제목을 쓰고 그 아래 내용을 들여쓰기로 구분하듯이, YAML도 비슷한 방식으로 정보를 체계화합니다. 예를 들어 살펴볼까요? 자료를 조사하고 블로그를 작성하도록 요청하는 자연어 프롬프트는 아래와 같습니다.

"블로그 글을 써야 하는데, 전문가 관점에서 자료조사하고 개요 작성한 다음 원고 작성해야 함. 톤은 친근하게, 분량은 1600-1800자로"

위의 프롬프트를 YAML형식으로 표현하면 아래와 같습니다.

title: AI 블로그 글 작성
version: v1.0
role: 블로그 전문가
steps:
- 자료 조사
- 개요 작성
- 원고 작성
style:
tone: 친근하고 명확
length: 1600~1800자

위에서 알 수 있듯이, YAML은 정보를 '제목: 내용' 형태로 정리하고, 하위 항목은 들여쓰기로 구분합니다. 마이너스(-) 기호는 목록을 표시할 때 사용합니다. 이렇게 하면 복잡한 내용도 한눈에 들어오게 됩니다. 이런 구조화의 장점은 명확합니다. 짧은 문장으로 뭉뚱그려 쓴 것보다, 무엇을 어떤 순서로 어떤 톤으로 수행할지 각각 따로 명시되어 있어서 나중에 다시 봐도 이해하기 쉽고, 다른 사람과 공유할 때도 오해가 줄어듭니다. 특히 팀에서 새로운 멤버가 들어왔을 때 일관된 작업 방식을 전달하는 데 매우 유용합니다.


YAML 기본 문법 배우기


YAML을 처음 접하면 어렵게 느껴질 수 있지만, 사실 몇 가지 규칙만 알면 됩니다.


기본 규칙 1: 키-값 쌍 (Key-Value Pairs)가장 기본적인 형태는 '이름: 값' 형식입니다.

name: ChatGPT 프롬프트
type: 블로그 작성용
date: 2024-03-15

기본 규칙 2: 들여쓰기로 계층 표현하위 항목은 들여쓰기(스페이스 2개 또는 4개)로 표현합니다. 탭(Tab)은 사용하지 않습니다!

project:
name: AI 글쓰기 도우미
version: 2.0
features:
tone: 전문적
length: 중간

기본 규칙 3: 목록 만들기마이너스(-) 기호로 목록을 만듭니다.

tasks:
- 주제 분석
- 자료 수집
- 초안 작성
- 퇴고

기본 규칙 4: 여러 줄 텍스트긴 텍스트는 파이프(|) 기호를 사용합니다.

instruction: |
이 프롬프트는 블로그 글을 작성할 때 사용합니다. 전문적이면서도 이해하기 쉬운 톤을 유지해주 세요. 독자는 AI에 관심있는 일반인입니다.

작성할 때 아래의 주의 사항을 추가로 참고해 주세요.

들여쓰기는 일관되게 (스페이스 2개 또는 4개 통일)

콜론(:) 뒤에는 반드시 공백

특수문자가 포함된 값은 따옴표로 감싸기

YAML을 좀 더 잘 사용하기 위해서는 더 많은 구체적인 내용들을 배우고 알아두면 도움이 되는데요. YAML에 대해 더 알고 싶다면, 아래의 사이트를 참고해 주세요. YAML의 기본 스킬들을 배우고 익히실 수 있어요.


- YAML Ain’t Markup Language (YAML™) version 1.2

- YAML Tutorial : A Complete Language Guide with Examples



왜 YAML로 프롬프트를 작성하나요?


실무에서 프롬프트가 한 번 작성으로 끝나지 않습니다. 수정·재활용·협업이 반복되며, 과거 버전의 선택과 의도가 현재 결과에 영향을 줍니다. YAML은 가독성 덕분에 어디를 바꿔야 할지 금세 보이고, 동일한 골격을 유지한 채 핵심만 교체해 여러 프로젝트에 적용하기 좋습니다. 팀 단위로는 공통 포맷을 합의해두면 오해를 줄이고 리뷰 속도를 높일 수 있습니다. 무엇보다 "무엇을 바꿔 어떤 효과가 났는가"를 기록으로 남겨 실험의 학습효과를 누적시킵니다. YAML방식의 프롬프트 방식이 가진 장점들을 나열하면 아래와 같습니다.


요약 가독성: 구조가 눈에 들어와 수정 지점이 분명함

버전 관리: version 필드로 변경 이력을 추적하기 쉬움

재사용성: 틀은 고정, 핵심만 치환해 다용도 활용

협업: 같은 블록 순서·명칭으로 커뮤니케이션 비용 절감

프롬프트 이해력 향상: 영어와 한국어를 혼용하여 각 언어가 가진 어휘와 표현의 의미 이해를 높임


물론 장점만 있는 것은 아닙니다. 들여쓰기가 탭이 아닌 공백(space)을 사용해서 오류가 자주 발생하며, 서로 다른 구조를 가진 여러 프롬프트를 병합하는 일은 쉽지 않습니다. 또한 자연어 프롬프트보다 설명이 간략해져서 맥락이나 뉘앙스가 누락될 수 있고, 경우에 따라서는 내용보다 구조를 위한 항목이 많아져 오히려 복잡해 보일 수도 있습니다. 이러한 제약점들을 고려해서 올바르게 사용하는 것이 유효합니다.


실제 적용: 일반 프롬프트 vs YAML, 그리고 작성 팁


자연어 프롬프트는 빠르고 직관적입니다. 반면 YAML은 초반에 구조화하여 작성해야함으로 번거롭지만, 요구사항을 빠짐없이 정의하고 변형하기 쉬운 상태를 만듭니다. 팀에서 일관성을 유지하거나 여러 시도를 병렬로 진행할 때 특히 유리합니다. 같은 구조로 대안을 몇 개 만들어 A/B 테스트를 돌리고, 성능이 좋은 조합만 남기는 식의 운영이 수월해집니다. 자연어로 작성된 블로그 작성을 위한 프롬프트를 예시로 살펴볼까요?

"당신은 비즈니스 전문가입니다. AI분야의 신규 비즈니스 기회에 대해 리서치를 수행하고 주요 시장 기회와 영역, 제약사항에 관해 2,000자 이내의 글로 작성해 주세요"

위의 자연어 프롬프트를 YAML 형식으로 표현하면 아래와 같습니다.

-meta:
title: AI 신규 비즈니스 기회 리서치
version: v1.0
role: 비즈니스 전문가

# 작업 순서를 명시합니다
task_flow:
- AI 분야 신규 비즈니스 기회 조사
- 주요 시장 기획 및 영역 분석
- 제약사항 도출

# 스타일 가이드를 정의합니다
guide:
tone: 전문적이고 명확
length: 2,000자 내외
target: 비즈니스 및 투자 관련 독자

# 출력 형식을 정의합니다
output_format:
- heading: 시장 기회
description: "시장 규모, 성장 가능성, 트렌드 등 기회의 범위와 특징을 서술"
- heading: 주요 영역
description: "기술·산업별 적용 가능성과 구체 사례 설명"
- heading: 제약사항
description: "법규, 기술적 한계, 경쟁 상황 등 비즈니스 추진에 영향을 미치는 제약 설명"
- heading: 결론
description: "종합 요약 및 비즈니스 전략 시사점 제시"

이처럼 YAML 형식은 자연어 문장보다 훨씬 읽기 쉽고, 프롬프트에 포함된 요소들을 한눈에 파악할 수 있습니다. 만일 YAML을 활용해 프롬프트 관리를 고려한다면, 효율 측면에서 몇 가지를 추가로 고려해 주세요. 버전 번호와 변경 이력을 기록해 실험의 맥락을 추적하고, 주석(#)을 활용해 각 항목의 의도와 근거를 명시하는 것이 좋습니다. 여러 팀이 함께 사용한다면 블록의 순서와 명칭을 통일해 혼란을 방지하세요. 중요한 건 유연성입니다. 작업이 단순할 때는 과감하게 짧은 자연어 프롬프트로 돌아가는 것도 좋은 선택입니다. 진짜 목표는 더 나은 결과물을 만드는 것임을 잊지 마세요.



지금까지 살펴보왔듯이, YAML은 프롬프트를 더 명확하고 체계적이며 재사용하는데 매우 효과적입니다. 다만 모든 상황의 만능키는 아니기에, 과제를 보고 "언제 YAML이 더 유리한가"를 판단하는 감각이 중요합니다. 처음엔 간단한 프롬프트부터 YAML로 변환해보세요. 이렇게 작은 것부터 시작하면 점차 복잡한 프롬프트도 체계적으로 정리할 수 있게 됩니다. 프롬프트를 작성할 때 조금씩 YAML로 구조화해보면, LLM에 전달하려는 의도가 명확해지고 실험과 협업이 훨씬 수월해집니다. 특히 자연어로 설명하기 어려운 복잡한 설정이나 항목별 세부사항을 다룰 때 YAML의 가능성을 크게 실감합니다. 긴 문장으로 풀어쓰는 대신 YAML의 구조화된 형식으로 정리하면, AI와의 협업이 훨씬 효율적이고 생산적으로 바뀝니다.


오늘 작성할 프롬프트 중 하나를 골라 YAML로 바꿔보는 것만으로도 충분합니다. 처음엔 어색할 수 있지만, 한 번 익숙해지면 프롬프트 작성이 얼마나 체계적이고 효과적으로 변하는지 직접 경험하게 될 거예요. 이제 작은 도전을 통해 큰 변화를 만들어 보세요.



함께 읽어보면 도움이되는 글들:

- AI 프롬프트 관리와 품질을 높이는 3가지 전략

- 나만의 AI 워크플로우 구축:AI 서비스 연결 전략

keyword
매거진의 이전글이제 Gemini가 자동으로 스토리북도 만들어줘요