19. n8n 입문: 노코드로 만드는 에이전트

🎯 이 장의 목표
  • n8n이 무엇이고 코드 기반 프레임워크와 어떻게 다른지 이해한다
  • 노드·트리거·연결의 개념과 AI Agent 노드의 구조를 안다
  • "언제 워크플로, 언제 에이전트"의 판단 기준을 잡는다
  • 첫 요약 워크플로의 구성 요소를 파악한다

비유로 시작하기: 레고 블록으로 짓는 자동화

지금까지는 파이썬으로 에이전트를 "코딩"했습니다. n8n은 다릅니다. 화면에서 블록(노드)을 끌어다 선으로 연결하면 워크플로가 됩니다. 레고 블록을 조립하듯, 코드를 거의 쓰지 않고도 "메일이 오면 → 요약하고 → 슬랙에 알린다" 같은 자동화를 만듭니다.

n8n은 원래 Zapier 같은 자동화 도구였지만, 2026년 현재 AI 워크플로 레이어로 진화했습니다. 에이전트 노드, 도구, 메모리, 구조화 출력, 재시도, 자격증명, 실행 이력을 한 캔버스에서 다룹니다. 비개발자도 쓸 수 있고, 감사 추적(audit trail)과 트리거 연동이 강해 내부 업무 자동화에 특히 강합니다. 감사 추적은 "누가 언제 무엇을 실행했는지" 기록을 남겨 나중에 따라가 볼 수 있게 하는 것으로, 문제가 생겼을 때 원인을 추적하고 책임 소재를 가리는 데 쓰입니다.

📌 핵심
최신 정보 (2026): n8n의 AI Agent 노드는 내부적으로 LangChain 프리미티브(도구·메모리·출력 파서)를 감싸며, ReAct/함수 호출 루프를 돕니다. 지원 모델은 OpenAI·Anthropic·Mistral·Google Vertex·Ollama(로컬) 등입니다. (Mistral은 유럽의 LLM 제공사, Google Vertex는 구글 클라우드의 AI 플랫폼, Ollama는 내 컴퓨터에서 직접 오픈소스 모델을 돌리는 도구입니다.) 휴먼 승인(human review), MCP 클라이언트/서버 노드도 정식 기능입니다. n8n은 fair-code 라이선스이며, 클라우드(유료)와 자체 호스팅(커뮤니티 에디션 무료)을 제공합니다. fair-code는 소스 코드가 공개되어 자유롭게 쓰고 고칠 수 있되, 만든 회사가 상업적 재판매 같은 일부 용도를 제한하는 소프트웨어 모델을 가리킵니다(완전한 오픈소스와는 구분됨).

코드 프레임워크 vs n8n

관점코드 프레임워크(LangGraph 등)n8n
만드는 방식파이썬 코딩노드 드래그앤드롭
대상개발자개발자 + 비개발자
강점정밀 제어·복잡한 로직빠른 구축·외부 앱 연동·운영
약점글루 코드 직접 작성매우 복잡한 로직은 한계
적합독립 에이전트·정교한 흐름업무 자동화 속 에이전트 한 조각

📌 핵심: n8n의 진짜 가치는 "AI가 모든 걸 한다"가 아니라, 지루한 자동화(입력 파싱·분기·저장·재시도·알림)는 워크플로가 하고, 판단이 필요한 한 조각만 AI에게 맡기는 데 있습니다. n8n은 "두뇌 전체"가 아니라 "실행기(runner)"입니다.

핵심 개념: 노드·트리거·연결

n8n 워크플로는 세 가지로 구성됩니다. 노드(Node)는 하나의 작업 단위입니다(트리거, AI 호출, 앱 연동, 분기 등). 트리거(Trigger)는 워크플로를 시작시키는 노드입니다(수동 실행, 채팅 메시지, 웹훅, 일정 등). 여기서 웹훅(webhook)은 "특정 사건이 일어나면 미리 정한 주소로 자동으로 알림 요청을 보내는" 방식으로, 외부 서비스의 이벤트(결제 완료 등)를 받아 워크플로를 즉시 작동시킬 때 쓰입니다. 연결(Connection)은 노드를 잇는 선으로, 데이터가 이 선을 따라 흐릅니다.

flowchart LR
    classDef trigger fill:#FFE082,stroke:#F9A825,color:#000
    classDef node fill:#80DEEA,stroke:#00838F,color:#000
    classDef out fill:#A5D6A7,stroke:#2E7D32,color:#000

    T[트리거<br/>채팅·웹훅·일정]:::trigger --> A[AI Agent 노드<br/>판단·도구 호출]:::node
    A --> O[출력 노드<br/>슬랙·시트·메일]:::out

AI Agent 노드의 구조

AI Agent 노드가 n8n에서 에이전트의 "두뇌"입니다. 단순 LLM 노드(입력→출력 한 번)와 달리, 도구 목록을 받아 어떤 도구를 어떤 순서로 쓸지 스스로 결정하고 작업이 끝날 때까지 루프를 돕니다. 1부의 에이전트 루프가 노드 하나로 캡슐화된 셈입니다.

AI Agent 노드에는 서브 노드를 연결합니다. Chat Model(어떤 LLM을 쓸지), Memory(대화 맥락 유지), Tool(검색·HTTP·앱 연동 등), 그리고 선택적으로 Output Parser(구조화 출력)입니다.

flowchart TB
    classDef agent fill:#80DEEA,stroke:#00838F,color:#000
    classDef sub fill:#90CAF9,stroke:#1565C0,color:#000

    AG[AI Agent 노드]:::agent
    CM[Chat Model<br/>OpenAI·Claude·Ollama]:::sub
    ME[Memory<br/>대화 맥락]:::sub
    TL[Tools<br/>검색·HTTP·앱]:::sub
    OP[Output Parser<br/>구조화 출력]:::sub

    CM --> AG
    ME --> AG
    TL --> AG
    OP --> AG

📌 핵심: 2~6부에서 코드로 만든 요소들(모델·메모리·도구·구조화 출력)이 n8n에서는 연결하는 서브 노드가 됩니다. 개념은 같고, 표현이 시각적일 뿐입니다.

언제 워크플로, 언제 에이전트

n8n에서 가장 중요한 판단입니다. AI Agent 노드를 떨궜다고 자동으로 "에이전트"가 되는 게 아닙니다. 트리거 달린 LLM 호출일 뿐일 수 있습니다.

flowchart TD
    classDef q fill:#FFE082,stroke:#F9A825,color:#000
    classDef wf fill:#A5D6A7,stroke:#2E7D32,color:#000
    classDef ag fill:#80DEEA,stroke:#00838F,color:#000

    Q{규칙을 10분 안에<br/>명확히 쓸 수 있나?}:::q
    Q -->|예| W[일반 워크플로<br/>if/분기로 충분]:::wf
    Q -->|아니오, 50개 if로도<br/>못 잡는 판단| A[AI Agent 노드<br/>퍼지한 판단 한 조각]:::ag

판단 기준은 명확합니다. 규칙을 쉽게 쓸 수 있으면 일반 워크플로로, 규칙으로 못 잡는 "퍼지한 판단"이 필요할 때만 에이전트를 씁니다. 예를 들어 "Stripe 웹훅이 오면 영수증 발송"은 LLM이 필요 없는 워크플로입니다. 반면 "고객 메일의 어조를 보고 화난 고객을 우선 처리"는 키워드 매칭으로 놓치기 쉬워 에이전트가 어울립니다.

⚠️ 흔한 실수: 모든 단계에 AI를 욱여넣는 것. 토큰 비용만 늘고 안정성은 떨어집니다. AI Agent 노드는 하나의 판단만 맡기고, 그 앞뒤는 지루하고 믿을 수 있는 일반 워크플로로 두세요.

첫 워크플로: 요약 에이전트 (구성)

강의의 첫 요약 워크플로를 구성 요소로 보면 이렇습니다. 트리거(수동 또는 채팅)로 텍스트를 받고, AI Agent 노드(Chat Model 연결)가 요약하고, 출력 노드가 결과를 전달합니다.

구성 순서는 이렇습니다. 새 워크플로를 만들고, 트리거 노드(테스트용 Manual Trigger)를 추가하고, AI Agent 노드를 붙여 Chat Model(OpenAI 등)을 연결하고, System Message에 "너는 요약 비서다. 핵심을 3문장으로 요약하라"를 넣습니다. 실행하면 노드의 출력 패널에서 각 단계(도구 호출·중간 결과·최종 답)를 볼 수 있습니다.

💡 팁: AI Agent 노드가 10단계 넘게 돌면 기본 step 한도에 걸려 에러가 납니다. 복잡한 작업은 Max Iterations를 15~20으로 올리고, 단순 작업은 낮춰 비용을 아끼세요. 12장 LangGraph의 recursion_limit과 같은 안전장치입니다.

💡 실습 아이디어(강의의 번역 워크플로 대응): System Message만 "너는 번역가다. 입력을 한국어로 번역하라"로 바꾸면 번역 에이전트가 됩니다. Chat Model을 Claude로 바꿔 품질을 비교해 보세요. 노드 구조는 그대로입니다.

이 장에서 배운 것

  • n8n은 노드를 드래그앤드롭으로 연결해 만드는 노코드 자동화 도구이며, 2026년엔 AI 워크플로 레이어로 진화했다.
  • 워크플로는 노드·트리거·연결로 구성되고, AI Agent 노드가 에이전트의 두뇌 역할을 한다.
  • 모델·메모리·도구·출력 파서는 AI Agent 노드에 연결하는 서브 노드다. 코드 프레임워크의 요소와 개념이 같다.
  • 규칙으로 못 잡는 "퍼지한 판단"에만 에이전트를 쓴다. n8n은 두뇌 전체가 아니라 실행기다.

✍️ 확인 문제

  1. "AI Agent 노드를 워크플로에 떨어뜨리면 곧 에이전트가 된다"는 말이 부정확한 이유는?
  2. "결제 웹훅이 오면 영수증 발송"과 "고객 메일 어조를 보고 우선순위 분류" 중 AI Agent가 어울리는 쪽과 그 이유는?
  3. AI Agent 노드가 끝없이 도는 것을 막는 설정은 무엇이며, 코드 프레임워크의 어떤 개념과 같은가?
이전 부: 18. MCP 서버를 에이전트에 연결하기
다음 장: 20. 실전 n8n: 메모리·도구·앱 연동·프로덕션