Get Started

슬립박스 노드 사용하기 (Query)

슬립박스 노드 사용하기 (Query)

슬립박스 노드 사용하기 (Query)

노드 사용법 익히기 - 슬립박스 쿼리(Slipbox Query) 노드

슬립박스 쿼리(Slipbox Query) 노드는 에이전트 루프 노드의 도구(Tool)로 연결하여, 슬립박스에서 관련 문서를 검색하고 그 내용을 에이전트 답변에 활용할 수 있는 노드입니다. 슬립박스에 저장된 업무 지식을 기반으로 Agent가 정확한 답변을 생성하는 RAG(Retrieval-Augmented Generation) 패턴을 구현합니다.

이 튜토리얼에서는 에이전트리아(Agentria) Docs를 슬립박스로 구축하고, 슬립박스 쿼리 노드를 활용해 Docs 내용을 기반으로 질문에 답변하는 '에이전트리아 Docs 챗봇' 에이전트 워크플로를 완성합니다.

사전 준비

이 튜토리얼을 시작하기 전에 프로젝트에 슬립박스가 구축되어 있어야 합니다. 슬립박스 구성 방법은 🔗슬립박스 가이드를 참고하시기 바랍니다.

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

  1. 슬립박스 쿼리 노드를 에이전트 루프 노드의 도구(Tool)로 연결할 수 있습니다.

  2. 슬립박스 쿼리 노드에 슬립박스를 연결할 수 있습니다.

  3. 에이전트 루프 노드에 페르소나와 지침을 설정할 수 있습니다.

  4. LLM 노드에 슬립박스 검색 결과를 참조하는 프롬프트를 작성할 수 있습니다.

  5. 챗 테스트로 슬립박스 기반 챗봇을 확인할 수 있습니다.

워크플로 개요

인풋 노드 → 에이전트 루프 노드 ─────────────────────────────── 아웃풋 노드
            │          ╲            ╲
        [tools]

인풋 노드 → 에이전트 루프 노드 ─────────────────────────────── 아웃풋 노드
            │          ╲            ╲
        [tools]

인풋 노드 → 에이전트 루프 노드 ─────────────────────────────── 아웃풋 노드
            │          ╲            ╲
        [tools]

이 튜토리얼의 핵심은 슬립박스 쿼리 노드입니다.

슬립박스 쿼리 노드는 에이전트 루프 노드의 도구로 등록되어, 에이전트가 필요에 따라 슬립박스에 질의를 수행합니다. 에이전트 루프 노드와 슬립박스 쿼리 노드 각각의 llm_model_node 핀에 LLM 노드 A(기본)를, fallback_llm_model_node 핀에 LLM 노드 B(폴백)를 연결하여 안정적인 답변 생성을 보장합니다.

1단계: 사전 준비 확인

슬립박스 쿼리 노드를 사용하려면 프로젝트에 사용할 슬립박스가 있어야 합니다. 슬립박스 구성 방법은 🔗슬립박스 가이드를 참고하시기 바랍니다.

이 튜토리얼에서는 에이전트리아 Docs를 슬립박스로 구축하여 에이전트 지식으로 활용합니다.

2단계: 에이전트 생성

새 에이전트를 생성합니다.

Desk 에이전트란? Desk 에이전트는 클라이언트 앱의 Desk 모드에서 실행되며 Desk 도구(Tool)를 사용해 데스크톱 환경을 제어할 수 있는 에이전트입니다. 이 튜토리얼은 데스크톱 환경 제어와 관련이 없으므로 기본 에이전트로 생성합니다.

3단계: 워크플로 배치 및 연결

캔버스에 아래 노드를 추가하고 이미지와 같이 배치합니다.


  • 슬립박스 쿼리(Slipbox Query) 노드: +노드 추가(Add Node)슬립박스(Slipbox) 카테고리에서 추가합니다.

  • LLM 노드 A, LLM 노드 B: +노드 추가(Add Node)AI 카테고리에서 추가합니다.


배치가 완료되면 아래 순서로 연결합니다.

  1. 인풋 노드에이전트 루프 노드아웃풋 노드 순으로 엣지를 연결합니다.

  2. 에이전트 루프 노드tools 핀 → 슬립박스 쿼리 노드를 연결합니다.

  3. 에이전트 루프 노드llm_model_node 핀 → LLM 노드 A를 연결합니다.

  4. 에이전트 루프 노드fallback_llm_model_node 핀 → LLM 노드 B를 연결합니다.

  5. 슬립박스 쿼리 노드llm_model_node 핀 → LLM 노드 A를 연결합니다.

  6. 슬립박스 쿼리 노드fallback_llm_model_node 핀 → LLM 노드 B를 연결합니다.

fallback_llm_model_node는 기본 LLM(LLM 노드 A)이 답변에 실패할 경우 대신 실행되는 백업 LLM입니다.

4단계: 에이전트 루프 노드 설정 - 입력 바인딩

이 튜토리얼에서는 인풋 노드에 별도의 변수를 선언하지 않습니다. 에이전트 루프 노드를 더블 클릭하여 노드 편집기로 진입합니다.

user_input 어댑터 변수에 input_message를 드래그 앤 드롭으로 바인딩합니다.

5단계: 에이전트 루프 노드 설정 - 페르소나 및 지침

옵션 변수를 추가하여 챗봇의 성능을 높일 수 있습니다. 에이전트 페르소나에이전트 지침 옵션 변수를 추가합니다.


옵션 변수

설명

에이전트 페르소나

에이전트의 역할을 정의합니다. 이 튜토리얼에서는 '에이전트리아 공식 챗봇'으로 설정하고, 에이전트리아 Docs를 참고하여 명확한 답변을 제공하는 조력자로 세팅합니다.

에이전트 지침

에이전트의 동작 방식을 안내합니다. 슬립박스에 자료가 없는 질문에는 솔직하게 답변하도록 예외 처리를 프롬프팅합니다.

6단계: 슬립박스 쿼리 노드 설정

슬립박스 쿼리 노드를 더블 클릭하여 노드 편집기로 진입합니다.

슬립박스 쿼리 노드는 아래 옵션을 제공합니다.

옵션

필수 여부

설명

슬립박스 공개 UUID

필수

연결할 슬립박스의 공개 UUID를 입력합니다.

슬립박스 공개 UUID 설정 섹션에서 사용할 슬립박스를 선택합니다. 이 튜토리얼에서는 Agentria Docs 슬립박스를 연결합니다.

7단계: LLM 노드 설정

LLM 노드 A를 더블 클릭하여 노드 편집기로 진입합니다. 시스템 프롬프트와 사용자 프롬프트를 작성합니다.

사용자 프롬프트에는 질문과 슬립박스 검색 결과에 해당하는 변수를 드래그 앤 드롭으로 선언하여 참조합니다.

LLM 노드 BLLM 노드 A와 동일하게 설정합니다. LLM 노드 B(폴백)는 LLM 노드 A(기본)가 답변에 실패할 경우를 대비하는 백업 LLM입니다.

8단계: 아웃풋 노드 설정

아웃풋 노드를 더블 클릭하여 노드 편집기로 진입합니다.


  • output_message 어댑터 변수에 final_answer를 드래그 앤 드롭으로 연결합니다.

  • output_event_data 어댑터 변수에 reasoning_steps를 드래그 앤 드롭으로 연결합니다.


9단계: 챗 테스트 실행

챗 테스트를 통해 챗봇을 확인합니다. '당신은 누구입니까?'라고 질문하면 에이전트 루프 노드의 페르소나 프롬프트를 활용해 '에이전트리아 공식 챗봇'이라고 답변하는 것을 확인할 수 있습니다.

'제네시스랩 노드에 대해 설명해주세요.'라는 질문에는 솔직하게 자료가 없다고 답변합니다. 에이전트 루프 노드의 지침에 이러한 예외 처리를 프롬프팅해 두었기 때문입니다.

'파이썬 노드 사용 예제가 있나요?'와 같이 실제 사용자 질문을 입력하면 슬립박스 내용을 기반으로 정확하게 답변하는 것을 확인할 수 있습니다.

다음 단계

🎉 축하합니다! 에이전트리아를 사용해 '에이전트리아 Docs 챗봇' 워크플로를 완성했습니다.

이 챗봇은 API 배포를 통해 실제 서비스에 바로 적용할 수 있습니다. 배포 방법은 🔗API 배포 가이드를 참고하시기 바랍니다.

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

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