n8n 업데이트 정보 정리 포맷
- 개요/배경: 무엇이, 왜 바뀌었는지. (이전 동작 대비 차이)
- 주요 변경점 요약: 기능/UX/성능/호환성/Deprecated·Breaking 여부
- 보안 영향 & 가이드: 권한/자격증명/네트워크/로그·감사 항목/우회 가능성
- 운영 영향 범위: 영향받는 노드/워크플로우/크레덴셜/환경변수/플러그인
- 적용 방법(스테이징→프로덕션)
- Docker/Helm/패키지별 업그레이드 명령어
- 마이그레이션 절차(백업, 호환성/회귀 테스트, 롤백 플랜)
- 실전 활용 예제
- UI 단계(스크린 필드 값/표현식)
- 예시 워크플로우 JSON(바로 Import 가능)
- API/CLI 사용 패턴(있다면)
- 운영 점검 체크리스트: 사전·사후 테스트, 모니터링(KPIs, 로그 키워드), 알림
- 유사 기능/대안 비교: 기존 방법과의 트레이드오프
- 자주 묻는 질문 & 트러블슈팅
예시: 사용자분이 관심 있다고 하셨던 HTTP Request 노드 페이징을 샘플로 구성
샘플 예시 — “HTTP Request 노드: 조건부 페이징 중단”
가정: HTTP API가 ?page= 쿼리로 페이지네이션을 제공하고,
응답 본문에 "has_more": false가 등장하면 더 이상 요청하지 않음.
1) 개요/배경
- 기존에는 고정 페이지 수나 총 개수를 알아야 끝낼 수 있어 번거로웠습니다.
- 이번 변화(가정 예시)는 본문 패턴 매칭 또는 응답 필드 값을 근거로 중단 조건을 유연하게 설정하도록 가이드합니다.
2) 주요 변경점 요약
- 새 옵션 활용 가이드 또는 루프(Loop) 구성 패턴 제시
- IF/Function/Set 노드를 조합해 “본문에 특정 문자열 포함 시 Stop” 로직 구현
3) 보안 영향 & 가이드
- Rate Limit: 빠른 루프는 API 차단 유발 →
Wait
(딜레이) 노드로 QPS 제한 - Credential 보관:
N8N_ENCRYPTION_KEY
설정 필수, 자격증명은 워크플로우 JSON에 제외 - 에러 처리: 4xx/5xx 시 즉시 중단 또는 재시도(지수 백오프) 설계
- 로깅: 요청·응답 크기 제한 및 민감 데이터 마스킹
4) 운영 영향 범위
- 해당 페이징을 쓰는 모든 워크플로우
- 스케줄러(크론) 주기와 API 사용량 증가 가능성
5) 적용 방법
- Docker
docker compose pull n8n docker compose up -d n8n # 사전: Postgres/SQLite 백업, 워크플로우 Export
- Helm(예시)
helm repo update helm upgrade --install n8n n8n/n8n -n n8n --values values.yaml
- 롤백: 이전 태그로 이미지 고정, 백업한 DB/워크플로우 복구
6) 실전 활용 예제
- Set (InitPage)
page = 1
- HTTP Request
- Method:
GET
- URL:
https://api.example.com/items?page={{$json.page}}
- Timeout: 30s 이상(API 상황에 맞게)
- Response: JSON
- Method:
- IF (HasMore?)
- 조건:
{{$json["has_more"] === true}}
- 또는 본문 문자열 매칭이 필요하면,
Contains
→{{ JSON.stringify($json).includes('"has_more":true') }}
- 조건:
- Set (NextPage) – IF의 true 경로
page = {{$json.page + 1 || 2}}
- Loop
- NextPage → HTTP Request 로 연결(루프)
- IF의 false 경로는 출력으로 종료
- Wait(선택)
- 각 루프 사이
500~1000ms
대기
- 각 루프 사이
6-1) 에러·재시도(선택)
- Error Trigger + Webhook/Slack 알림
- HTTP 옵션의
Max Attempts
,Retry When
(상태코드/타임아웃) 구성
7) 운영 점검 체크리스트
- 사전: 워크플로우 Export, DB 스냅샷,
N8N_ENCRYPTION_KEY
보관 - 사후: API 호출량/지연, 누락 페이지 없는지(개수·ID 중복 체크), 에러 로그
- 알림: 임계치(실패율, 평균 지연, 5xx 비율) 초과 시 Slack/메일
8) 유사 기능/대안 비교
- Split In Batches로도 페이지 목록이 사전 파악되는 경우 순차 처리 가능
- API가
Link
헤더를 준다면 링크 기반 네비게이션이 단순
9) FAQ/트러블슈팅
- 무한루프:
has_more
판정 로직·페이지 증가 로직 점검 - 속도 이슈: Wait 추가, 병렬 처리 시 API 정책 확인
- 메모리 증가: “Output → Merge” 설계 시 스트리밍/분할 처리 고려
공통 업그레이드 팁
- 백업: DB 스냅샷, 워크플로우 일괄 Export, 크레덴셜 재암호화 키 확인
- 스테이징 검증: 샘플 워크플로우로 회귀 테스트(노드 버전·표현식 호환성)
- 관측성:
executionList
,executionView
로 실패율/지연 추적, 로그 인덱싱(Elastic 등) - 비밀 관리: 환경변수·크레덴셜은 노출 금지, 팀 권한 최소화
- 롤백 플랜: 이전 이미지 태그, 마이그레이션 스크립트 역전 전략 준비
n8n 업데이트: AI Agent Tool 노드
1) 개요/배경
지난 업데이트에서 AI Agent Tool 노드가 추가되었습니다. 이 노드는 하나의 캔버스에서 멀티 에이전트 오케스트레이션을 단일 실행으로 관리할 수 있도록 해주며, 기존의 서브 워크플로우 기반 오케스트레이션보다 단순하고 직관적인 구성을 제공합니다. 즉, 리더 에이전트 → 전문 에이전트들로 역할을 분리하고, 이를 계층적 구조로 연결하여 실제 조직처럼 업무를 분할·위임하는 방식이 가능합니다.
2) 주요 변경점 요약
- 단일 캔버스 실행: 서브 워크플로우 없이도 다계층 에이전트 구성이 가능
- 리더/부하 구조 지원: 메인 에이전트가 다른 에이전트를 호출 및 관리
- 프롬프트 관리 효율화: 복잡한 지시사항을 여러 노드로 분리
- 디버깅 단순화: 한 화면에서 전체 실행 확인 가능
3) 보안 영향 & 가이드
- 프롬프트 설계 주의: 기본적으로 전체 실행 컨텍스트가 전달되지 않음 → 필요한 정보는 반드시 프롬프트에 명시
- LLM 연결 관리: 각 에이전트별 크레덴셜(예: OpenAI API 키)이 분리될 수 있음 → 중앙에서 관리, 누출 방지 필요
- 로깅: 디버깅 과정에서 민감 데이터가 프롬프트에 기록되지 않도록 주의
- 권한 위임: 다단계 호출 구조에서는 “권한 전이”가 발생하므로, 접근 가능한 외부 API/도구 범위를 제한할 것
4) 운영 영향 범위
- 멀티 AI 에이전트 기반 워크플로우 개발 속도 향상
- 기존 Sub-workflow 방식 대비 디버깅·관리 편의성 개선
- 기존 LLM 노드와 병행 활용 가능
5) 적용 방법
- 워크플로우에 AI Agent 노드 추가
+
버튼 클릭 → Tools 연결 생성- AI Agent Tool 노드 선택
- 노드 이름/역할/프롬프트 입력
- 필요한 LLM·Memory·Tools 연결
- 메인 에이전트 프롬프트에 “어떤 상황에서 이 Tool을 활용할지” 지시
6) 실전 활용 예제
👉 예시 시나리오: 마케팅 보고서 자동화
- Primary AI Agent: 프로젝트 매니저 역할
- AI Agent Tool #1: 데이터 분석 전문가 (엑셀/SQL 기반 데이터 정리)
- AI Agent Tool #2: 보고서 작성 전문가 (결과를 요약하여 문서화)
- AI Agent Tool #3: 품질 검토 전문가 (맞춤법·일관성 검토)
👉 UI 예시
- Primary AI Agent 프롬프트
너는 프로젝트 매니저 역할을 수행한다. - 데이터 분석이 필요하면 "분석 전문가"를 사용하라. - 보고서 작성은 "문서 전문가"에게 맡겨라. - 최종 검토는 "QA 전문가"에게 위임해라.
- 각 Tool 노드 프롬프트 예시
- 분석 전문가: “주어진 데이터를 SQL 또는 수학적 모델로 분석해 결과를 표 형태로 반환하라.”
- 문서 전문가: “분석 결과를 3단락 요약 보고서로 작성하라.”
- QA 전문가: “보고서 문장을 점검하고 개선 사항을 제안하라.”
7) 운영 점검 체크리스트
- 컨텍스트 누락 여부 확인: 필요한 데이터가 Tool 노드에 제대로 전달되는지
- 프롬프트 중복 최소화: 동일 규칙은 Primary Agent에서 통제
- 성능 모니터링: 계층이 많아질수록 실행 시간이 늘어남 → 불필요한 에이전트 호출 최소화
- 로그 확인: 프롬프트와 응답에 민감 데이터가 없는지 점검
8) 유사 기능/대안 비교
- 기존 방법: Sub-workflow 호출 → 모듈성은 좋지만 실행/디버깅 시 이동이 불편
- AI Agent Tool 노드 방식: 단일 실행·단일 캔버스에서 관리 용이
9) FAQ/트러블슈팅
- Q: 에이전트가 Tool을 인식하지 못한다?
→ Tool 노드 이름과 Primary Agent 프롬프트 내 지시사항이 일치해야 함. - Q: 실행이 너무 느리다?
→ 불필요한 다단계 호출을 줄이고, 일부 역할은 Merge/Set 노드로 단순 처리 가능. - Q: 전체 문맥이 공유 안 된다?
→ 필요한 데이터를 Tool 노드 프롬프트에 직접 전달.
n8n 업데이트: AI Evaluation 노드의 내장 메트릭 지원
1) 개요/배경
AI 워크플로우는 신뢰성과 예측 가능성이 중요하기 때문에 반드시 평가(Evaluation) 과정이 필요합니다. Evaluation 노드에서 바로 사용할 수 있는 내장 메트릭이 제공되어, 모델 성능과 프롬프트 변경 효과를 정량적으로 추적·비교할 수 있게 되었습니다. 즉, 별도의 커스텀 로직을 매번 작성하지 않고도, 정확성·유용성·구조 적합성·카테고리 매칭·툴 사용 여부 등 주요 지표를 손쉽게 평가할 수 있습니다.
2) 주요 변경점 요약
- Set Metrics 노드에서 내장 메트릭 선택 가능 (드롭다운 제공)
- 프롬프트 변경 전·후 성능 비교 지원
- 모델별 성능 점수 비교 가능 → 모델 선택에 활용
- 평가 실행 내역을 Evaluations 탭에서 시간 흐름에 따라 확인 가능
3) 보안 영향 & 가이드
- 데이터셋 관리: 평가용 입력 데이터 및 정답(ground truth)은 별도 관리 → 개인정보 포함 여부 검토 필요
- LLM 기반 채점: Correctness/Helpfulness 메트릭은 또 다른 LLM을 “판정자”로 사용 → 프롬프트에 민감 정보 포함되지 않도록 주의
- 로그 관리: 평가 과정에서 모델 출력 및 기대값이 저장되므로 로그 마스킹 필요
- 권한 분리: 평가 데이터 접근은 최소화, 운영자/분석자 구분 권한 설정
4) 운영 영향 범위
- AI 기반 워크플로우 운영 시 정기적 평가 루틴을 추가 가능
- 모델 교체·프롬프트 변경 시 성능 검증 프로세스 자동화
- 커뮤니티 에디션은 1개 평가만 저장 가능, Pro/Enterprise는 무제한 저장
5) 적용 방법
- Evaluation 노드 추가 – 트리거로 사용
- Set Metrics 노드 연결
- 메트릭 선택: Correctness, Helpfulness, String Similarity, Categorization, Tools Used
- 필요한 경우 데이터셋 매핑 (예: 예상 출력 컬럼 → Expected Output 필드)
- 실행 후 Evaluations 탭에서 점수 비교/변화 추적
6) 실전 활용 예제
👉 시나리오: FAQ 챗봇 응답 평가
- 목표: 모델 변경(예: GPT-4 → Gemini) 후 답변 품질 검증
👉 단계별
- Dataset 준비
- Input: FAQ 질문
- Expected Output: 정답 텍스트
- Category: (선택) 답변 카테고리
- Evaluation 노드 구성
- 입력: Dataset의 질문 전달
- 모델 출력 수집
- Set Metrics 노드에서 메트릭 선택
- Correctness: 모델 답변 vs Expected Output 비교 (LLM 판정)
- Helpfulness: 답변의 유용성 평가 (LLM 판정)
- String Similarity: 정답 문자열과 유사도 계산
- 결과 확인
- Evaluations 탭 → 실행별 점수(예: 정확도 0.87 → 0.93 개선)
- 프롬프트 수정 전후 성능 비교
7) 운영 점검 체크리스트
- 데이터셋 최신성: 오래된 데이터 사용 시 평가 신뢰도 저하
- LLM 채점 기준 검증: Correctness/Helpfulness 프롬프트의 채점 기준이 일관성 있는지 확인
- 주기적 실행 자동화: 크론 기반으로 주기 평가 설정
- 성능 알림 연동: Slack/메일로 일정 기준 이하 점수시 경고
8) 유사 기능/대안 비교
- 기존: 커스텀 함수/스크립트로 채점 → 개발/디버깅 부담 큼
- 신규: 내장 메트릭 선택만으로 바로 사용 가능 → 속도/편의성 ↑
9) FAQ/트러블슈팅
- Q: LLM 기반 메트릭의 채점이 들쭉날쭉하다?
→ 프롬프트에 “판정 기준(예: 1~5점, 무엇이 좋은 답변인가)”을 명확히 기재 필요 - Q: 문자열 비교만 하면 될 때는?
→ String Similarity 메트릭이 가장 안정적 (특히 코드·명령어 비교 시) - Q: 여러 모델 비교하려면?
→ 동일 데이터셋으로 반복 실행 후 Evaluations 탭에서 점수 비교
n8n 업데이트: Respond to Chat 노드
1) 개요/배경
이 업데이트에서는 Respond to Chat 노드가 새롭게 추가되었습니다. 이를 통해 n8n Chat에서 Human-in-the-Loop 기능을 네이티브로 사용할 수 있으며, 대화 중간에 사용자의 입력을 받아 다음 단계로 진행하는 멀티 턴(Multi-turn) 대화형 워크플로우를 단일 실행에서 구현할 수 있습니다.
즉, 이제는 단순히 한 번의 응답을 주고받는 구조가 아니라,
- 추가 확인 요청
- 중간 결과 공유
- 승인/거부 응답 처리
등의 대화형 플로우를 만들 수 있게 된 것입니다.
2) 주요 변경점 요약
- 단일 실행 내 멀티 턴 대화 지원 (실행 수 절감)
- 사용자 응답 기반 브랜치 제어 가능
- 승인·검증·보완 입력 요청 등 Human-in-the-Loop 지원
- 대화형 폼, 단계별 승인, 조건 분기형 워크플로우 설계 용이
3) 보안 영향 & 가이드
- 승인 요청 시 인증 필요: Chat 인터페이스가 인증 없이 열려 있다면 승인 절차를 악용할 수 있음 → 내부 사용자 인증/세션 관리 필수
- 로그 관리: 사용자 입력값이 로그에 저장될 수 있으므로 민감정보(개인정보, 패스워드)는 입력받지 않도록 설계
- 권한 통제: 승인/거부 플로우는 반드시 Role 기반 접근제어(RBAC) 적용 → 일반 사용자와 관리자 승인 노드를 구분
- 중간 결과 공유 시 정보 노출 주의: 내부 데이터나 API 호출 결과가 그대로 출력되지 않도록 필터링 필요
4) 운영 영향 범위
- 기존의 단방향 ChatBot 워크플로우를 대화형 응용 서비스로 확장 가능
- 승인·검토 프로세스를 n8n Chat 내에서 처리 가능 → Slack/MS Teams 등 외부 승인 프로세스 일부 대체 가능
- 실행당 비용 절감 (한 실행 안에서 여러 번 대화 처리 가능)
5) 적용 방법
- Chat Trigger 노드 추가
- Response Mode: Using Respond Nodes 선택
- Respond to Chat 노드 추가
- 메시지 작성 (예: “승인하시겠습니까?”)
- “사용자 입력 대기” 옵션 선택 시, 응답 대기 후 다음 단계 실행
- 응답값을 IF 노드나 Switch 노드와 연결 → 조건 분기
- 필요 시 여러 Respond to Chat 노드를 배치해 단계별 대화 구성
6) 실전 활용 예제
👉 예시 시나리오: 결재 승인 프로세스
- Chat Trigger
- 사용자가 “지출 결의서 제출” 메시지를 입력 → 워크플로우 시작
- Respond to Chat #1
- Bot: “지출 결의 금액을 입력해주세요.”
- 사용자 입력 대기
- Respond to Chat #2
- Bot: “상신 금액이 1,200,000원입니다. 승인을 진행하시겠습니까? (승인/거부)”
- 사용자 입력 대기
- IF 노드
- “승인” → 결재 DB 업데이트 + Slack 알림
- “거부” → 거부 처리 메시지 반환
- Respond to Chat #3 (결과 통보)
- Bot: “결재가 완료되었습니다.” 또는 “결재가 거부되었습니다.”
➡️ 이를 통해 별도의 여러 실행을 만들 필요 없이 단일 실행 내에서 멀티 턴 승인 프로세스 가능
7) 운영 점검 체크리스트
- 대화 세션 관리: 장시간 대화 시 세션 타임아웃 여부 확인
- 입력값 유효성 검증: 사용자가 잘못된 값을 입력해도 워크플로우가 무한 대기하지 않도록 예외 처리
- 로그 감시: 민감한 입력값(예: 계좌번호)이 기록되지 않도록 로깅 필터 적용
- 실패 시 복구 시나리오: Chat 연결이 끊어져도 승인/거부 내역이 데이터베이스에 기록되도록 이중 확인
8) 유사 기능/대안 비교
- 기존: Chat Trigger + Webhook 구조로 단순 1회 대화만 가능 → 다단계 대화는 Sub-workflow 필요
- 신규: Respond to Chat 노드로 단일 실행에서 다단계 대화 가능 → 설계 단순화, UX 향상
9) FAQ/트러블슈팅
- Q: 사용자가 응답하지 않으면?
→ 타임아웃 설정, 기본 경로(예: 자동 거부) 지정 필요 - Q: 동시에 여러 사용자와 대화 가능?
→ Yes. 각 세션은 독립 실행 컨텍스트에서 관리됨 - Q: 승인자만 응답하도록 제한 가능?
→ Chat Trigger에서 사용자 ID/권한 매핑 확인 후 조건 분기 처리
n8n 업데이트: RAG Starter Template
1) 개요/배경
이 업데이트는 RAG(Retrieval-Augmented Generation) Starter Template가 추가되었습니다. 이 템플릿은 문서 업로드 → 벡터 스토어 삽입 → 쿼리/검색 → AI 응답 생성의 전형적인 RAG 파이프라인을 바로 실행할 수 있게 도와줍니다. 즉, AI 모델이 훈련 데이터에만 의존하지 않고, 외부 문서나 최신 도메인 지식을 검색·활용하여 더 정확하고 신뢰성 있는 응답을 만들 수 있습니다.
2) 주요 변경점 요약
- RAG 기본 템플릿 제공: 두 가지 워크플로우 내장
- 파일 업로드 & 벡터 스토어 삽입
- 쿼리 & 검색 응답 생성
- Vector Store 노드 지원 (예: Simple Vector Store)
- 텍스트 분할기(Text Splitter) 옵션 제공: Character, Recursive, Token 기반
- 임베딩 모델 선택 가능: 작은 모델(빠르고 저렴) vs 큰 모델(정확성 높음)
- 에이전트 기반 검색 또는 노드 직접 검색 방식 지원
3) 보안 영향 & 가이드
- 데이터 기밀성: 업로드하는 문서에 개인정보·내부 문서가 포함될 경우 반드시 암호화/접근 제어 필요
- 임베딩 데이터 노출 주의: 벡터화된 데이터도 역추적 가능성이 있으므로 저장소 보안 설정 필수
- 모델 선택 보안: 외부 API(LangChain, OpenAI 등)에 문서 벡터를 전송할 경우 DLP 정책 확인
- 메타데이터 관리: 문서 출처/작성자 정보는 보안 로그 관점에서 유용하지만, 불필요한 식별정보는 제거 필요
4) 운영 영향 범위
- 사내 지식 검색봇, 문서 QA, 보안 FAQ 자동화 등에 즉시 활용 가능
- 기존 DB/검색엔진 대신 Vector Store 기반 검색으로 전환 시 유연성↑
- 프롬프트 기반 검색 정확도 개선 → 잘못된 AI 응답(할루시네이션) 줄이는 효과
5) 적용 방법
👉 데이터 삽입
- 데이터 수집 노드 추가 (예: Google Drive, S3, FTP 등)
- Vector Store 노드 → Insert Documents 선택
- Embedding 모델 선택 (예:
text-embedding-ada-002
,text-embedding-3-large
) - Text Splitter 설정:
- Recursive Character Splitter (추천)
- Chunk size: 200~500 tokens, Overlap 설정 권장
- (선택) 메타데이터 추가 (예: 문서 ID, 작성자, 날짜)
👉 데이터 쿼리
- Agent 기반 검색
- Vector Store를 Tool로 연결
- Limit(검색 결과 수), Metadata 포함 여부 설정
- Node 직접 검색
- Vector Store 노드 → Get Many
- 쿼리 입력 후 결과 반환
6) 실전 활용 예제
👉 예시 시나리오: 보안팀 내부 FAQ 검색봇
- 업로드 워크플로우
- Google Drive에서 보안 정책 PDF → Vector Store Insert
- Embedding 모델:
text-embedding-3-small
- Splitter: Recursive (Markdown/Code Block 우선)
- 쿼리 워크플로우
- Chat Trigger: 사용자 입력 (“내부 시스템 비밀번호 정책은?”)
- Vector Store → Get Many (Top 3 chunks)
- Agent: 검색 결과 기반으로 답변 작성
- Respond to Chat 노드: 답변 출력
➡️ 결과: “비밀번호 최소 길이 12자, 특수문자 포함, 90일 주기 변경”과 같이 실제 내부 정책에 기반한 응답 제공
7) 운영 점검 체크리스트
- 임베딩 모델 일관성: 삽입/쿼리 시 동일 모델 사용
- Chunk 크기 검증: 너무 크면 검색 정확도 ↓, 너무 작으면 문맥 손실 발생
- Vector Store 보안: 접근제어·암호화 설정 확인
- 성능 모니터링: 벡터 검색 응답 지연 확인 (특히 대용량 문서 처리 시)
- 프롬프트 검증: Agent가 불필요하게 많은 Chunk를 사용하지 않도록 제한
8) 유사 기능/대안 비교
- 기존: DB + Keyword Search → 의미 검색 한계
- 신규: Vector Store + Semantic Search → 의미 기반 검색, 최신 문서 활용 가능
- 대안: ElasticSearch + Embedding 기반 하이브리드 검색 (대규모 환경 적합)
9) FAQ/트러블슈팅
- Q: 어떤 임베딩 모델이 적합한가요?
→ 짧고 단순 문서:text-embedding-ada-002
→ 긴 문서·정확성 중요:text-embedding-3-large
- Q: Chunk 크기는 얼마가 적당한가요?
→ 200-500 토큰 + 20-50 토큰 overlap이 일반적 - Q: 할루시네이션을 줄이려면?
→ Metadata 포함 + Agent 프롬프트에 “검색된 내용만 사용하라” 지시
댓글