발행일: 2026-08-04(화) 03:14
도서하루 30분 n8n ①DAY 17
챕터 3 — AI 연동 & 자동화 고도화난이도 ★★★
DAY 17

OpenAI 심화 : 프롬프트 엔지니어링 기초

📥 DAY 17 워크플로우 JSON 다운로드
이론10
실습15
미션5

"질서란 외부에서 강요되는 압력이 아니라, 내부에서 만들어지는 균형이다."

호세 오르테가 이 가세트 (José Ortega y Gasset, 스페인 철학자)
🎯 오늘의 학습 목표
  • System Prompt와 User Prompt의 역할을 구분하고 올바르게 작성할 수 있다
  • 좋은 프롬프트의 3가지 조건(역할·형식·제약)을 적용할 수 있다
  • Few-shot 예시를 System Prompt에 포함해 분류 정확도를 높일 수 있다
나쁜 예 vs 좋은 예
text
// 조건 1 — 역할과 맥락 명확하게
나쁜 예: 이메일을 분류해줘.
좋은 예: 당신은 기업 이메일 관리 전문가입니다.
         수신된 이메일을 긴급/일반/스팸 세 가지 중 하나로만 분류하세요.

// 조건 2 — 출력 형식 구체적으로
나쁜 예: 내용을 정리해줘.
좋은 예: 반드시 아래 JSON 형식으로만 응답하고,
         다른 설명은 절대 포함하지 마세요.
         {"분류": "긴급/일반/스팸", "이유": "한 줄 이유"}

// 조건 3 — 제약 조건 명시
나쁜 예: 짧게 써줘.
좋은 예: 응답은 반드시 3문장 이내로 작성하고,
         불필요한 인사말이나 부연 설명은 포함하지 마세요.
실습 ①에 그대로 사용할 수 있는 프롬프트
text
당신은 기업 이메일 관리 전문가입니다.
수신된 이메일을 읽고 반드시 아래 JSON 형식으로만 응답하세요.
다른 텍스트는 절대 포함하지 마세요.

분류 기준:
- 긴급: 즉각적인 조치가 필요한 업무 메일 (계약, 마감, 장애 등)
- 일반: 일반적인 업무 메일
- 스팸: 불법 광고, 피싱, 무의미한 메일

응답 형식:
{"분류": "긴급 또는 일반 또는 스팸", "이유": "한 줄 이유"}
System Prompt에 예시 포함하기
text
아래 예시를 참고해 동일한 형식으로 분류하세요.

예시 1:
입력: "긴급! 서버가 다운됐습니다. 즉시 확인 바랍니다."
출력: {"분류": "긴급", "이유": "서버 장애로 즉각 대응 필요"}

예시 2:
입력: "이번 달 회의록 공유드립니다."
출력: {"분류": "일반", "이유": "정기 업무 공유로 즉각 대응 불필요"}

예시 3:
입력: "당신이 선정됐습니다! 지금 바로 클릭하세요."
출력: {"분류": "스팸", "이유": "낚시성 문구와 불명확한 발신자"}
User Prompt (Expression 모드로 입력)
text
발신자: {{ $json.발신자 }}
제목: {{ $json.제목 }}
본문: {{ $json.본문 }}
수신 시각: {{ $now.toFormat("yyyy-MM-dd HH:mm") }}

위 이메일을 분석하고 지정된 JSON 형식으로 분류 결과를 반환하세요.
💡 System Prompt도 Expression 모드로 전환하면 동적으로 바꿀 수 있어요. '오늘 날짜는 {{ $now.toFormat("yyyy년 MM월 dd일") }}입니다'를 System Prompt에 포함시키면 GPT가 현재 날짜를 인식해요!
🛠️ 실습
실습 ①이메일 자동 분류
  1. 새 워크플로우 'DAY17 프롬프트 실습' 생성
  2. Manual Trigger → Edit Fields(발신자·제목·본문 샘플 입력) → OpenAI 노드 연결
  3. Output Content as JSON: ON / Temperature: 0.0 / Max Tokens: 300
  4. System Prompt: 위 완성형 프롬프트 + Few-shot 예시 붙여넣기
  5. User Prompt: Expression 모드로 동적 프롬프트 입력
  6. 실행 후 JSON 응답 확인
OpenAI 노드 설정값
text
Temperature: 0.0  (일관된 분류 결과)
Max Tokens: 300
Output Content as JSON: ON
실습 ②고객 문의 답장 초안
  1. Edit Fields에 고객문의내용 필드 추가
  2. OpenAI 노드 System Prompt 교체
  3. 실행 후 결과를 Slack으로 전송
고객 문의 답장 System Prompt
text
당신은 고객 서비스 전문가입니다.
항상 친절하고 공감하는 어조로 답하세요.
답변은 200자 이내로 작성하세요.
불필요한 인사말 생략, 본문만 반환하세요.
🚀 오늘의 미션
  1. 나만의 System Prompt를 작성해보세요
  2. 아래 4가지 요소를 반드시 포함해야 해요
  3. ① 역할 정의 ② 입력 유형 설명 ③ 출력 형식 지정 ④ 제약 조건 명시
  4. 완성한 프롬프트로 3가지 다른 입력을 테스트하고 결과를 캡처해보세요
📋 워크플로우 임포트 방법
  1. 위 버튼으로 JSON 파일을 다운로드합니다.
  2. n8n 캔버스 오른쪽 상단 Import from file 클릭
  3. 다운로드한 JSON 파일을 선택하면 워크플로우가 즉시 열립니다.
  4. 빨간 느낌표(!)가 보이면 Credentials을 본인 계정으로 재연결하세요.
💡 먼저 직접 만들어보고, 막혔을 때 정답지로만 활용하세요!
n8n 계정이 없으신가요?n8n 무료 시작하기 ↗
← DAY 16
OpenAI 연동 기초 : AI를 워크플로우에 붙이다
목차로DAY 18
데이터 변환 노드 총정리