Skip to content

에이전트 빌더

에이전트 빌더를 통해 여러 단계로 구성된 에이전트 워크플로우를 시각적으로 조립하고, 디버깅하고, 배포할 수 있습니다.

에이전트 속성

인사말

대화 시작 문구를 활성화하여 답답한 빈 채팅 화면을 없애세요. 사용자가 새로운 대화를 시작하면 에이전트가 능동적으로 자신을 소개하고 기능을 설명하도록 인사말을 구성하세요. 이를 통해 사용자는 자신이 무엇을 할 수 있는지 즉시 파악할 수 있습니다.

파일 첨부

에이전트에게 파일 입력을 허용할 경우 활성화시킵니다. 활성화 시 채팅창에 파일 첨부 메뉴가 추가됩니다.

가드레일

개인 식별 정보(PII)를 마스킹하거나 유해 콘텐츠를 판별하여 원치 않는 입력을 감지하도록 입력 모니터를 설정하십시오.

워크플로우

유용한 에이전트를 구축하려면 에이전트용 워크플로우를 생성해야 합니다. 워크플로우는 에이전트, 도구, LLM 및 제어 흐름 로직의 조합입니다. 워크플로우는 작업을 처리하거나 채팅을 운영하는 데 필요한 모든 작업 및 단계들을 캡슐화하여 배포 후 실행할 수 있는 코드를 포함합니다.

사용가능한 노드

에이전트 빌더에서 노드들을 삽입하고 연결하여 워크플로를 구성합니다. 사용 가능한 노드 타입은 아래와 같습니다.

기본 노드

기본 노드부터 시작하세요. 모든 워크플로는 시작 노드에서 시작합니다.

시작

워크플로를 시작하기 위해 사용자 입력을 수집합니다. 사용자의 직접적인 상호 작용(쿼리 입력 후 전송 버튼 클릭) 혹은 API 호출을 통해 시작합니다.

입력 변수

  • query string
    • 사용자의 최근 채팅 대화에서 자동으로 캡처된 텍스트 메시지입니다.
  • files array
    • 사용자 어플리케이션을 실행할 때 업로드한 파일입니다.

LLM

LLM 노드는 언어 모델을 호출하여 텍스트 및 문서를 처리합니다. 구성된 모델에 프롬프트를 전송하고 응답을 받아 텍스트 출력 혹은 구조화된 출력을 캡쳐할 수 있습니다.

프롬프트 구성
모델 동작 지침(지시어)과 필요 시 사용자 메시지를 추가하세요. 프롬프트에서 워크플로우 변수를 참조할 때는 이중 중괄호({{ variable_name }})를 사용하세요. 변수는 모델에 전달되기 전에 실제 값으로 대체됩니다.

지시어 프롬프트는 Jinja2 템플리트를 지원합니다. Jinja2 템플리트를 사용하면 다음과 같은 작업을 수행할 수 있습니다.


{% for item in results %}
[{{ item.title }}]({{ item.url }}): {{ item.content }}
{% endfor %}

Jinja2 변수는 일반 변수 치환과 별도로 처리되므로 프롬프트 내에서 반복문, 조건문 및 복잡한 데이터 변환이 가능합니다.

채팅 기록
채팅 흐름 내 여러 LLM이나 에이전트 호출에서 컨텍스트를 유지하려면 채팅 기록을 활성화하세요.

  • 채팅 기록을 포함
    • 채팅 기록은 사용자 입력과 이전 에이전트나 LLM 노드의 출력을 포함합니다. LLM이 이전 노드의 맥락을 이해하기 위해 실행 시 전체 대화 기록(또는 최소한 관련 있는 이전 대화 내용)을 포함시킵니다.
  • 채팅 기록에 추가
    • 후속 노드에서 맥락을 참조할 수 있도록 LLM의 생성 답변을 채팅 기록에 추가합니다. ⚠️ 채팅 기록에 추가하지 않은 LLM이나 에이전트 노드의 응답은 대화이력 열람 시 대화 내용에 표시되지 않습니다.

출력 변수

  • text string
    • 모델에 의해 생성된 응답 메시지입니다.
  • reasoning_content string
    • 추론 모드 활성화 시 모델이 생성한 추론 메시지입니다.
  • usage object
    • 토큰 개수와 같은 생성된 메시지에 대한 사용 통계입니다.
  • structured_output object
    • 츨력 변수 형식을 JSON으로 지정할 경우 모델이 설정한 JSON 스키마 형식에 맞게 반환하도록 강제합니다. 구조화된 출력를 참조하세요.

에이전트

에이전트 노드는 LLM에게 도구들에 대한 자율적인 제어 권한을 부여하여, 어떤 도구를 언제 사용할지 반복적으로 결정할 수 있도록 합니다. 모든 단계를 미리 계획하는 대신, 에이전트는 문제를 동적으로 추론하고 필요에 따라 도구를 호출하여 복잡한 작업을 완료합니다.

도구 추가
에이전트가 사용할 수 있는 도구들을 구성하세요.

도구 설명
계획 작성 복잡한 작업 요청의 경우 곧바로 실행에 들어가기보다는 먼저 계획(Plan) 을 수립한 후 이를 실행하는 구조를 갖는 것이 바람직합니다.
계획 작성 도구는 고수준 사용자 목표를 실행 가능한 여러 작업으로 나누어 단계 별(pending → in_progress → completed)로 처리합니다.
이를 통해 필요한 작업을 누락하거나 이미 끝난 작업을 반복하는 실수를 줄일 수 있습니다.
웹 검색 필요 시 인터넷을 검색하여 필요한 정보를 컨텍스트에 포함시킵니다.
문서 검색 검색엔진에 생성한 볼륨에서 콘텐츠를 검색합니다.
문서 불러오기 맥락을 파악하기 위해 선택된 파일 내용을 불러옵니다.
MCP 서버 MCP 서버를 통해 외부 서비스의 도구들을 사용할 수 있게 합니다.

채팅 기록
채팅 흐름 내 여러 LLM이나 에이전트 호출에서 컨텍스트를 유지하려면 채팅 기록을 활성화하세요.

  • 채팅 기록을 포함
    • 에이전트가 이전 노드의 맥락을 이해하기 위해 실행 시 전체 대화 기록(또는 최소한 관련 있는 이전 대화 내용)을 포함시킵니다.
  • 채팅 기록에 추가
    • 후속 노드에서 맥락을 참조할 수 있도록 이 에이전트가 생성하는 도구 호출이나 생성 답변을 채팅 기록에 추가합니다.

      ⚠️ 채팅 기록에 추가하지 않은 LLM이나 에이전트 노드의 응답은 대화이력 열람 시 대화 내용에 표시되지 않습니다.

출력 변수

⚠️ 출력 형식을 JSON으로 할 경우 반환 객체는 json 속성값으로 저장됩니다.

종료

종료 노드에 도달하면 워크플로우를 종료합니다. 종료 전에 최종 사용자에게 전달될 콘텐츠를 정의할 수 있습니다. 이 노드를 사용하여 텍스트와 변수를 결합한 콘텐츠를 스트리밍할 수 있습니다.

논리 노드

논리 노드를 사용하면 사용자 지정 논리를 작성하고 제어 흐름을 정의할 수 있습니다.

IF/ELSE

IF/ELSE 노드는 사용자가 정의한 조건에 따라 실행 경로를 다르게 지정할 수 있도록 워크플로에 분기 로직을 추가합니다. 변수를 평가하고 워크플로가 따라야 할 분기를 결정합니다.

조건은 공통 표현 언어(CEL)를 사용하여 표현식을 만듭니다.

분류

분류 노드는 입력을 지능적으로 분류하여 대화를 다양한 워크플로 경로로 안내합니다. 복잡한 조건 논리를 구축하는 대신 범주를 정의하면 LLM이 의미론적 이해를 바탕으로 가장 적합한 범주를 결정합니다.

입력 변수
분류할 항목을 선택합니다. 일반적으로 사용자 질문(start_0.query)이 사용되지만, 이전 워크플로우 노드의 텍스트 변수라면 무엇이든 사용할 수 있습니다.

지시어
예외적인 경우, 모호한 시나리오 또는 특정 비즈니스 규칙을 처리하기 위해 지시어 필드 에 자세한 분류 지침을 추가하세요 . 이렇게 하면 LLM이 클래스 간의 미묘한 차이를 이해하는 데 도움이 됩니다.

분류 클래스
각 클래스에는 두 개의 독립적인 텍스트가 있습니다.

  • 클래스 이름
    • 캔버스에 표시되는 레이블입니다. 클래스 항목을 명확하게 표현할 수 있는 이름으로 작성하세요.
  • 클래스 설명
    • LLM이 분기를 선택할 때 읽는 내용입니다. 클래스에 속하는 항목을 정확하고 명확하게 설명하세요. 클래스가 겹치는 경우 "…와 관련된 모든 것" 또는 "…을 제외한 것"과 같은 경계 문구를 사용하면 도움이 됩니다.

도구 노드

도구 노드를 사용하면 에이전트에 도구와 외부 서비스를 장착할 수 있습니다. 데이터를 검색하고, 텍스트를 추출하고, 외부 서비스에 연결할 수 있습니다.

지식 검색

검색엔진에서 생성한 볼륨에서 콘텐츠를 검색합니다. 특정 볼륨에서 쿼리와 관련된 정보를 검색하여 하위 노드(예: LLM)에서 사용할 수 있도록 컨텍스트 콘텐츠 형태로 결과를 출력합니다.

검색엔진 볼륨 외 외부 문서를 검색하려면 MCP를 사용하세요.

검색 쿼리
지식 기반에서 검색해야 할 쿼리 텍스트를 선택하세요.

검색 컬렉션
쿼리와 관련된 콘텐츠를 검색할 수 있도록 하나 이상의 기존 지식 기반을 추가합니다.

출력 변수

  • results array
    • 검색된 문서의 청크 내용, 제목, 청크 아이디, URL을 포함하는 배열입니다.
    • content string 청크 내용
    • title string 제목
    • uuid string 청크 아이디
    • url string 청크 URL

문서 추출

업로드된 파일을 언어 모델이 처리할 수 있는 텍스트로 변환합니다. 언어 모델은 PDF나 DOCX와 같은 문서 형식을 직접 읽을 수 없기 때문에, 이 노드는 파일 업로드와 AI 분석 사이의 필수적인 연결 고리 역할을 합니다.

입력 파일
텍스트 추출할 파일 변수에서 가져온 파일 입력(일반적으로 시작노드의 파일 입력 start_0.files)

출력 변수

  • text string
    • 후속 처리를 위해 추출된 원시 텍스트 콘텐츠

HTTP

HTTP 요청 노드는 워크플로우를 외부 API 및 웹 서비스에 연결합니다. 이 노드를 사용하여 데이터를 가져오거나, 웹훅을 보내거나, 파일을 업로드하거나, HTTP 요청을 허용하는 모든 서비스와 통합할 수 있습니다.

출력 변수

  • body string or object
    • HTTP 응답으로 반환되는 본문 텍스트입니다. 응답 콘텐츠 타입이 application/json 일 경우 JSON 오브젝트로 자동 변환됩니다.
  • status_code number
    • HTTP 상태 코드

코드보기

좀 더 전문적으로 에이전트를 개발하고자 할 경우 상단 메뉴에서 [코드보기]를 클릭하세요. 워크플로우 코드를 복사하여 어디에서든 사용할 수 있습니다.

미리보기

워크플로우를 구축하는 동안 미리보기 기능을 사용하여 워크플로우를 테스트할 수 있습니다. 미리보기 기능을 통해 워크플로우를 대화형으로 실행하고, 샘플 파일을 첨부하고, 각 노드의 실행 과정을 확인할 수 있습니다.

배포

워크플로우가 만족스러우면 배포하여 사용자들이 접근할 수 있는 새로운 버전을 생성하세요. 배포된 에이전트는 채팅 페이지의 에이전트 목록에 추가됩니다.