본문 바로가기
School/AIAS

[AIAS] 자동화 기본 개념과 AI 를 사용한 AI Automation

by 세똔구리 SEDDONGURI 2025. 9. 16.
AIAS (AI Automation School)  의 내용을 정리한 글입니다.
n8n - AI Agents, AI Automations & AI Voice Agents (No-code!) - udemy로 스터디를 진행합니다.

자동화와 워크플로우                     

자동화          

자동화란 반복적인 작업을 소프트웨어를 사용하여 수행하게 함으로써 수동으로 실행하지 않도록 하는 것입니다.

자동화가 중요한 이유는 다음과 같습니다.

  1. 자동적으로 처리되는 시스템으로 시간을 아껴 다른 중요한 일을 처리하는 데 사용할 수 있습니다.
  2. 사람이 수동으로 작업할 때 발생할 수 있는 오류를 줄여줍니다.
  3. 그렇기 때문에 효율적이고 빠르게 일을 처리할 수 있습니다.

전통적인 자동화는 코드를 작성해서 시스템상에서 테스트하고, 유지 보수하는 전략을 취했습니다. 요즘은 n8n과 같은 워크플로우 도구를 사용하면 코드를 작성하지 않아도 유용한 자동화 워크플로우를 만들 수 있습니다.

사용 사례는 다음과 같습니다.

  • AI 챗봇이나 AI 보이스콜을 이용한 고객 지원
  • 이메일 응답
  • 마케팅 리드 생성
  • 스케줄 확인 및 예약 생성
  • 새로운 고객 온보팅 프로세스
  • 결재 관리
  • 소셜 미디어 포스팅 생성
  • 프로젝트 관리

비지니스적인 관점에서 사용 사례만 예시를 들었지만 개인적인 작업이나 일상에 자동화를 사용하여 최적화된 일상을 통해 생산성을 높일 수 있습니다.

추가로 AI Agent를 워크플로우에 추가하여 가상의 직원을 고용하는 것과 같은 효과를 누릴 수 있습니다. 이는 기존 코드로만 작동하는 워크플로우를 더 강력하고 파워풀하게 만드는 것입니다.

 

워크플로우          

사실 자동화는 단순히 시간만 절약해 주는 방식이 아닙니다. 자동화는 개선점을 찾아내는 문제 해결 방식과, 데이터를 기반으로 작업을 처리하는 데이터 기반 의사결정과 관련이 있습니다.

모든 것을 데이터화 하여 표현하고, 저장하고, 반복하는 것은 전체 시스템을 투명하고 가시성 높게 관리할 수 있도록 하며 이는 결과적으로 예측 가능한 작업 상태를 가지게 됩니다. 이를 통해서 일관되고, 정확한 작업 수행 결과를 얻게 될 수 있는 것입니다.

우리는 이를 도와주는 도구로 n8n을 사용할 것입니다. n8n 은 워크플로우를 생성할 수 있도록 도와주는 워크플로우 도구입니다.

워크플로우란 시스템이 처리해야 하는 일련의 작업 흐름입니다. 이 작업 흐름에 어떤 일을, 어떻게, 어느 조건에서, 언제 처리하는지를 정의합니다.

워크플로우는 크게 3가지 파트로 구성됩니다.

  1. 트리거
    • 워크플로우의 시작점입니다.
  2. 액션
    • 수행해야 할 작업입니다.
  3. 컨디션
    • 다음 작업 수행에 대한 논리적 결정입니다.

모든 구성요소는 반드시 설정한 시간에 맞춰 올바른 순서와 방법으로 수행되어야 하며 그것이 워크플로우의 핵심적인 부분입니다.

때로는 조금 더 복잡한 결정이나 인간의 사고의 흐름이 개입되어야 하는 워크플로우가 있을 수 있습니다. 이 경우 AI Agent를 구성하여 워크플로우에 구성한다면 지능적인 방식으로 워크플로우의 구성이 가능합니다.

 

n8n          

n8n 은 워크플로우를 만들 수 있도록 도와주는 도구입니다. n8n 은 다양한 외부 서비스와 통합을 통해 다양한 서비스를 호출할 수 있게 구성할 수 있으며, AI Agent를 구성하여 사용할 수 있는 방법도 제공합니다. 이를 시각적으로 구성할 수 있도록 하여 코드를 모르는 사람도 워크플로우를 만들 수 있도록 도와줍니다.

n8n 은 노드라고 하는 기본적인 빌딩 블록입니다. 각각의 노드는 단 하나의 단일한 작업을 수행합니다. 그리고 이런 단일 작업을 하는 노드를 합쳐서 하나의 워크플로우를 만듭니다. 그래서 노드를 이해하는 것은 n8n을 이해하는 것과 같습니다. (참고)

노드는 크게 5가지로 분류됩니다.

  1. 트리거 노드
    • 워크플로우를 시작하는 용도로 사용되는 노드
  2. 액션 노드
    • 특정한 액션을 처리하는 노드 (이메일 전송, 구글 시트에 열 생성 등)
  3. 데이터 변환 노드
    • 데이터를 변환하고, 필터 하고, 재구성하는 등 데이터를 변경하는 노드
  4. 논리 노드
    • 조건에 따른 분기 처리 등을 처리하는 논리적인 결정 노드
  5. 아웃풋 노드
    • 외부로 결과를 전송하거나 저장하는 데 사용하는 노드

노드를 선택하면 n8n 캔버스 화면에서 3 부분으로 구성된 것을 확인할 수 있습니다.

파라미터 부분은 노드의 행동이나, 상태를 정의하는 데 사용되는 부분입니다.

파라미터 부분에는 API를 호출하는데 필요한 크레덴셜 구성, 호출 옵션이나 액션에 대한 상세 설정 등 n8n 노드의 핵심적인 구성을 편집할 수 있는 부분입니다.

다음은 인풋과 아웃풋 부분으로 지금 선택된 노드에 들어오는 데이터와 처리되고 난 후의 데이터를 확인해 볼 수 있는 부분입니다. 해당 부분에서는 데이터가 어떻게 처리되는지를 확인할 수 있으며, 인풋 데이터를 드래그&드롭으로 파라미터에 적용할 수 있습니다.

노드의 종류는 많기 때문에 필요한 노드를 서비스 명 혹은 액션 (send email )으로 검색해서 사용할 수 있습니다.

노드를 사용할 때 모범사례는 다음과 같습니다.

  • 노드의 이름을 명확하게 작성합니다.
  • 복잡하거나 설명이 필요한 노드에는 주석을 달아줍니다.
  • 노드에 대한 테스트를 반드시 수행하여 줍니다.
  • 구성된 노드를 볼 수 있는 캔버스 화면을 항상 구조적으로 이쁘게 구성합니다.
  • 각 노드가 어떤 데이터를 받고 처리되는지 데이터 플로우를 잘 확인합니다.

 

LLM          

LLM 은 Large language Model의 약자로 인터넷, 책 등의 인간의 자연어로 작성된 수많은 자료를 학습한 AI 모델입니다. 자연어를 통해서 여러 가지 일들을 처리할 수 있습니다. ChatGPT, Gemini, Claude와 같은 도구는 모두 LLM입니다.

LLM 은 사람처럼 생각하지 않습니다. LLM 은 자신이 학습한 내용에 기반하여 다음에 올 가장 높은 확률을 가지는 토큰을 계산하여 연결합니다. LLM 은 질문과 응답의 내용을 이해하고 처리하는 것이 아니라 확률과 통계에 기반한 가능성이 가장 높은 것을 취하는 방식을 사용합니다.

LLM 은 일반적으로 범용으로 사용되기 위해 만들어진 모델입니다. 만약 특정한 사용 상황이나, 내부적인 자료에 기반한 답변을 하기 위해선 파인 튜닝이라는 과정을 거칠 수 있습니다. 커스텀 데이터를 학습시키는 과정을 통해 LLM을 향상하는 방법으로 더욱 구체적인 사용 사례에서 AI를 향상할 수 있는 방법입니다.

LLM 은 챗봇이나, 질문에 응답하는 용도로만 사용되는 것이 아닙니다. n8n과 같은 워크플로우 도구와 결합하면 AI Agent로 사용이 가능하며 이는 특정한 작업을 스스로 질문하고 처리하는 방식을 사용한 워크플로우를 만들 수 있게 됩니다.\


RAG, Vector DB, AI Agent                    

RAG (Retrieval-Augmented Generation)          

LLM 은 이미 훈련된 데이터 기반의 고정된 파라미터를 기반으로 답변을 생성합니다.

하지만 훈련 데이터에는 사용자가 원하는 사내 전용 데이터, 훈련 시점 이후의 최신 데이터셋 등이 포함되어 있지 않습니다.

거기서 RAG라는 아이디어가 등장했습니다.

  • Retrieval (검색): 외부 데이터 소스에서 질문과 관련된 콘텐츠 검색
  • Augmented (보강된): 검색된 문서를 LLM 프롬프트의 콘텍스트에 주입해 콘텍스트를 강화
  • Genration (생성): LLM 이 검색된 문서를 참고하여 답변 생성

결과적으로 훈련된 지식 + 외부 데이터를 합쳐 더 정확하고 최신의 답을 응답하는 방식입니다.

그렇다면 기업 입장에서는 왜 새로운 데이터셋을 훈련시키지 않고 증강하는 방식으로만 사용하는 것일까요?

새로운 데이터셋을 사용 사례에 맞는 도메인에 맞게 학습시키는 일은 전문적인 인력과 많은 리소스가 필요합니다. 기존에 사내에 구축된 LLM 이 있다면 가능하겠지만, 일반적인 기업이나 소규모의 사용자의 입장에서는 모델을 학습시키는 일은 상당히 많은 자원이 필요한 일입니다.

하지만 RAG를 이용하면 비용을 절감하면서 새로운 정보를 포함시키도록 답변을 구성할 수 있어 모델을 학습시킨 것과 비슷한 응답을 받을 수 있게 되며, 최신 데이터를 반영하기 수월하고 직접적으로 관련된 데이터를 검색하고 참조하기 때문에 답변의 정확도를 높일 수 있습니다.

이런 RAG 를 구성하는데 중요하게 사용되는 저장소가 바로 벡터 데이터베이스입니다.

 

Vector DB          

vector database를 정확한 단어를 검색하는 것이 아닌 의미, 관련성, 유사도를 검색할 수 있는 데이터베이스입니다.

문자, 음성, 이미지 등의 다양한 데이터를 임베딩모델을 통해 벡터라는 숫자의 배열로 변환 및 저장하고 특정 쿼리에 대해 가까운 벡터를 빠르게 찾아주는 역할을 합니다.

전통적인 DB는 테이블 구조, 키-값 기반의 구조 등 의미 기반의 검색에는 비효율적으로 작동합니다. 벡터 데이터베이스는 유사하거나 관련성 있는 개념은 근접한 주변에 모였다는 데이터 저장 방식을 바탕으로 데이터를 검색하기 때문에 유사도 혹은 의미로 검색이 가능합니다.

이는 LLM의 지식을 보강하는 RAG 의 메모리를 구성하는데 효과적으로 사용할 수 있습니다. 앞서 살펴본 RAG 에서 필요한 보강 데이터를 저장할 때 벡터 데이터베이스를 사용해 구성한다면 연관성과 확률 기반의 자연어 처리를 수행하는 LLM 의 특성과 잘 어우러져 사용될 수 있습니다.

  1. 사용자의 질문을 임베딩 벡터로 변환
  2. 벡터 DB에서 가장 유사한 문서/데이터를 검색
  3. 검색된 데이터를 LLM에 넣어 답변 생성

이렇게 하면 LLM 은 별도의 학습 없이도 업데이트된 지식, 개인 데이터, 실시간 응답을 활용할 수 있습니다.

벡터 데이터베이스를 사용하는 이점은 크게 세 가지로 정리됩니다.

  1. 콘텍스트에 의미 기반의 필요한 데이터를 검색하여 LLM에 추가 가능합니다.
  2. 단순 키워드 매칭이 아닌 의미 기반의 검색을 통해 자연어 기반의 처리에 적합합니다.
  3. 벡터 DB에 저장된 실제 데이터를 기반으로 검색하여 환각을 줄일 수 있습니다.

 

AI Agent          

AI Agent는 LLM 과 RAG, 벡터 데이터베이스를 기반으로 사용자의 요청을 자율적으로 수행하는 지능형 AI 시스템입니다.

기존 LLM 은 단순히 질문에 답변하는 역할에 그쳤다면, AI Agent 는 특정 목표를 수행하기 위해 필요한 정보를 스스로 검색하고 처리하며 여러 작업을 계획하고 실행할 수 있습니다. 예를 들어, 문서를 검색하고, 필요한 데이터를 벡터 DB에서 찾아 LLM 에 입력한 뒤, 결과를 정리하여 보고서를 작성하는 일련의 과정을 수행할 수 있습니다.

핵심 특징은 다음과 같습니다.

  • 자율적 의사결정: 사용자의 목표에 따라 필요한 단계를 스스로 판단하고 실행합니다.
  • RAG, MCP, API 등 도구의 활용: 벡터 DB 에서 최신 정보나 사내 데이터를 검색, API를 통한 특정 작업 수행 등 LLM 만으로는 할 수 없는 일들을 도구와 함께 수행합니다.
  • 멀티스텝 작업 수행: 단일 질문 이상의 복합적인 작업(예: 데이터 분석, 이메일 작성, 보고서 요약 등)을 순차적으로 처리할 수 있습니다.

결과적으로 AI Agent는 단순한 챗봇이 아니라, 기업 내부 업무, 개인 생산성, 실시간 정보 처리 등 다양한 분야에서 LLM의 한계를 보완하며 실제 업무를 수행할 수 있는 지능형 도우미 역할을 수행합니다.