레슨 4 15분

고급 테크닉

조건부 로직, few-shot 체이닝, XML 태그, 다중 페르소나 — 커스텀 인스트럭션을 진짜 강력하게 만드는 고급 기법을 배워요.

🔄 레슨 3에서 RISEN 프레임워크로 첫 커스텀 인스트럭션을 만들고 설치했어요. R + I + S 기본만으로도 차이를 느꼈을 거예요. 이번에는 인스트럭션을 진짜 강력하게 만드는 고급 테크닉 네 가지를 배워요.

테크닉 1: 조건부 로직 (모드 스위칭)

기본 인스트럭션의 한계: “항상 200자 이내"라고 설정하면, 자세한 분석이 필요할 때도 짧게 잘려요. 해결책은 조건부 규칙이에요.

기본 (유연성 없음):

항상 200자 이내로 답변해 줘.

고급 (조건부 로직):

기본: 200자 이내.
"자세히" → 500자까지 확장.
"빠르게" → 3줄 이내.
"보고서" → 합니다체, 구조화된 포맷.
"브레인스토밍" → 자유롭게, 제한 없이.

“모드"를 정의하면 하나의 인스트럭션으로 여러 상황에 대응할 수 있어요. 매번 인스트럭션을 바꿀 필요 없이 키워드 하나로 AI의 행동을 전환하는 거예요.

Quick Check: 커스텀 인스트럭션에 “항상 해요체를 사용해 줘"라고만 써두면, 상사에게 보여줄 공식 보고서를 부탁할 때 어떤 문제가 생길까요? (해요체로 보고서가 나와요. 조건부 로직으로 “‘보고서’라고 하면 합니다체를 사용해 줘"를 추가하면 키워드 하나로 톤을 전환할 수 있어요.)

테크닉 2: Few-Shot 체이닝

AI에게 “전문적인 톤으로 써 줘"라고 하는 것보다, 원하는 톤의 예시를 보여주는 게 훨씬 효과적이에요. 이걸 few-shot 체이닝이라고 해요.

추상적 지시 (효과 낮음):

비즈니스 이메일을 전문적이지만 따뜻한 톤으로 써 줘.

Few-shot 예시 (효과 높음):

비즈니스 이메일 톤 참고:
입력: "미팅 잡아 줘"
출력: "안녕하세요 김 팀장님, 다음 주 중 30분 정도 미팅 가능하실까요? 프로젝트 진행 상황 공유드리고 싶어요. 편하신 시간 알려주시면 감사하겠습니다."

입력: "감사 이메일"
출력: "이 대리님, 어제 발표 자료 정리해 주신 것 정말 감사합니다. 덕분에 클라이언트 미팅이 매끄럽게 진행됐어요. 앞으로도 잘 부탁드려요!"

AI는 이 예시에서 “전문적이지만 따뜻한"이 구체적으로 어떤 느낌인지를 추출해요. 추상적 설명 100자보다 좋은 예시 1개가 낫습니다.

한국어에서 특히 유용한 경우:

  • 존댓말 수준 조절 (해요체 vs 합니다체의 미묘한 차이)
  • 이메일 머리말/맺음말 스타일
  • 보고서 작성 포맷

테크닉 3: XML 태그 (Claude 전용)

Claude는 XML 태그를 구조 구분자로 인식해요. 복잡한 인스트럭션을 논리적으로 나눌 수 있어서, 각 부분이 섞이지 않아요.

<role>
한국 IT 스타트업 백엔드 개발자. Python/FastAPI 기반.
</role>

<rules>
- 코드는 항상 type hints + docstring 포함
- 변수명은 영어 snake_case
- 에러 핸들링은 구체적으로 (except Exception 금지)
</rules>

<style>
- 설명은 한국어, 코드 주석은 영어
- 핵심 먼저 → 상세 설명
- 200자 이내 기본
</style>

<nuance>
- "리뷰" → 코드의 문제점만 지적, 칭찬 불필요
- "설명" → 주니어 개발자도 이해할 수 있게
- "빠르게" → 코드만, 설명 생략
</nuance>

왜 XML 태그가 효과적인가?

  • Claude가 각 섹션의 역할을 명확히 파악
  • 규칙 간 충돌 가능성 감소
  • 나중에 특정 섹션만 수정하기 쉬움

참고: XML 태그는 Claude에 최적화돼 있어요. ChatGPT에서는 마크다운 헤더(## 역할, ## 규칙)가 비슷한 역할을 해요.

Quick Check: Claude에서 XML 태그 없이 역할, 규칙, 스타일을 한 문단으로 쭉 쓰면 어떤 문제가 생길 수 있나요? (규칙들이 섞이면서 AI가 어떤 부분이 역할 설명이고 어떤 부분이 행동 규칙인지 혼동할 수 있어요. 특히 인스트럭션이 길어질수록 이런 문제가 심해져요.)

테크닉 4: 다중 페르소나

하나의 인스트럭션 안에 여러 “모드"를 정의해서, 상황에 따라 다른 전문가처럼 행동하게 할 수 있어요.

[기본 모드 — 마케팅 팀장]
B2B SaaS 마케팅 관점에서 답변. 해요체. 데이터 중심.

[코드 모드] "코드"라고 하면:
Python 코드 위주 답변. 주석 영어. type hints 필수.

[보고서 모드] "보고서"라고 하면:
합니다체. 구조: 요약 → 현황 → 분석 → 제안.

Claude에서는 프로젝트별로 이걸 자연스럽게 구현할 수 있어요 (프로젝트 = 하나의 페르소나). ChatGPT에서는 GPT를 별도로 만들거나, 위처럼 하나의 인스트럭션 안에서 키워드 전환 방식을 쓰면 돼요.

테크닉 조합: 실전 예시

네 가지를 함께 쓰면:

역할: 한국 스타트업 마케터. B2B SaaS.

규칙:
- 한국어로 답변 (마케팅 영어 병기)
- 데이터 기반 주장
- 200자 이내 기본

예시:
좋은 카피: "월 리드 30% 늘린 CTA 실험 결과"
나쁜 카피: "중요한 업데이트가 있습니다"

모드:
- "빠르게" → 3문장
- "보고서" → 합니다체, 구조화
- "코드" → Python, type hints, 영어 주석
- "브레인스토밍" → 제한 없이, 평가 금지

간결하지만 네 가지 테크닉이 모두 들어가 있어요. 한국어 토큰 효율까지 고려해서 짧게 썼어요.

핵심 정리

  • 조건부 로직: 키워드 하나로 AI의 행동 모드를 전환 — “빠르게”, “보고서”, “브레인스토밍”
  • Few-shot 체이닝: 추상적 설명 대신 입력-출력 예시를 제공 — AI가 패턴을 훨씬 정확하게 학습
  • XML 태그: Claude에서 인스트럭션 섹션을 명확히 구분 — 규칙 간 충돌 방지
  • 다중 페르소나: 하나의 인스트럭션에서 상황별 전문가 모드 전환

다음 레슨

테크닉을 배웠으니, 이제 플랫폼별로 어떻게 최적화하는지 자세히 알아봐요. 레슨 5에서 ChatGPT, Claude, Gemini 각각의 고유 기능과 꿀팁을 다룹니다.

이해도 체크

1. 커스텀 인스트럭션에 조건부 로직을 넣는 이유는 무엇인가요?

2. Few-shot 체이닝이란 무엇인가요?

3. Claude에서 XML 태그를 사용하는 것의 장점은?

모든 문제에 답해야 확인할 수 있어요

먼저 위의 퀴즈를 완료하세요

관련 스킬