# Custom List Output Parser

Custom List Output Parser 노드는 LLM 또는 Agent의 출력 결과를 사용자가 정의한 구분자와 길이 기준에 따라 리스트로 파싱하는 유연한 출력 변환 노드입니다. 출력 형식이 맞지 않을 경우, 모델을 다시 호출해 보정할 수 있습니다.

***

### 주요 기능

* 사용자가 지정한 구분자(Separator) 기준으로 텍스트를 분리
* 결과 리스트의 항목 수를 지정할 수 있는 Length 설정 지원
* Autofix 기능으로 파싱 실패 시 모델 재호출을 통해 오류 복구
* 출력 구조가 일정하지 않은 경우에도 유연하게 대응 가능

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-c2629282015127f41508dd2381823cf44c6fa680%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-19%20181159.png?alt=media" alt=""><figcaption><p>WindyFlo Custom List Output Parser</p></figcaption></figure>

### 입력값 (Inputs)

| 항목        | 설명                              | 필수 여부 |
| --------- | ------------------------------- | ----- |
| Length    | 리스트 항목 수 제한. 정확한 개수를 요구하는 경우 사용 | 선택    |
| Separator | 항목을 나눌 기준 문자열 (예: `,`, , \`     | \`)   |
| Autofix   | 첫 파싱 시 실패할 경우, 모델을 재호출하여 오류를 수정 | 선택    |

***

### 출력값 (Outputs)

| 출력 항목                  | 설명                     |
| ---------------------- | ---------------------- |
| CustomListOutputParser | 지정된 조건에 따라 파싱된 문자열 리스트 |

***

### 활용 예시

* LLM 출력 결과를 쉼표, 줄바꿈, 구분 기호 등으로 나누어 리스트 처리
* 일정 수의 항목만 출력하도록 요구하는 태스크 (예: "상위 5개 키워드")
* 표 형식이 아닌 자유 응답 기반 데이터를 구조화 리스트로 변환할 때
* AI가 생성한 항목 목록을 Loop 또는 Table 노드로 후속 처리하는 경우

***

### 사용 팁

* Separator는 가능한 명확한 문자나 패턴을 사용할수록 파싱 정확도가 높아집니다.
* Length를 함께 지정하면 과도한 항목 생성을 방지할 수 있습니다.
* Autofix는 모델을 한 번 더 호출하므로, 출력이 종종 파싱에 실패하는 경우에만 사용하는 것이 비용 효율적입니다.
* 프롬프트에서 `"항목을 쉼표로 구분하여 출력하세요"`와 같이 명확한 안내를 주는 것이 중요합니다.

***

### 주의사항

* Autofix 사용 시, 모델 재호출로 인해 토큰 비용이 추가로 발생할 수 있습니다.
* Separator와 Length를 동시에 설정했을 경우, 구분 기준에 맞지 않는 항목이 무시될 수 있습니다.
* 입력이 완전히 비정형일 경우, 기대한 리스트로 정확히 변환되지 않을 수 있으므로 사전 포맷 유도 프롬프트 설계가 중요합니다.
