← 노드 한 장 전체#65 · Character Text Splitter
Character Text Splitter
Size70으로 설정했는데189자도: 구분자 없는 긴 구간의 실제 출력 확인
이 글은 이런 분께정한 구분자로 문서를 나눌 때 Chunk Size보다 긴 조각이 나올 수 있는지 실제로 확인하고 싶은 분

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요
구분자로 나누기, Size70 설정인데189자 조각도 나왔어요.
노드 한 장 #65 · Character Text Splitter
먼저 결과부터
고유 구간 표시를 넣은 가상 문서303자를 Character Text Splitter(Separator SECTION_BREAK·Size70·Overlap15)로 실제 나눴습니다(#74892). 반환3조각의 길이는34/189/54자였고, 구분자 없는 B02 189자가 그대로 나와 설정70 이하를 보장하지 않는 이번 사례를 확인했어요. 각 조각의 원문 포함·유일 매칭·순서와 native 응답 일치를 검증했고 실제 겹침은0/0이었습니다. 같은 구분자로 재연결한 이번 샘플의 복원도 확인했지만 일반화하지 않습니다. Recursive 비교 실험이나 채팅 호출은 하지 않았어요.
우리가 실제로 돌린 기록 · 실행 #74892 · 2026-10-30
우리가 실제로 돌린 기록 · 실행 #74892 · 2026-10-30

따라 하기
실제로 실행한 워크플로우를 바탕으로 정리했어요. 계정·식별자는 공개용 값으로 치환했고, 그 밖의 차이는 아래 주의사항에 표시했어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 다운로드 JSON의 설정값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.
Step 1. Manual Trigger 노드 추가이름: Run manually
설정 없이 그대로 추가해요.
Step 2. Code 노드 추가이름: One marked fictional document
| JavaScript | // 고유 구간표시가 있는 직접 작성한 가상 문서 한 개.
return [{json:{document:"[A01-시작] 가상 문구점의 입고 안내입니다. [A01-끝]SECTION_BREAK[B02-시작] 새 공책과 연필이 들어오면 포장 상태와 수량을 확인합니다. 확인한 물건은 종류별 상자에 나누어 두고 가격표를 준비합니다. 진열하기 전에는 샘플 목록과 물건의 종류가 같은지 다시 살펴봅니다. 긴 안내 문단 안에는 이번에 지정한 구분자를 넣지 않았습니다. 이 문단이 목표 길이를 넘는지도 실제 결과로 확인합니다. [B02-끝]SECTION_BREAK[C03-시작] 모든 내용은 직접 작성한 가상 상황이며 실제 고객 정보가 아닙니다. [C03-끝]"}}]; |
Step 3. Simple Vector Store 노드 추가이름: Own Simple Vector Store
| Operation Mode | Insert Documents |
| Memory Key | TEST_CHARACTER_SPLITTER_STORE |
| Clear Store | 꺼짐 |
Step 4. Default Data Loader 노드 추가이름: Default Data Loader
| Type of Data | JSON |
| Mode | Load All Input Data |
| Text Splitting | Custom |
Step 5. Embeddings OpenAI 노드 추가이름: Embeddings OpenAI
| Model | text-embedding-3-small |
| Options › Dimensions | 256 |
| Options › Batch Size | 8 |
| Options › Encoding Format | Float |
Step 6. Character Text Splitter 노드 추가이름: Character Text Splitter
| Separator | SECTION_BREAK |
| Chunk Size | 70 |
| Chunk Overlap | 15 |
가져와서 쓸 때 확인할 것
- [실제 확인] Separator SECTION_BREAK·Size70·Overlap15로303자 문서를 나눠34/189/54자의3조각이 나왔어요. B02 189자는 목표70을 넘었으므로 무조건 상한이라고 설명하지 않았습니다.
- [실제 확인] 고유 구간 표시 덕분에 세 출력이 각각 원문에서 유일하게 매칭됐고 native Splitter 응답과 parent pageContent도 정확히 같았습니다.
- [실제 확인] Overlap15는 설정값, 인접 원문 범위의 실측 겹침은0/0입니다. 항상15자 겹친다는 보장은 없어요.
- [실제 확인] 이 샘플은 제거된 동일 구분자 두 개를 다시 넣으면 원문과 정확히 일치했습니다. 다른 문서까지 복원 가능하다고 일반화하지 않았어요.
- [범위 구분] Character가 주인공이며 Recursive와 같은 문서로 실행 비교하지 않았습니다. 다른 노드의 결과를 이 실습의 증거로 쓰지 않았어요.
- [공개 정제] 고유 private key만 TEST_CHARACTER_SPLITTER_STORE로 바꾸고 자격 증명/내부 메타를 제거했습니다. 샘플·수치·Clear Store=false는 처음 실제 실행과 동일합니다. 본인 고유 테스트 키로 바꿔 사용하세요.
- YOUR_… 표시를 내 값으로 바꾸고, 계정이 필요한 서비스 노드만 자격 증명을 연결하세요. 그런 칸이나 노드가 없는 예제는 추가 계정 없이 실행할 수 있어요.
노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.