← 노드 한 장 전체#66 · Item List Output Parser

Item List Output Parser

품목 이름 3개를 AI에게 3줄로 받고, 실제 n8n item 개수를 확인해요

이 글은 이런 분께Basic LLM Chain의 목록 응답을 줄바꿈 기준으로 받고 n8n item 구조까지 확인하고 싶은 분
Item List Output Parser 영상 표지

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요

JSON 받기

품목 이름 3개를 AI에게 3줄로 요청하고 Item List Output Parser로 받아봤어요.

실제 기록은 두 번의 모델 호출로 이어졌습니다.

먼저 결과부터

이번 기록은 모델 호출 2회입니다.
우리가 실제로 돌린 기록 · 실행 #74907 · 2026-10-30
Item List Output Parser 실제 n8n 화면 1
우리가 실제로 돌린 n8n 화면 (실행 #74907, 2026-10-30)
Item List Output Parser 실제 n8n 화면 2
우리가 실제로 돌린 n8n 화면 (실행 #74907, 2026-10-30)

따라 하기

실제로 실행한 워크플로우를 바탕으로 정리했어요. 계정·식별자는 공개용 값으로 치환했고, 그 밖의 차이는 아래 주의사항에 표시했어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 다운로드 JSON의 설정값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.

Step 1. Manual Trigger 노드 추가이름: Run manually

설정 없이 그대로 추가해요.

Step 2. Code 노드 추가이름: Direct sample item names

JavaScript
// 직접 작성한 샘플 품목 3개. 실제 상품/고객 데이터 아님.
const names=["머그컵","접이식 우산","노트"];
return [{json:{sample:true,sourceKind:'direct-authored-sample',sourceText:names.join('\n'),expectedNames:names}}];

Step 3. Basic LLM Chain 노드 추가이름: Basic LLM Chain

Source for Prompt (User Message)Define below
Require Specific Output Format켜짐
Prompt (User Message)
직접 작성한 샘플 품목 목록입니다. 각 줄의 품목 이름을 그대로 3줄로 다시 출력하세요. 설명, 번호, 따옴표, 글머리표 없이 원문 순서를 유지하세요.
원문 목록:
{{ $json.sourceText }}
Batch Processing › Batch Size1

Step 4. OpenAI Chat Model 노드 추가이름: OpenAI Chat Model

Modelgpt-4.1-mini
Options › Sampling Temperature0

Step 5. Item List Output Parser 노드 추가이름: Item List Output Parser

Options › Number Of Items3
Options › Separator\n

Step 6. Code 노드 추가이름: Verify 3 native parser items and order

JavaScript
const src=$('Direct sample item names').first().json;
const input=$input.all();
if(input.length!==3) throw new Error('Expected 3 native parser output items');
const names=input.map(it=>it.json.text??it.json.output??it.json);
const shape=names.every(v=>typeof v==='string')&&names.length===3;
const originalNamesMatch=shape&&names.every((v,i)=>v===src.expectedNames[i]);
if(!originalNamesMatch) throw new Error('Parser output names/order mismatch');
return [{json:{sample:true,sourceKind:src.sourceKind,sourceText:src.sourceText,parserArray:names,parserArrayLength:names.length,n8nItemCountAfterParser:input.length,nativeParserOutput:true,originalNamesMatch:true,orderVerified:true,verificationNote:'Basic LLM Chain이 parser의 3개 문자열을 3 n8n items로 출력했고 원문 이름·순서를 검증.'}}];

가져와서 쓸 때 확인할 것

노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.