
당신은 AI를 못하는 게 아니라, 프롬프트를 잘못 작성하고 있는 것입니다
요약
AI 모델의 성능 저하는 모델 자체의 문제보다 부실한 입력값(Input)에서 비롯됩니다. 맥락 제공, 통찰 중심의 요청, 메타 프롬프팅 등 결과물의 질을 혁신적으로 높일 수 있는 10가지 프롬프트 기술을 소개합니다.
핵심 포인트
- 맥락(Context) 제공을 통해 AI에게 구체적인 세계관을 구축해 주어야 함
- 단순 요약 대신 사람들이 놓치기 쉬운 통찰을 요구하여 차별화된 답변 유도
- AI가 스스로 더 나은 프롬프트를 작성하도록 만드는 메타 프롬프팅 활용
- 평균적인 답변을 피하기 위해 구체적인 페르소나와 목표를 설정할 것
제 친구 중 한 명은 지난주에 ChatGPT가 "쓸모없다"며 20분 동안 불평을 늘어놓았습니다.
저는 그의 프롬프트를 보여달라고 요청했습니다.
"마케팅 아이디어 좀 줘."
단 다섯 단어였습니다. 그는 마법을 기대했습니다.
모델이 고장 난 것이 아니었습니다. 프롬프트가 문제였습니다. 솔직히 말해서, 제가 보는 대부분의 개발자가 AI를 사용하며 좌절하는 이유도 이와 같습니다. 모델이 나빠서가 아니라, 입력값(Input)이 형편없었기 때문입니다.
결과물을 실제로 바꿔놓는 10가지 기술을 소개합니다. 저는 한동안 이 기술들을 사용해 왔으며, 그 차이는 확실합니다.
핵심 문제부터 짚어보기
목록을 보기 전에 — 왜 나쁜 프롬프트가 나쁜 결과물을 만들어내는지 이해해야 합니다.
이것을 생각해 보세요:
제가 당신에게 한 세계를 설명합니다. 건조하고 모래가 가득한 곳입니다. 사구(dunes)에 묻힌 희귀한 자원을 두고 싸우는 전쟁 중인 씨족들이 있습니다. 사람들은 생존을 위해 수분을 흡수하는 슈트를 입고 있습니다. 이제 제가 묻습니다 — 이 세계에 있는 거대한 생명체는 무엇인가요?
You는 '샌드웜(sandworms)', '듄(Dune)'이라고 답할 것입니다.
하지만 만약 제가 그냥 _"어떤 세계가 있는데, 거기 생명체는 뭐야?"_라고만 말했다면 — 당신은 트롤(trolls)이나 사이클롭스(Cyclops) 같은 완전히 일반적인 것을 말했을 것입니다.
이것이 바로 AI에게 일어나고 있는 일입니다. 당신이 제공하는 퍼즐 조각이 돌아오는 결과물의 형태를 결정합니다. 아무것도 주지 않으면, 통계적으로 가능한 가장 평균적인 답변을 얻게 됩니다. 모든 사람의 AI 결과물이 점점 비슷해 보이는 이유가 바로 이것입니다.
이것은 모델의 문제가 아닙니다. 입력(Input)의 문제입니다.
10가지 기술
1. 세계관 구축 (World Building) — 질문하기 전에 맥락(Context)을 제공하세요
프롬프트를 보내기 전에 스스로에게 물어보세요: 내가 실제로 얼마나 많은 맥락을 제공했는가?
- 이 상황에서 당신은 누구인가?
- 진짜 목표는 무엇인가?
- 대상(Audience)은 누구인가?
- 이미 시도해 본 것은 무엇인가?
- 좋은 답변은 실제로 어떤 모습인가?
다음 두 가지를 비교해 보세요:
내 프로젝트를 위한 README를 작성해 줘.
나는 마크다운(markdown)을 PDF로 변환하는 Go 언어 기반의 CLI 도구를 만드는 1인 개발자입니다.
타겟 대상은 브라우저 의존성 없이 빠른 문서 생성을 원하는 개발자들입니다. Quick start, installation, 그리고 ...를 포함한 README를 작성해 주세요.
같은 작업입니다. 하지만 결과물은 완전히 다릅니다.
실제 AI 제품의 시스템 프롬프트 (System prompts)도 같은 방식으로 작동합니다. Harvey (법률 AI)가 잘 작동하는 이유는 더 똑똑한 코드 때문이 아닙니다. 누군가가 프롬프트 안에 하나의 세계를 구축해 놓았기 때문입니다. 방대한 예시 목록, 언어적 if-else 문(Verbal if-else statements). 그것이 비결의 전부입니다.
2. 요약을 요청하지 마세요. 사람들이 가장 많이 틀리는 것을 요청하세요.
기본 프롬프트: "이 책을 요약해줘"라고 하면 이미 절반 정도는 알고 있는 뻔한 사실들만 얻게 됩니다.
더 나은 구조:
1. 이 책을 짧게 요약해줘
2. 레드 필 (red pill) 통찰을 제공해줘 — 대부분의 사람들이 놓치거나 반대로 알고 있는 것들
3. 그 통찰로부터 실행 가능한 증거를 제시해줘
...
대부분의 요약은 합의된 의견(consensus)으로 수렴합니다. 유용한 정보는 대부분의 사람들이 믿는 것과 실제 증거가 말하는 것 사이의 간극에 존재합니다. 그 간극을 직접적으로 요청하세요.
3. 메타 프롬프팅 (Meta-Prompting) — AI가 스스로를 위해 더 나은 프롬프트를 쓰게 하세요
프롬프트를 잘 작성할 필요는 없습니다. 그저 모델에게 도움을 요청하세요.
이미지 생성의 경우:
내 아이디어는 다음과 같아: [컨셉 설명].
이제 이것을 위한 Midjourney 프롬프트를 작성해줘.
시각적으로 중요한 요소에만 집중해줘. 배경 요소들을 과하게 구체화하지 마.
GPT는 확산 모델 (diffusion models)이 무엇을 과하게 처리하는 경향이 있는지 알고 있습니다. GPT가 작성한 프롬프트는 첫 번째 시도에서 당신의 것보다 더 깔끔할 것입니다.
UI 또는 프론트엔드 작업의 경우, _"Stripe 같은 페이지를 만들어줘"_라고 하는 대신, GPT에게 Stripe 랜딩 페이지의 모든 시각적 구성 요소를 먼저 분석해달라고 요청하세요. 색상, 타이포그래피 (typography), 레이아웃 로직, 간격, 상호작용 (interactions) 등 전체 사양 목록을 확보하세요. 그런 다음 그 목록을 실제 프롬프트로 사용하세요.
부드러운 다단계 그라데이션 (Soft multi-stop gradient). 청록색에서 채도가 낮은 노란색으로. 창백한 오프화이트 (off-white) 방사형 중심. 흐릿한 가장자리.
구체적인 사양 (specs)은 모호한 미적 참조보다 언제나 더 강력합니다.
4. 다단계 학습 (Multi-Level Teaching) — 세 가지 설명을 동시에 요청하세요
이 방법은 제가 새로운 개념을 습득하는 속도를 바꿔 놓았습니다.
[개념]을 세 가지 모드로 가르쳐줘:
- 모드 1: 나는 5살이야, 전문 용어는 전혀 쓰지 마
- 모드 2: 나는 기초 지식이 있는 컴퓨터 과학 (CS) 학부생이야
...
세 가지 설명, 하나의 응답. 쉬운 설명을 먼저 읽고 아이디어의 대략적인 윤곽을 잡은 다음, 이해가 되기 시작하면 더 깊게 파고드세요.
문서(Documentation)는 이를 수행할 수 없습니다. Stack Overflow도 이를 수행할 수 없습니다. AI와 함께라면, "여전히 이해가 안 돼, 더 쉽게 설명해 줘"라는 말은 같은 창 안에서 단 한 문장으로 해결됩니다.
5. Gap Finder (공백 탐색기) — 무엇을 놓치고 있는지 질문하기
아마 이 목록에서 가장 덜 활용되는 기술일 것입니다.
[주제 / 프로젝트 / 코드]에 대해 내가 말한 모든 내용을 바탕으로,
내 이해도에서 빠진 부분(gaps)은 무엇인가요?
내가 놓치고 있는 것이 무엇인가요?
...
작동 원리: 여기에는 자존심(ego)이 개입되지 않습니다. 동료가 당신의 사각지대를 지적할 때는 말투, 정치적 관계, 피드백을 완곡하게 표현하려는 태도 등 사회적 마찰(social friction)이 발생합니다. 하지만 AI를 사용하면, 당신은 그저 나열된 공백들을 확인하기만 하면 됩니다.
코드 리뷰를 위한 실전 버전:
내 아키텍처(architecture)와 접근 방식은 다음과 같습니다: [붙여넣기]
여기서 약한 부분, 누락된 부분, 또는 잘못된 부분은 무엇인가요?
...
거의 항상 당신이 미처 보지 못했던 무언가를 발견하게 될 것입니다.
6. Confidence Scores (신뢰도 점수) — AI가 말하는 모든 것을 믿지 마세요
AI 모델은 도움이 되도록 설계되었습니다. 그 부작용으로 사용자가 듣고 싶어 하는 내용을 확인해 주는 경향이 있습니다. 즉, 잘못된 정보도 올바른 정보와 똑같이 자신감 넘치는 어조로 전달됩니다.
단 한 줄로 이를 바꿀 수 있습니다:
당신이 제시하는 각 사실이나 주장(claim)에 대해 신뢰도 점수(1~10)를 추가하세요.
어떤 것이든 7점 미만이라면, 내가 무엇을 검증해야 할지 알 수 있도록 표시해 주세요.
숫자를 요구하는 순간, 모델의 태도가 바뀝니다. 단정적인 주장 대신 "이 부분은 약 60% 정도 확신합니다"와 같은 답변을 보기 시작할 것입니다. 8점 미만인 것은 중요한 곳에 적용하기 전에 반드시 직접 찾아보세요.
이는 보안 권고(security advice), 라이브러리 버전 관리(library versioning), 성능 벤치마크(performance benchmarks), 그리고 프로덕션 문서(production docs)에 들어가는 모든 내용에서 가장 중요합니다.
7. Voice-to-Text Prompts (음성-텍스트 프롬프트)
대부분의 개발자는 타이핑이 번거롭기 때문에 짧은 프롬프트를 작성합니다. 그 결과: 5단어짜리 프롬프트, 5문장짜리 일반적인 답변, 그리고 좌절감이 뒤따릅니다.
간단한 해결책: 타이핑하는 대신 녹음하세요.
휴대폰의 음성 녹음기를 켜세요. 당신이 무엇을 만들고 있는지, 무엇을 시도해 보았는지, 무엇이 고장 났는지, 좋은 답변은 어떤 모습인지, 걱정되는 예외 케이스 (edge cases)는 무엇인지 등 전체 과정을 말로 설명하세요. 5분 동안 말하는 것이 대부분의 사람들이 30분 동안 타이핑하는 것보다 더 유용한 문맥 (context)을 제공합니다.
그 내용을 전사 (transcribe)하여 프롬프트로 붙여넣으세요.
한 가지 알아둘 점은, 이것은 '음성에서 전사 후 붙여넣기' 방식이지, 실시간 AI 음성 대화 모드가 아니라는 것입니다. 실시간 음성 모드는 지연 시간 (latency)을 낮게 유지하기 위해 더 작고 빠른 모델을 실행합니다. 상세한 기술적 프롬프트 (technical prompt)를 원한다면, 당신은 전체 모델 (full model)을 사용해야 합니다. 녹음하고, 전사하고, 붙여넣으세요. 워크플로우 (workflow)가 다릅니다.
8. AI가 쓴 글처럼 보이지 않게 만드는 방법
AI의 도움을 받아 문서, README, 블로그 포스트 또는 기타 외부 콘텐츠를 작성할 때 유용합니다.
먼저 다음과 같은 문장 패턴을 제거하세요:
"X는 단순히 Y에 관한 것이 아닙"
"X는 Y를 넘어섭니다"
"이것은 단순한 Y 그 이상입니다"
이것들은 전형적인 거대언어모델 (LLM)의 구성 방식입니다. 이를 직접적인 긍정문으로 다시 작성하세요. 이 단 한 번의 변화만으로도 눈에 띄는 대부분의 특징을 제거할 수 있습니다.
그 다음, 당신의 글을 스타일 참조 (style reference)로 사용하세요:
여기에 제가 이전에 작성했던 글들이 있습니다: [본인이 작성한 글 3~5문단 붙여넣기]
이제 제가 [새로운 내용]을 작성할 때 이와 동일한 말투로 쓸 수 있도록 도와주세요.
...
당신의 말투를 완벽하게 복제하지는 못하겠지만, 공유된 템플릿 (template)이 아닌 사람이 쓴 것처럼 들릴 것입니다.
9. 다음에 무엇을 배워야 할까요?
'간극 찾기 (gap-finding)' 아이디어를 한 단계 더 발전시켜 보세요:
내 관심사와 내가 작업해 온 것들에 대해 당신이 알고 있는 내용을 바탕으로,
다음에 무엇을 배워야 하며 그 이유는 무엇인가요?
지금 당장 나에게 가장 큰 레버리지 (leverage)를 줄 수 있는 개념이나 기술은 무엇인가요?
당신이 배우게 될 가장 유용한 것들은 당신이 검색할 줄 알았던 것들이 아닙니다. 그것들은 당신이 이미 알고 있는 것들 사이의 연결, 즉 익숙한 것을 재구성해 주는 인접 분야의 개념들로부터 나옵니다.
제가 이 프롬프트를 실행해 보았더니 "비용이 많이 드는 신호 (costly signaling)"라는 개념이 떠올랐습니다. 이는 주의력과 존중이 실제 현장에서 어떻게 작동하는지를 설명해 주는 진화 심리학 (evolutionary psychology) 개념입니다. 구글링조차 하지 않았을 것이고, 그런 개념이 존재하는지도 몰랐을 것입니다. 결과적으로 제품 의사 결정 (product decisions)을 고민하는 데 진정으로 유용하게 쓰였습니다.
시간이 지남에 따라 AI가 당신의 업무에 대해 더 많은 맥락 (context)을 갖게 될수록, 이러한 결과물은 더욱 좋아집니다.
10. 감정적 프레이밍 (Emotional Framing)이 실제로 출력에 영향을 미칩니다
Google DeepMind의 논문에 따르면, AI에게 수학 문제를 풀기 전에 "심호흡을 하세요 (take a deep breath)"라고 말하는 것이 정확도를 향상시킨다는 사실이 밝혀졌습니다. 인간의 글쓰기로 학습된 대규모 언어 모델 (LLMs)은 인간이 감정적인 언어에 어떻게 반응하는지에 대한 흔적을 흡수하며, 그 흔적들이 출력에 영향을 미칩니다.
실제 적용 예시:
# 더 철저한 응답을 위해
"이 작업에 대해 충분히 시간을 가지세요 (Take your time on this)."
...
마지막 문장이 이상하게 들릴 수도 있습니다. 하지만 효과가 있습니다. 정확도가 중요한 어떤 프롬프트에든 이 문구를 넣어보고, 넣지 않은 버전과 비교해 보세요.
더 큰 그림 (The Bigger Picture)
대부분의 개발자들은 AI를 작업 수행 기계 (task machine)로 사용합니다. "이 함수를 작성해 줘", "이 에러를 설명해 줘", "이 보일러플레이트 (boilerplate)를 생성해 줘"와 같은 식입니다. 그리고 입력값이 공허하기 때문에 출력값 또한 공허하게 느껴집니다.
진정한 가치를 얻고 있는 개발자들은 대부분 이를 다르게 사용합니다. AI에게 아키텍처 결정 (architecture decisions)을 스트레스 테스트 (stress-test)하도록 요청하거나, 자신의 이해에 있는 공백을 찾아내게 하고, 특정 접근 방식을 확정하기 전에 자신의 추론을 검토하게 합니다. 코드 출력물은 거의 부차적인 문제입니다. 변화하는 것은 그들이 시작하기 전에 문제를 얼마나 명확하게 이해하느냐 하는 점입니다.
좋은 프롬프트를 작성하는 것은 당신이 실제로 무엇을 원하는지 알게 만듭니다. 그 명확함은 그 어떤 모델 업데이트나 영리한 기술보다도, 돌아오는 결과물을 바꾸는 핵심 요소입니다.
여러분은 이 중 어떤 것을 이미 사용하고 계신가요? 제가 놓친 프롬프트 패턴이 있나요? 댓글로 남겨주세요.
Inspired by Varun Mayya — 그의 원본 영상은 몇 가지 사례를 통해 이 내용들을 더 깊이 있게 다룹니다.

AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기