본문 바로가기
서버구축 (WEB,DB)

대화형 인터페이스로 업무를 실행하다: n8n Workflow Agent 구현

by 날으는물고기 2026. 2. 17.

대화형 인터페이스로 업무를 실행하다: n8n Workflow Agent 구현

728x90

Chat Hub 한 줄 정의와 전체 구조

Chat Hub는 n8n 안에서 “대화 UI(채팅)”를 중심으로

  • 여러 LLM 모델을 선택해 대화하거나
  • 내가 만든 Personal Agent(가벼운 커스텀 프롬프트 에이전트) 를 쓰거나
  • 내가/동료가 만든 워크플로우를 ‘에이전트처럼’ 호출(Workflow agent) 하도록 해주는 중앙 채팅 인터페이스입니다.
300x250

즉, “대화 → (선택한 에이전트/워크플로우 실행) → 응답”이 한 화면에서 연결됩니다.

Chat Hub에서 에이전트를 만드는 2갈래(핵심 비교)

간단 Personal Agent (Chat Hub 안에서 즉시 생성)

  • 목적: 반복적인 프롬프트 템플릿, 톤/규칙 고정, 간단한 작업에 “AI를 더 안정적으로” 쓰기
  • 장점: 빠르고 간단, Chat Hub 모델 선택기에서 즉시 선택 가능
  • 한계(공식 제한)
    • 파일 지식(file knowledge) 추가 불가
    • Tool 선택이 제한적

워크플로우 기반 Agent (Workflow agent로 Chat Hub에 노출)

  • 목적: 내부 데이터/외부 API/SaaS/DB 등 “실제 업무 자동화”를 대화로 호출
  • 핵심 요구사항(공식)
    • Chat Trigger가 있어야 함
    • 그리고 AI Agent 노드에서 streaming이 활성화된 워크플로우만 Chat Hub에서 workflow agent로 쓸 수 있음
  • 공유/권한: 동료가 쓰려면 워크플로우를 공유하거나 프로젝트에서 최소 Viewer 권한이 필요

Chat Hub에서 “간단 Personal Agent” 만드는 법

생성 절차(공식 흐름)

  1. n8n 상단 내비게이션에서 Chat(Chat Hub) 로 이동
  2. Personal Agents → +New Agent 클릭
  3. 아래 항목 입력: name / description / system prompt / preferred model / tools access
  4. Save → 이후 모델 선택기에서 해당 personal agent를 바로 선택 가능

System Prompt를 “업무용”으로 설계하는 실전 템플릿

Personal Agent는 “라이트”라서, 프롬프트 설계를 잘하면 체감 품질이 확 올라갑니다.

(예시) 보안 로그 요약봇(System Prompt 샘플)
  • 목적: 과도한 추정 금지, 민감정보 마스킹, 조치 포인트 제공
너는 보안 운영 분석가다.
- 사용자가 준 원문/로그 범위 밖으로 추정하지 말 것.
- IP/계정/토큰/쿠키/세션ID/개인정보로 보이는 값은 요약 시 마스킹할 것.
- 출력 형식:
  1) 요약(3줄)
  2) 의심 포인트(근거 로그/필드 중심)
  3) 즉시 조치(차단/격리/추가 수집)
  4) 추가 질문(확인 필요한 정보 3개)

 Personal Agent 운영 시 한계(문서 기준)와 권장 사용처

  • 파일 기반 지식(RAG) 넣고 싶다 → Personal Agent로는 불가
  • 다양한 도구(사내 DB, 티켓 시스템, SIEM 등)까지 붙이고 싶다 → 워크플로우 기반 Agent로 가는 게 정답

“워크플로우 기반 Agent”를 Chat Hub 노출하는 법 — Chat Trigger + AI Agent 조합

공식 문서가 말하는 핵심은 이 한 줄입니다.

“Chat Hub에서 workflow agent로 쓰려면 Chat Trigger가 있고, Agent node에서 streaming이 enabled 여야 한다.”

워크플로우를 Agent로 “보이게” 만드는 절차

  1. 워크플로우 열기
  2. Chat Trigger 열기
  3. Make Available in n8n Chat 옵션 ON → Chat Hub에 보일 Agent name/description 입력
  4. 워크플로우 내 AI Agent 노드에서 streaming 관련 옵션 활성화(문서 요구)
  5. 워크플로우를 Active로 전환
  6. Chat Hub 모델 선택기에서 해당 워크플로우를 선택해 대화 시작

“Chat Trigger 최신 버전” 이슈(중요)

Chat Hub 문서는 최신 버전 Chat Trigger만 동작한다고 명시합니다.
기존 Chat Trigger가 오래된 버전이면 삭제 후 새로 추가해야 최신 버전을 얻을 수 있다고 안내합니다.

Chat Trigger 설정을 제대로 이해해야 “운영 가능한 챗봇/에이전트”가 됩니다

워크플로우 기반 Agent는 결국 Chat Trigger가 관문입니다. (접근 방식/인증/CORS/세션/응답 모드/스트리밍 등)

“메시지 1개 = 워크플로우 실행 1회” (비용/운영 영향)

Chat Trigger 문서: 사용자 메시지마다 워크플로우가 실행되며, 대화에서 10번 메시지를 보내면 10 executions를 소모한다고 명시합니다. 운영 환경에서는 rate limit / 안내 문구 / 짧은 대화 유도 / 캐시 같은 설계가 중요해집니다.

접속 방식(Hosted vs Embedded)과 인증 옵션

Chat Trigger의 “Make Chat Publicly Available” 아래에서

  • Hosted Chat: n8n이 제공하는 호스티드 채팅 UI(대부분 추천)
  • Embedded Chat: 직접 UI를 만들고, Chat Trigger가 제공하는 webhook(Chat URL)로 호출
    • n8n은 @n8n/chat 위젯을 쓰거나 직접 만들 수 있다고 안내
인증(Authentication) 옵션
  • None / Basic Auth / n8n User Auth 제공
    → 사내용이면 최소 n8n User Auth 또는 Basic Auth는 강력 권장입니다.

CORS(Allowed Origin) — Embedded에서 특히 중요

Chat Trigger 옵션에 Allowed Origin(CORS) 가 있으며, 기본은 *로 “모든 오리진 허용”입니다.
→ 운영/보안 관점에서는 * 금지하고 사내 도메인만 허용하는 게 정석입니다.

“Load Previous Session”과 Memory 연결(대화 맥락 유지)

Chat Trigger의 Load Previous Session을 켜면,

  • Chat Trigger와 Agent를 같은 memory sub-node에 연결하라고 n8n이 권장합니다. (단일 소스 of truth)
    → “대화 이력 저장”은 곧 “데이터 보관”이므로, 보안 정책과 함께 설계해야 합니다.

Response Mode와 Streaming response의 관계

Chat Trigger의 Response Mode는 크게

  • When Last Node Finishes
  • Using Response Nodes(Chat 노드/Respond to Webhook 노드로 응답 제어)

여기에서 Streaming response(실시간 스트리밍)는

  • 트리거에서 스트리밍을 켜고
  • 스트리밍을 지원하는 노드(AI Agent 등) 가 실제로 스트림을 내보내야 동작합니다.

n8n의 streaming 문서도,

  • 트리거가 스트리밍을 지원/설정해야 하고
  • 노드도 최소 1개는 스트리밍 출력이 가능해야 하며
  • 그렇지 않으면 데이터가 안 나갈 수 있다고 경고합니다.

Chat Hub 권한/운영 통제(관리자 관점)

Chat user 역할(일반 사용자용)

Chat Hub는 Chat user라는 역할을 제공하며,

  • 워크플로우를 “만들지는 않고 쓰기만 하는” 조직 구성원을 위한 역할
  • 기본적으로 chat 인터페이스만 보이고, credential/workflow 추가는 못한다고 설명합니다.
    또한 이 역할은 특정 플랜(Starter/Pro/Business/Enterprise)에서만 제공된다고 명시합니다.

Provider settings(모델/공급자 통제)

관리자는 Settings > Chat에서

  • 특정 모델/공급자 활성/비활성
  • 사용자 임의 모델 추가 제한
  • 공급자별 default credential 설정
  • 사용자 credential 추가 제한(권한 시스템 연동)
    등을 제어할 수 있다고 안내합니다.

Chat Hub / Workflow Agent 보안 가이드 & 점검 포인트

아래는 “실제 운영”에서 꼭 체크해야 할 포인트를, 문서의 기능과 연결해서 정리한 것입니다.

접근통제(누가 이 챗을 쓰는가)

  • Embedded/Hosted 모두 인증을 걸어라: None은 내부 유출/남용 리스크가 큼
  • Embedded라면 CORS를 *에서 사내 도메인 allowlist로 좁혀라
  • Chat user 역할로 “사용자(실행자)”와 “제작자(관리자)” 분리

데이터 보호(대화 내용/세션/메모리)

  • Load Previous Session + Memory는 “편의”지만 “보관”이기도 함
    • 저장되는 대화가 개인정보/인증정보/고객데이터를 포함하지 않게 프롬프트로 제한
    • 필요 시 보관 기간/마스킹/접근권한을 별도 정책으로 정의

비용/남용 통제(Execution 폭증)

  • 메시지 1개당 실행 1회 소모
    • 챗봇 UI에서 길게 대화 유도하면 비용/부하 폭증
    • “요약해서 한번에 질문”, “1회 요청당 1개 작업” 같은 UX 가이드 권장

프롬프트 인젝션/도구 오남용(Workflow Agent의 본질적 리스크)

Workflow agent는 툴(HTTP/DB/SaaS)을 실제로 실행할 수 있으므로,

  • “사용자 입력을 그대로 툴 파라미터로” 연결하지 않기
  • 민감 API는 중간 검증 노드(If/Code) 를 넣고 allowlist 검증
  • n8n에는 “AI가 툴 파라미터를 채우는” 패턴도 있으므로, 더더욱 입력 검증이 중요

“보안 로그 요약/티켓 생성” Workflow Agent 설계 예

노드 구성(개념)

  1. Chat Trigger
    • Authentication: n8n User Auth 또는 Basic Auth
    • Embedded 사용 시 Allowed Origin 제한
    • Response Mode: Streaming response 사용(스트리밍 목적)
    • Make Available in n8n Chat: ON (Chat Hub 에이전트로 노출)
  2. AI Agent
    • 시스템 프롬프트: “로그 근거 기반, 추정 금지, 마스킹, 조치” 강제
    • 툴: (예) HTTP Request로 SIEM 검색 API 호출, Jira/ServiceNow 티켓 생성 등
    • Streaming 옵션: Chat Hub workflow agent 요구사항에 맞게 활성화
  3. (선택) Memory sub-node
    • Load Previous Session을 쓴다면 Chat Trigger와 Agent를 같은 memory에 연결 권장

임베디드 위젯(@n8n/chat) 최소 예시(참고)

n8n은 Embedded Chat에서 @n8n/chat 위젯 사용을 언급하고, npm에서는 설치 명령을 제공합니다.

npm i @n8n/chat

실제 프런트 코드에서는 Chat Trigger가 보여주는 Chat URL(webhook)을 호출하도록 구성합니다. (Embedded Chat 설명)

어떤 방식부터 쓰면 좋은가

  • “정해진 프롬프트로 반복 작업(요약/정리/표준 답변)”이면
    Chat Hub Personal Agent가 가장 빠르고 안정적
  • “내부 데이터 연동/도구 실행/권한 분리/감사/운영 자동화”가 목표면
    Chat Trigger + AI Agent 워크플로우를 만들고 Make Available in n8n Chat으로 노출하는 방식이 정석
728x90
그리드형(광고전용)

댓글