AI Agent 노드 — 자율적으로 판단하는 워크플로우

AI Agent 노드 — 자율적으로 판단하는 워크플로우

Basic LLM Chain은 "시킨 것만 한다." AI Agent는 스스로 판단하여 도구를 선택하고 실행한다. 이것이 자동화의 진정한 미래다.

LLM Chain vs AI Agent

특성 Basic LLM Chain AI Agent
동작 방식 프롬프트 → 응답 (1회) 추론 → 도구 사용 → 추론 (반복)
도구 사용 ✅ (검색, 계산, API 호출...)
메모리 ✅ (대화 이력 기억)
자율성 낮음 높음
비용 낮음 높음 (여러 번 추론)
적합한 작업 요약, 번역, 분류 복잡한 질의응답, 조사, 분석

AI Agent의 동작 과정

사용자 질문: "서울의 오늘 날씨와 그에 맞는 옷차림을 추천해줘"

Agent 추론 1: "날씨 정보가 필요하다 → 날씨 API 도구 사용"
  → [Tool: Weather API 호출] → "서울, 15°C, 흐림"

Agent 추론 2: "15°C, 흐림에 맞는 옷차림을 추천해야 한다"
  → 최종 답변 생성

응답: "오늘 서울은 15°C, 흐린 날씨입니다. 얇은 재킷이나 가디건에
      긴팔 셔츠를 추천합니다. 우산도 챙기세요!"

AI Agent 노드 아키텍처

                   ┌──────────────┐
                   │  Chat Model  │ (GPT-4o, Claude 등)
                   └──────┬───────┘
                          │
┌─────────┐        ┌──────┴───────┐        ┌──────────┐
│  Chat   │──────▶ │   AI Agent   │◀──────▶│  Memory  │
│ Trigger │        │    Node      │        │  Buffer  │
└─────────┘        └──┬───┬───┬──┘        └──────────┘
                      │   │   │
                ┌─────┘   │   └─────┐
                ▼         ▼         ▼
           ┌────────┐ ┌────────┐ ┌────────┐
           │ Tool 1 │ │ Tool 2 │ │ Tool 3 │
           │(계산기)│ │(검색)  │ │(DB조회)│
           └────────┘ └────────┘ └────────┘

3가지 연결이 필요하다: 1. Chat Model: AI의 두뇌 (필수) 2. Tools: AI가 사용할 수 있는 도구들 (선택, 보통 1개 이상) 3. Memory: 대화 이력 저장 (선택)


Agent 설정하기

Step 1: AI Agent 노드 추가

  1. Tab → "AI Agent" 검색 → 추가
  2. Agent Type 선택:
Agent Type 설명
Conversational Agent 대화형. 자연스러운 멀티턴 대화
ReAct Agent 추론-행동 반복. 복잡한 작업에 적합
OpenAI Functions Agent OpenAI Function Calling 활용
Plan and Execute Agent 계획 수립 → 순차 실행

Step 2: Chat Model 연결

AI Agent 노드의 Chat Model 입력에 모델 노드 연결:

[OpenAI Chat Model]
  Model: gpt-4o
  Temperature: 0.3

Step 3: System Message 설정

System Message:
  당신은 유능한 비즈니스 분석 어시스턴트입니다.
  사용자의 질문에 답하기 위해 주어진 도구를 적극 활용하세요.
  답변은 한국어로, 간결하고 정확하게 제공하세요.
  수치 데이터는 반드시 도구를 통해 확인한 후 답변하세요.

Tool 연결하기

도구(Tool)는 AI Agent가 자율적으로 선택하여 사용하는 기능이다.

내장 Tool 종류

Tool 설명
Calculator 수학 계산
Code Tool JavaScript/Python 코드 실행
HTTP Request Tool 외부 API 호출
Vector Store Tool 벡터 DB 검색 (RAG)
Workflow Tool 다른 n8n 워크플로우 호출
Wikipedia 위키피디아 검색
WolframAlpha 과학/수학 계산
SerpAPI 웹 검색

HTTP Request Tool 설정

AI가 외부 API를 호출할 수 있게 하는 도구:

Name: weather_api
Description: 도시의 현재 날씨 정보를 조회합니다. 도시명을 영어로 입력하세요.
Method: GET
URL: https://api.openweathermap.org/data/2.5/weather?q={city}&appid=KEY&units=metric&lang=kr

Workflow Tool 설정

다른 n8n 워크플로우를 도구로 사용:

Name: customer_lookup
Description: 고객 ID로 고객 정보를 조회합니다. 고객 ID를 입력하세요.
Workflow: "고객 조회 워크플로우" (별도 워크플로우)

Memory 연결하기

Memory를 연결하면 AI Agent가 대화 이력을 기억한다.

Window Buffer Memory

가장 간단한 메모리. 최근 N개의 대화를 기억한다.

[Window Buffer Memory]
  Context Window Length: 10  (최근 10개 대화)

PostgreSQL Chat Memory

대화 이력을 DB에 영구 저장. 세션 간 기억 유지.

[Postgres Chat Memory]
  Session ID: {{ $json.sessionId }}
  Table Name: chat_history

실전: 사내 질의응답 에이전트

[Chat Trigger]
  → [AI Agent]
      ├── Chat Model: GPT-4o
      ├── Tools:
      │     ├── [HTTP Request: HR API (휴가, 급여 조회)]
      │     ├── [HTTP Request: IT API (시스템 상태)]
      │     └── [Workflow Tool: 회의실 예약]
      └── Memory: PostgreSQL Chat Memory

System Message

당신은 회사의 AI 어시스턴트 "헬피"입니다.

역할:
- 사내 시스템 정보 조회 (휴가, 급여, IT 시스템)
- 회의실 예약 대행
- 사내 규정 안내

규칙:
1. 개인 급여 정보는 본인 확인 후에만 제공
2. 확인되지 않은 정보는 "확인 후 안내드리겠습니다"로 응답
3. 도구로 확인할 수 있는 정보는 반드시 도구를 사용하여 최신 데이터 제공

대화 예시

사용자: 내 남은 연차가 몇 일이야?
Agent: [HR API 호출: 사원번호로 조회]
Agent: 홍길동님의 남은 연차는 8일입니다. (전체 15일 중 7일 사용)

사용자: 내일 오후 2시에 4명이 회의할 건데 회의실 예약해줘
Agent: [회의실 예약 워크플로우 호출: 내일 14:00, 4명]
Agent: 내일(4/30) 오후 2시, 4인용 회의실 B가 예약되었습니다. 
       장소: 3층 B회의실, 예약번호: MTG-2026-0430-01

Agent 디버깅

AI Agent는 여러 단계를 거치므로 디버깅이 중요하다.

실행 로그 확인

AI Agent 노드의 출력에서 전체 추론 과정을 확인할 수 있다:

Step 1: Thinking "날씨 정보가 필요하다"
Step 2: Tool Call: weather_api(city="Seoul")
Step 3: Tool Result: {"temp": 15, "description": "흐림"}
Step 4: Thinking "15도 흐림에 맞는 옷차림을 추천"
Step 5: Final Answer: "..."

흔한 문제

문제 원인 해결
도구를 사용하지 않음 Tool Description이 불명확 더 구체적인 설명 작성
잘못된 도구 선택 도구 간 역할이 겹침 각 도구의 용도를 명확히 구분
무한 루프 Agent가 같은 도구를 반복 호출 Max Iterations 설정 (기본 10)
느린 응답 여러 도구를 순차 호출 필요한 도구만 연결

📝 정리

  • [x] AI Agent: LLM이 도구를 자율적으로 선택·실행하는 지능형 노드
  • [x] 3대 구성요소: Chat Model(두뇌) + Tools(도구) + Memory(기억)
  • [x] Agent Type: Conversational(대화), ReAct(추론-행동), Plan-Execute(계획)
  • [x] Tools: HTTP Request, Code, Workflow, Vector Store 등 다양한 도구 연결
  • [x] Memory: Window Buffer(단기), PostgreSQL(영구) 대화 이력 저장

다음 편 예고

23편: Vector Store & RAG — AI에 회사 지식을 가르치자

LLM은 학습 데이터 이후의 정보를 모른다. RAG로 내 문서를 벡터화하여 AI가 검색·참조하게 하자.