다크 모드
Transform 노드
Transform 노드는 이전 노드의 출력 필드를 선택해 새로운 키를 가진 객체로 재구성합니다. 코드를 작성하지 않고 데이터 계약을 정리할 때 사용합니다.
언제 사용하나요?
- 다음 노드가 기대하는 이름으로 필드명을 바꿀 때
- 여러 이전 노드의 필드를 하나의 평평한 객체로 모을 때
- 필요한 필드만 선택해 다음 단계에 전달할 때
입력
각 매핑은 다음 두 값으로 구성됩니다.
| 항목 | 설명 |
|---|---|
| 대상 키 | Transform 출력 객체에 만들 필드명입니다. |
| 소스 | 현재 노드에서 접근할 수 있는 이전 노드의 출력 필드입니다. |
매핑은 하나 이상 필요하며, 모든 매핑에 유효한 소스를 선택해야 합니다. 대상 키는 비어 있거나 서로 중복될 수 없습니다.
주요 설정
매핑 추가를 누르고 대상 키와 소스 필드를 지정합니다. 소스를 선택할 때 대상 키가 비어 있으면 소스의 마지막 경로명을 바탕으로 고유한 키가 자동 생성됩니다.
매핑을 추가·수정·삭제하면 Transform의 출력 스키마도 자동으로 다시 만들어집니다. 각 대상 키의 타입과 중첩 스키마는 선택한 소스 필드의 스키마를 그대로 복사합니다.
출력
출력은 대상 키를 속성으로 갖는 객체입니다. Transform은 선택한 값을 변환하거나 문자열로 바꾸지 않고 새 키에 그대로 배치합니다.
예를 들어 customer_name과 summary를 매핑하면 다음 노드에서 두 경로를 바로 선택할 수 있습니다.
json
{
"customer_name": "김민수",
"summary": "배송 일정 확인이 필요합니다."
}연결과 배치 제약
- 소스는 현재 실행 순서에서 접근 가능한 이전 노드 출력이어야 합니다.
- 삭제된 노드나 출력 스키마에서 사라진 경로를 참조하면 검증에 실패합니다.
- Transform 노드는 일반 워크플로우와 Iteration, Loop 안에 배치할 수 있습니다.
- Loop나 Iteration 안에서는 같은 컨테이너 범위를 벗어나 직접 연결할 수 없습니다.
예시
고객 문의 처리 결과를 공통 응답 형식으로 맞추는 경우입니다.
| 대상 키 | 소스 |
|---|---|
customer_name | INPUT.name |
answer | LLM.answer |
http_status | HTTP.response.status |
실행 결과는 다음 구조가 됩니다.
json
{
"customer_name": "김민수",
"answer": "문의하신 배송 일정을 확인했습니다.",
"http_status": 200
}주의사항
- Transform은 타입 변환, 계산, 배열 필터링을 수행하지 않습니다. 값 자체를 가공해야 한다면 Code를 사용하세요.
- 대상 키를 바꾸면 다음 노드가 참조하는 출력 경로도 달라집니다. 연결된 설정을 함께 확인하세요.
- 대상 키 입력 중 공백과 사용할 수 없는 문자는 제거되고 숫자로 시작하는 부분은 정리됩니다. 역할이 분명한 고유 키를 사용하세요.
- 소스 노드의 출력 스키마가 실제 실행값과 다르면 Transform의 자동 스키마도 실제값과 달라질 수 있습니다.