프롬프트 엔지니어링 베스트 프랙티스 2026: ChatGPT·Claude 공통 원칙
같은 모델이어도 프롬프트를 어떻게 짜느냐에 따라 결과는 크게 달라진다. 좋은 프롬프트는 비싼 모델보다 결과 품질에 더 큰 영향을 주는 경우도 많다. 2026년 시점에서 ChatGPT·Claude 어디든 통하는 프롬프트 원칙을 정리했다.

원칙 1. 구체적으로 지시하기
가장 큰 차이를 만드는 한 가지는 구체성이다.
| 약한 프롬프트 | 강한 프롬프트 |
|---|---|
| ”글 잘 써줘" | "300자 이내, 결론 먼저, 한국어 존댓말, 핵심 3가지 bullet 포함" |
| "코드 리뷰해줘" | "이 함수의 ① 에러 케이스 ② 성능 ③ 가독성 세 측면에서 각각 1줄씩 평가" |
| "요약해줘" | "5줄 요약. 각 줄 30자 이내. 출처 URL 포함” |
추상적인 지시는 모델이 그럴듯한 평균값을 만들어낸다. 구체적인 기준이 있으면 그 기준에 맞춰 결과가 일관된다.
원칙 2. 출력 형식 강제하기
원하는 형태가 있으면 명시적으로 박는다.
다음 형식만 사용:
- 제목: 30자 이내
- 부제: 60자 이내
- 본문: 마크다운 H2/H3, 800-1200자
- 마지막에 출처 URL 3개
이 형식 외 어떤 출력도 금지.
JSON이 필요하면 JSON 스키마, 표가 필요하면 마크다운 표를 직접 보여준다. 모델이 “그럴 것 같은” 형식 대신 정확히 원하는 형식이 나온다.
원칙 3. 예시 보여주기 (Few-shot)
설명보다 예시 한 개가 효과가 크다.
다음 패턴으로 SEO 제목을 만들어줘.
예시 1:
키워드: 클로드 가격
제목: "Claude 가격 한 번에 정리: 무료·유료 차이 2026"
예시 2:
키워드: 챗GPT 메모리
제목: "ChatGPT 메모리 기능 사용법: 설정·관리 5분 정리"
이제 다음 키워드로 같은 패턴 만들어줘:
키워드: AI 코딩 도구 비교
이 패턴 한 번에 결과가 일관되게 나온다. 형식이 까다로울수록 예시 효과가 크다.
원칙 4. 단계 분해(Chain of Thought)
복잡한 작업은 한 번에 시키지 말고 단계별로 풀게 한다.
다음 순서대로 처리해줘.
1. 입력 문장에서 핵심 키워드 3개 뽑기
2. 각 키워드에 대해 가능한 SEO 제목 후보 2개씩 만들기
3. 6개 후보 중 검색 의도가 가장 명확한 1개 선정
4. 그 제목의 부제·메타 디스크립션 작성
각 단계 결과를 모두 출력해줘.
특히 추론·논리·수학 작업에서 정답률이 눈에 띄게 올라간다. Claude는 <thinking> 같은 태그로 추론 단계를 명시적으로 분리하기도 한다.
원칙 5. 역할과 톤 박기
사용자 정의 시스템 프롬프트로 톤을 한 번 정해두면 매번 안 적어도 된다.
당신은 한국어 IT 블로그 편집자다.
- 톤: 1인칭 경험담, 짧은 문장
- 금지: 과장, 추측 통계, em dash(—)
- 출력: 마크다운, FAQ 12개 이상, 출처 마지막에
- 사실 근거: 공식 페이지 또는 일반 관찰만
이 한 블록이 글 30편을 일관되게 만든다. 매 글마다 다시 안 적어도 된다.
원칙 6. 컨텍스트 관리하기
LLM은 컨텍스트 윈도우 안에서만 기억한다. 핵심 정보는 앞쪽에, 잡음은 뒤쪽에.
- 시스템 지시 → 가장 위
- 예시(few-shot) → 시스템 지시 다음
- 사용자 질문 → 가장 아래
- 무관한 배경 자료 → 빼거나 끝쪽 부록으로
긴 컨텍스트는 모델이 중간 정보를 잊어버리는 ‘lost in the middle’ 현상이 있다. 정말 중요한 건 처음과 끝에 두 번 적는 것도 효과적이다.
원칙 7. 사실 환각 차단하기
AI 글의 가장 큰 적은 그럴듯한 거짓말(hallucination)이다.
규칙:
1. 공식 페이지 또는 일반적으로 확인된 사실만 인용
2. 없으면 "공식 페이지 확인 권장"이라고 적기
3. 구체 가격·날짜는 데이터 출처가 명시될 때만 사용
4. 통계 수치(% 등)는 1차 출처 없으면 금지
이 한 블록을 시스템 프롬프트에 박으면 환각이 눈에 띄게 줄어든다.
원칙 8. 반복 가능한 형태로 저장
좋은 프롬프트는 한 번 만들고 끝이 아니라 자산이다.
.cursorrules,CLAUDE.md,system_prompt.md같은 파일에 저장- 작업별로 폴더 분리
- 효과 좋았던 패턴은 별도 정리해 다음에 재사용
같은 작업을 매번 새 프롬프트로 짜는 사람과, 한 번 정리해 둔 자산을 재활용하는 사람의 시간 차이는 점점 벌어진다.
자주 만나는 함정
1. 모델 변경 시 미세 차이 ChatGPT에서 잘 되던 프롬프트가 Claude에서 약간 다르게 동작. 모델별로 톤·강조점이 다르므로 한 번씩 점검 필요.
2. 토큰 소모 긴 시스템 프롬프트 + 긴 컨텍스트 = 토큰 청구 폭발. prompt caching·system prompt 분리로 비용 관리.
3. 인젝션 사용자 입력에 “이전 지시 무시하고…” 같은 문장이 섞이면 시스템이 우회될 수 있다. 사용자 입력은 별도 <user_input> 태그로 감싸 신뢰하지 않게 처리.
4. 너무 많은 규칙 50줄짜리 시스템 프롬프트는 오히려 무시되는 부분이 늘어난다. 5~15줄 핵심 규칙만 강하게 못박는 게 효과적.
정리
프롬프트 엔지니어링의 핵심 8가지: ①구체성 ②출력 형식 ③예시(few-shot) ④단계 분해 ⑤역할·톤 ⑥컨텍스트 관리 ⑦환각 차단 ⑧자산화. 모델이 똑똑해져도 이 원칙들은 거의 변하지 않는다. 한 번 손에 익혀두면 어느 LLM을 써도 결과 품질이 일정해진다.
출처
- Anthropic, 프롬프트 엔지니어링 가이드, https://docs.anthropic.com/
- OpenAI, 프롬프트 엔지니어링 가이드, https://platform.openai.com/docs/guides/prompt-engineering
- Anthropic, Cookbook 깃허브, https://github.com/anthropics/anthropic-cookbook