프롬프트 자동 최적화 — DSPy·OPRO로 사람이 안 만지는 프롬프트 만들기
프롬프트는 사람이 매번 손으로 튜닝합니다. 모델이 바뀌면 다시 처음부터. DSPy·OPRO 같은 프레임은 프롬프트를 자동으로 최적화합니다 — 골든셋과 메트릭만 주면 도구가 가장 좋은 프롬프트를 찾아옵니다. 마케터가 알아야 할 자동 프롬프트 엔지니어링.
프롬프트는 매번 사람이 손으로 만지고, 모델이 바뀌면 다시 처음부터 튜닝합니다. 한 마케팅 챗봇 프롬프트가 1주일에 3시간씩 들어가는 자리가 흔합니다. DSPy·OPRO 같은 프레임은 같은 작업을 자동화합니다 — 골든셋과 메트릭만 주면 도구가 가장 좋은 프롬프트를 검색·진화시켜 찾아옵니다. 사람이 안 만지는 프롬프트 시대가 어떻게 가능한지 정리합니다.
1. 사람이 프롬프트를 만지는 자리의 한계
마케팅에서 LLM 프롬프트가 들어가는 자리는 매주 늘어납니다.
- 광고 카피 생성
- 상품 설명 변형
- FAQ 챗봇 응답
- 마케팅 리포트 자동 요약
- 이메일 subject 변형
각 자리에 사람이 프롬프트를 직접 만집니다. 운영의 한계는 다음입니다.
- 모델이 바뀌면 다시 처음부터 — GPT-4 → Claude 3.5 → Gemini 2.0. 같은 프롬프트가 다른 결과
- 매개변수가 너무 많음 — temperature·top_p·system message·few-shot 예시 개수
- “좋은 프롬프트”의 평가가 주관적 — 사람마다 다른 결론
- 대규모 자동화 어려움 — 100개 자리에 다 손으로 튜닝 못 함
자동 최적화 도구가 답하는 한 줄짜리 질문은 다음입니다.
골든셋과 메트릭이 있을 때, 가장 좋은 프롬프트를 도구가 자동으로 찾을 수 있는가.
DSPy(Stanford NLP, 2023)와 OPRO(Google DeepMind, 2023)가 이 답을 가장 명확히 줍니다.
2. DSPy의 직관 — 프롬프트를 코드처럼 다룬다
DSPy(Demonstrate-Search-Predict)의 핵심 아이디어는 프롬프트를 직접 만지는 게 아니라 “입력·출력·메트릭”의 명세만 정의하면 도구가 프롬프트 자동 생성한다는 것.
전통적 패턴:
“광고 카피를 5개 만들어주세요. 톤은 친근하고, 길이는 30자 이내, …” (사람이 길게 씀)
DSPy 패턴:
import dspy
class CopyGen(dspy.Signature): """상품 설명에서 친근한 광고 카피 5개 생성""" product = dspy.InputField() copies = dspy.OutputField(desc='30자 이내 광고 카피 5개, 줄바꿈 분리')
generator = dspy.Predict(CopyGen)optimized = dspy.MIPROv2(metric=my_metric).compile(generator, trainset=goldenset)이게 본문의 유일한 코드입니다. Signature(입력·출력 명세)와 metric만 정의하고 골든셋 50~100개 주면, MIPROv2 같은 옵티마이저가 프롬프트를 자동 검색·진화시킵니다.
DSPy의 핵심 도구:
- Signature — 입력·출력의 타입과 의도
- Module — Predict·ChainOfThought·ReAct 같은 패턴
- Optimizer — BootstrapFewShot·MIPROv2·BetterTogether 등
- Metric — 정확도·LLM-as-judge·도메인 특화 점수
3. OPRO의 직관 — LLM을 옵티마이저로
OPRO(Optimization by PROmpting)는 더 단순합니다 — LLM 자체를 옵티마이저로 사용합니다.
흐름:
- 후보 프롬프트 5개 + 각각의 메트릭 점수 표를 LLM에 보여줌
- “이 표를 보고 더 좋은 점수를 낼 새 프롬프트 5개를 제안해” 요청
- 새 후보들 평가 → 다시 표 → 또 새 후보들 (반복)
- 메트릭이 수렴하거나 budget 다 쓰면 멈춤
LLM이 프롬프트 공간을 탐색하는 evolutionary 알고리즘. 사람이 명시적 규칙을 정하지 않아도 자연어 지시로 도구가 진화시킵니다.
| 비교 | DSPy | OPRO |
|---|---|---|
| 프롬프트 정의 | Signature·Module 추상화 | 자연어 후보들 |
| 옵티마이저 | bootstrap·MIPRO 등 통계적 | LLM이 직접 |
| 인프라 부담 | 학습 커브 있음 | 단순 |
| 강점 | 복잡 파이프라인 | 단일 프롬프트 |
| 약점 | 추상화 부담 | LLM API 비용 |
4. 운영의 핵심 — 골든셋·메트릭 설계
자동 최적화 도구의 효과는 골든셋·메트릭 설계의 질에 달려 있습니다. 도구가 자동이라도 사람의 일은 남아 있습니다.
4-1. 골든셋 설계
좋은 골든셋의 조건:
- 크기 50-200개 — 너무 적으면 overfitting, 너무 많으면 평가 비용 폭증
- 도메인 분포 대표 — 운영의 전형적·예외적·어려운 케이스 모두
- 입력·출력 명확 — 사람이 봐도 답이 분명한 자리
4-2. 메트릭 설계
메트릭이 가장 어려운 자리:
- 단일 정량 메트릭(정확도·BLEU) → 단순, 명확. 자동 최적화에 가장 잘 듣음
- LLM-as-judge → 품질 평가에 적합. LLM-as-judge 글 참조
- 복합 메트릭(정확도 60% + 길이 20% + 톤 20%) → 가중 평균. 운영에 자주 쓰임
5. 마케팅 실무 케이스 3개
5-1. 광고 카피 생성 프롬프트 자동 튜닝
골든셋 — 과거 캠페인의 best CTR 카피 100개 (입력: 상품 설명, 출력: 카피 + CTR). 메트릭 — LLM-as-judge “이 카피가 친근한 톤이고 30자 이내인가”. DSPy로 1시간 학습 후 프롬프트가 사람 손튜닝 대비 LLM-as-judge 점수 12%p 향상되는 게 일반적.
5-2. RAG 답변 정확도 개선
골든셋 — FAQ 200개 (질문·이상적 답·관련 문서). 메트릭 — context relevance + faithfulness + answer relevance(RAGAS). 자동 최적화로 system prompt를 진화시켜 정확도 향상. 사람이 5번 손튜닝한 결과를 도구가 30분에 따라잡습니다.
5-3. 다국어 마케팅 카피 생성
같은 프롬프트가 영어·한국어·일본어에서 다른 정확도. 언어별로 따로 자동 최적화. 사람이 다 손으로 튜닝하면 30시간, 자동화로 3시간.
6. 자동 최적화가 깨질 때 — 흔한 함정 3가지
6-1. 골든셋이 너무 작거나 분포가 편향됨
50개 미만 골든셋으로 학습하면 overfitting. 운영 환경의 다양한 케이스를 커버 못 함. 100~200개·도메인 분포 대표 표본이 표준.
6-2. 메트릭이 운영 결정과 무관
자동 최적화가 BLEU 점수를 올렸는데 사람이 보면 더 부자연스러운 카피를 만들어내는 자리. 메트릭이 운영 의사결정과 정렬되어야 합니다. LLM-as-judge나 사람 라벨이 더 적합한 경우가 많습니다.
6-3. 비용·시간 통제 안 됨
OPRO는 LLM API를 많이 호출합니다. 한 번 학습에 50~200달러가 일반적. budget을 명시하지 않으면 비용 폭증.
7. 마치며 — “사람이 안 만지는 프롬프트”의 시대
5년 전엔 프롬프트 엔지니어가 한 분야였습니다. 지금은 도구가 그 일의 80%를 자동화하고 있습니다. 사람의 시간은 다음 자리로 이동합니다 — 골든셋·메트릭 설계, 도구 결과의 검증, 운영 적용.
DSPy·OPRO를 처음 도입할 때의 감각:
프롬프트를 손으로 만지지 말고, 골든셋·메트릭을 정의하고, 도구가 학습한 결과를 검증해라.
이 한 줄의 운영 변화로 LLM 응용의 운영 비용·정확도가 동시에 개선됩니다.
다음 글에서는 같은 AI 운영 자리의 마지막 도구, AI 에이전트 평가를 다룹니다. 단일 응답이 아닌 다단계 추론·tool 사용을 어떻게 평가하느냐의 자리입니다.
참고
- Khattab et al. (2023), DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines — DSPy 원전
- Yang et al. (2023), Large Language Models as Optimizers — OPRO 원전
- Pryzant et al. (2023), Automatic Prompt Optimization with Gradient Descent and Beam Search — 또 다른 자동 최적화 접근
- DSPy 공식 문서 — 운영 적용 표준
- TextGrad — gradient-based prompt optimization — 새로운 자동 최적화 프레임
- huny.log 내부 글: LLM-as-judge, RAG 평가, LLM 카피 파이프라인
AI·LLM 카테고리의 다른 글
전체 보기 →-
2026·05·16
LLM 운영 비용 폭주를 막는 6가지 guardrail — 마케팅 자동화의 cost·latency·품질 동시 관리
LLM을 운영에 올리면 어느 날 갑자기 비용이 10배로 튑니다. retry storm·프롬프트 폭증·모델 자동 승격·context 누적 등 폭주 패턴 6가지와 그것을 막는 guardrail을 정리합니다.
-
2026·05·10
LLM evaluation harness — 분기마다 챗봇 품질을 자동 평가하는 공장
챗봇·에이전트가 운영에 들어가면 한 번 평가가 아니라 분기 자동 평가가 필요합니다. 골든셋·regression·hyperparameter A/B를 묶는 evaluation harness 설계와 마케팅 자리에서의 적용.
-
2026·05·09
Context engineering — 200k 토큰 컨텍스트의 설계 원칙 5가지
컨텍스트 창이 200k 토큰까지 커졌지만 단순히 다 넣으면 lost-in-the-middle·비용 폭발·정확도 하락이 옵니다. 마케팅 자동화에 적용하는 5가지 컨텍스트 설계 원칙.
-
2026·05·09
Function calling 설계 패턴 — LLM이 도구를 부를 때 마케터가 점검할 것
LLM이 광고 API·BigQuery·Slack을 직접 부르기 시작하면, 답변 품질보다 "어느 도구를 언제 부를지"가 운영 사고의 진앙이 됩니다. function calling의 한 줄 직관과 마케터가 점검할 5가지.