프롬프트를 잘 쓰는 법을 검색하면 수십 가지 기법과 유료 템플릿이 쏟아집니다. 하지만 실전 고수들의 프롬프트는 의외로 짧고 담백합니다. 이번 레슨에서는 그 역설을 '미드위트 곡선'이라는 그림으로 풀어 보겠습니다.
미드위트 곡선: 양 끝은 단순하고, 중간이 과하다
세 부류가 있습니다. 초보는 너무 막연하게 시켜서 에이전트가 무엇을 원하는지 모릅니다. 중간 실력자(미드위트)는 반대로 과잉입니다. 기법 열 개를 욱여넣고, 템플릿을 사서 붙이고, 프롬프트 하나에 10분을 씁니다. 고수는 다시 단순해집니다. 자기가 정확히 무엇을 원하는지 알기 때문에, 딱 필요한 맥락만 담아 간결하게, 그리고 빠르게 보냅니다.
미드위트 곡선 — 프롬프트를 얼마나 복잡하게 쓰나
초보
- '고쳐줘'처럼 너무 막연
- 맥락 부족
에이전트가 무엇을 원하는지 모름
미드위트(중간)
- 10분씩 고민
- 템플릿 10개 붙임
- 과잉 엔지니어링
복잡하게 쓰느라 시간 낭비
고수
- 짧고 명확·빠르게
- 맥락 충분 + 명확
뭘 원하는지 정확히 앎
목표는 '더 화려한 프롬프트'가 아니라 곡선의 오른쪽 끝 — 짧지만 정확한 지시입니다.
두 기둥: 충분한 맥락 + 명확함
좋은 프롬프트를 떠받치는 기둥은 딱 둘입니다. 첫째, 충분한 맥락 — 어디를, 무슨 파일에서, 왜 하는지. 둘째, 명확함 — 무엇을 원하고, 어떻게 되면 완료인지. 이 둘만 서 있으면 화려한 기법은 없어도 됩니다.
좋은 프롬프트를 받치는 두 기둥
① 충분한 맥락
- 어디를
- 무슨 파일에서
- 왜 하는지
이 기둥만 있으면 방향을 잃음
② 명확함
- 무엇을 원하고
- 어떻게 되면 '완료'인지
이 기둥만 있으면 엉뚱한 곳을 수정
맥락과 명확함, 두 기둥이 함께 서야 결과가 흔들리지 않습니다.
막연한 예 vs 명확한 예 (할 일 관리 앱)
간단한 '할 일 관리 앱(task tracker)'을 예로 비교해 보겠습니다. 같은 의도라도 표현에 따라 결과가 하늘과 땅입니다.
막연한 예 (초보) — 에이전트가 헤맴
할 일 앱 좀 개선해 줘.
명확한 예 (고수) — 짧지만 정확
할 일 목록에서 '완료' 체크한 항목이 새로고침하면 사라지는 버그가 있어.
src/store/tasks.js 에서만 고쳐 줘.
완료 상태를 localStorage에 저장해서 새로고침해도 유지되게 해줘.
다 되면 npm test 돌려서 기존 테스트가 통과하는지 확인해 줘.
명확한 예가 '길어서' 좋은 게 아닙니다. 군더더기 없이 필요한 정보(어디·무엇·완료 조건)만 담겨서 좋은 겁니다. 기법을 늘리지 말고, 맥락과 완료 조건을 채우세요.
'멍청한 프롬프트'는 없습니다. 정말 나쁜 유일한 선택은 '아예 안 보내는 것'입니다. 완벽한 문장을 다듬느라 10분 고민하지 말고, 일단 명확하게 보내고 결과를 보며 한 번 더 다듬는 편이 훨씬 빠릅니다.
정리하면, 프롬프트의 목표는 화려함이 아니라 정확함입니다. 맥락과 명확함 두 기둥을 세우고, 짧게, 자주, 빠르게 반복하세요. 다음 레슨에서는 이렇게 시킨 작업이 '어디까지 손대도 되는지'를 정하는 안전 장치를 깊이 있게 다룹니다.