슬립 카테고리 분할 노드

슬립박스 노드 사용하기 (슬립 카테고리 분할)

슬립박스 노드 사용하기 (슬립 카테고리 분할)

슬립박스 노드 사용하기 (슬립 카테고리 분할)

노드 사용법 익히기 - 카테고리 분할(Split Category) 노드

카테고리 분할(Split Category) 노드는 너무 커진 카테고리(색인) 슬립 하나를 여러 개의 하위 카테고리로 한 번에 나누는 노드입니다. 나누고 싶은 그룹만큼 새 하위 카테고리가 만들어지고, 지정한 자식 슬립들이 각 그룹 아래로 옮겨집니다. 도중에 문제가 생기면 전체 작업이 롤백되어 절반만 나뉜 카테고리가 남지 않으며, 슬립 본문 자체는 전혀 건드리지 않습니다.

이 노드는 에이전트에 도구로 연결해 활용하기도 좋지만, 이 튜토리얼에서는 가장 기본적인 사용법을 확인할 수 있도록 어빌리티에서 다룹니다. 에이전트에 연결하는 방법은 별도의 슬립박스 에이전트 통합 가이드에서 다룰 예정입니다. 실제로 사용할 때 어떤 카테고리를 나눌지는 각자 프로젝트 상황에 맞게 자유롭게 정하면 되며, 이 튜토리얼에서는 에이전트리아 Docs 슬립박스에 테스트용 카테고리와 하위 슬립 여러 개를 만들어 두 그룹으로 나누는 어빌리티 워크플로를 완성합니다.

사전 준비

이 튜토리얼을 시작하기 전에 프로젝트에 슬립박스가 구축되어 있고, 나눌 대상 카테고리(색인 슬립)와 그 아래 하위 슬립이 이미 여러 개 만들어져 있어야 합니다. 슬립박스 구성 방법은 🔗슬립박스 가이드를 참고하시기 바랍니다. 이 튜토리얼에서는 에이전트리아 Docs 슬립박스 안에 테스트용 카테고리와 하위 슬립을 새로 만들어 사용합니다.

이 튜토리얼을 완료하면 다음을 수행할 수 있습니다.

  1. 카테고리 분할 노드로 하나의 카테고리를 여러 하위 카테고리로 나눌 수 있습니다.

  2. 카테고리 분할 노드의 각 입력 변수를 시작 노드의 입력값과 연결할 수 있습니다.

  3. 그룹별로 옮길 슬립을 지정하는 groups 값을 직접 구성할 수 있습니다.

  4. 런테스트와 디버그 로그로 카테고리가 정상적으로 나뉘었는지 확인할 수 있습니다.

워크플로 개요

이 튜토리얼의 핵심은 카테고리 분할 노드입니다.

카테고리 분할 노드는 나눌 대상 카테고리(색인) 슬립을 UUID로 지정하고, 전달한 그룹 목록에 따라 새 하위 카테고리를 만들어 지정된 자식 슬립을 그 아래로 옮깁니다. 그룹에서 언급하지 않은 자식은 원래 자리에 그대로 남습니다.

카테고리 분할 노드 기본 정보

카테고리 분할 노드는 아래 옵션을 제공합니다.

옵션

필수 여부

설명

분할할 카테고리 UUID

필수

나눌 카테고리(색인) 슬립의 UUID입니다. 일반 슬립을 주면 거부됩니다.

분할 그룹 목록

필수

그룹 객체 목록입니다. 각 항목은 label(새 하위 카테고리 제목), summary(선택, 그 카테고리 설명), member_slip_public_uuids(그 아래로 옮길 슬립 UUID 목록)를 갖습니다. 멤버는 분할 대상의 현재 직계 자식이어야 하고 그룹 간 중복은 불가하며, 전체 합계 80건까지입니다. 언급하지 않은 자식은 제자리에 남습니다.

대상 슬립박스

필수

이 노드가 다룰 슬립박스입니다. 빌더에서 선택해 고정합니다.

이 튜토리얼에서는 세 항목을 모두 사용합니다.

1단계: 어빌리티 생성

새 어빌리티를 생성합니다. 이름카테고리 분할 노드, 설명카테고리를 하위 그룹으로 나누기를 입력합니다. 카테고리 분할 노드를 사용해 나눌 카테고리를 이 어빌리티에서 직접 연결합니다. 어떤 카테고리를 대상으로 할지는 각자 알아서 정하면 되며, 이 튜토리얼에서는 에이전트리아 Docs 슬립박스에 만들어 둔 테스트용 카테고리를 대상으로 진행합니다.

2단계: 시작 노드 설정

시작 노드를 더블 클릭하여 노드 편집기로 진입합니다. 아래 두 변수를 추가합니다.

  • uuid: 나눌 대상 카테고리의 UUID를 입력받습니다. (String)

  • groups: 그룹별로 옮길 슬립을 지정하는 목록을 입력받습니다. (Array)

groupsString이 아니라 Array 타입으로 추가해야 합니다.

3단계: 카테고리 분할 노드 추가

+노드 추가(Add Node)슬립박스(Slipbox) 카테고리에서 카테고리 분할 노드를 추가합니다.

4단계: 카테고리 분할 노드 설정

카테고리 분할 노드를 더블 클릭하여 노드 편집기로 진입합니다. 대상 슬립박스에서 에이전트리아 Docs를 선택합니다.

나머지 항목에는 아래와 같이 시작 노드의 입력값을 드래그 앤 드롭으로 바인딩합니다.

어댑터 변수

바인딩 값

분할할 카테고리 UUID

uuid

분할 그룹 목록

groups

노드가 정상 실행되면 created_index_ids(새로 생성된 하위 카테고리들의 UUID 배열), error_code, error_message를 출력합니다.

5단계: 종료 노드 설정

종료 노드를 더블 클릭하여 노드 편집기로 진입합니다. String 타입의 result 출력변수를 추가하고 카테고리 분할 노드의 error_code를 드래그 앤 드롭으로 바인딩합니다. 이렇게 하면 카테고리가 정상적으로 나뉘었는지 실패했는지를 출력값으로 확인할 수 있습니다.

6단계: 테스트용 카테고리와 하위 슬립 준비

테스트용 카테고리와 하위 슬립 준비

에이전트리아 Docs 슬립박스로 이동해 슬립 추가 버튼으로 테스트용 카테고리를 하나 새로 만듭니다. 새로 만든 슬립의 타입은 기본값인 색인을 그대로 사용합니다. 이 카테고리를 열어 하위 페이지 영역의 + 버튼으로 하위 슬립을 4개 정도 추가합니다(예: 테스트 항목 1~4). 마지막으로 우측 정보 패널에서 카테고리 슬립과 각 하위 슬립의 공개 UUID를 복사해둡니다. 이 값들은 런테스트에서 uuidgroups의 입력값으로 사용합니다.

7단계: 런테스트 실행

uuid에는 앞서 복사한 테스트용 카테고리의 공개 UUID를 붙여넣습니다. groups에는 하위 슬립들을 두 그룹으로 나누는 JSON 배열을 작성합니다.

[
  {
    "label": "그룹 A",
    "summary": "테스트 항목 1, 2를 담는 그룹입니다.",
    "member_slip_public_uuids": ["<테스트 항목 1의 UUID>", "<테스트 항목 2의 UUID>"]
  },
  {
    "label": "그룹 B",
    "summary": "테스트 항목 3, 4를 담는 그룹입니다.",
    "member_slip_public_uuids": ["<테스트 항목 3의 UUID>", "<테스트 항목 4의 UUID>"]
  }
]
[
  {
    "label": "그룹 A",
    "summary": "테스트 항목 1, 2를 담는 그룹입니다.",
    "member_slip_public_uuids": ["<테스트 항목 1의 UUID>", "<테스트 항목 2의 UUID>"]
  },
  {
    "label": "그룹 B",
    "summary": "테스트 항목 3, 4를 담는 그룹입니다.",
    "member_slip_public_uuids": ["<테스트 항목 3의 UUID>", "<테스트 항목 4의 UUID>"]
  }
]
[
  {
    "label": "그룹 A",
    "summary": "테스트 항목 1, 2를 담는 그룹입니다.",
    "member_slip_public_uuids": ["<테스트 항목 1의 UUID>", "<테스트 항목 2의 UUID>"]
  },
  {
    "label": "그룹 B",
    "summary": "테스트 항목 3, 4를 담는 그룹입니다.",
    "member_slip_public_uuids": ["<테스트 항목 3의 UUID>", "<테스트 항목 4의 UUID>"]
  }
]

테스트 실행(RUN TEST)을 클릭합니다. result 출력값으로 SUCCESS가 나오면 성공입니다.

8단계: 디버그 로그 확인

카테고리 분할 노드디버그 로그를 확인하면 error_codeSUCCESS로 반환된 세부 내역과, 함께 반환된 created_index_ids 값을 확인할 수 있습니다. 그룹 개수만큼 새로 생성된 하위 카테고리 슬립의 UUID가 배열로 담겨 있습니다.

9단계: 슬립박스에서 결과 확인

에이전트리아 Docs 슬립박스로 이동해 방금 나눈 테스트용 카테고리를 열어보면, 기존에 개별로 있던 하위 슬립들 대신 groups에서 지정한 개수만큼의 새 하위 카테고리(이 튜토리얼에서는 그룹 A, 그룹 B)가 생긴 것을 확인할 수 있습니다. 각 하위 카테고리를 열어보면 해당 그룹에 지정했던 슬립들이 그 아래로 옮겨져 있고, 슬립 자체의 제목이나 본문은 그대로 유지된 것을 확인할 수 있습니다.

다음 단계

🎉 축하합니다! 에이전트리아를 사용해 '카테고리를 하위 그룹으로 나누기' 워크플로를 완성했습니다.

이 노드를 에이전트 루프 노드에 도구로 연결하면, 에이전트가 대화 중 카테고리가 너무 커졌다고 판단할 때 스스로 하위 카테고리로 정리하는 워크플로로도 확장할 수 있습니다.

에이전트리아는 아이디어를 현실로 바꾸는 가능성의 공간입니다.

당신의 상상력으로 워크플로는 무한히 확장될 수 있습니다.

  • 더 많은 노드 활용 예제가 궁금하다면 🔗노드 사용법 페이지를 확인하세요.

자주 묻는 질문

카테고리 분할 노드는 무엇을 하는 노드인가요?

카테고리 분할 노드는 슬립박스(Slipbox)의 카테고리(색인) 슬립 하나를 여러 하위 카테고리로 나누는 노드입니다. 나눌 카테고리를 UUID로 지정하고, 전달한 그룹 목록에 따라 새 하위 카테고리를 만들어 지정한 자식 슬립들을 그 아래로 옮깁니다. 그룹에서 언급하지 않은 자식은 원래 자리에 그대로 남습니다.

groups에 넣을 수 있는 슬립에는 제한이 있나요?

네. member_slip_public_uuids에 넣는 슬립은 반드시 분할 대상 카테고리의 현재 직계 자식이어야 하며, 같은 슬립을 여러 그룹에 중복해서 넣을 수 없습니다. 또한 모든 그룹의 멤버 수를 합쳐 최대 80건까지만 지정할 수 있습니다.

일반 슬립(색인이 아닌 슬립)도 분할 대상으로 지정할 수 있나요?

아니요. 분할할 카테고리 UUID에는 반드시 색인 타입의 슬립만 지정할 수 있습니다. 일반 슬립의 UUID를 주면 노드가 요청을 거부합니다.

분할 도중 오류가 나면 일부만 나뉜 상태로 남나요?

아니요. 카테고리 분할 노드는 그룹 생성부터 슬립 재배치까지를 하나의 작업으로 처리하며, 중간에 문제가 생기면 전체 작업이 롤백됩니다. 그룹 몇 개만 만들어지고 나머지는 실패하는 식으로 절반만 나뉜 상태가 남지 않습니다.