AI 상담·업무 자동화 서비스 기술 스택 안내

# AI 상담·업무 자동화 서비스 기술 스택 안내

Canonical URL: https://duolabs.co.kr/docs/ai-%EC%83%81%EB%8B%B4%EC%97%85%EB%AC%B4-%EC%9E%90%EB%8F%99%ED%99%94-%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B8%B0%EC%88%A0-%EC%8A%A4%ED%83%9D-%EC%95%88%EB%82%B4
Author: Duolabs (https://duolabs.co.kr)
License: Creative Commons Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/)
Last modified: 2026-07-31T21:58:03.304Z
Tags: ai-automation, chatbot, docs, public-doc, workflow-automation

# AI 상담·업무 자동화 서비스 기술 스택 안내

## 문서 개요

AI 상담·업무 자동화는 질문에 답하는 채팅 화면만 만드는 작업이 아닙니다. 사용자의 의도를 파악하고, 허용된 지식과 업무 시스템을 조회하며, 필요한 작업을 실행하고, 예외 상황에서는 담당자에게 연결하는 전체 흐름을 구축하는 서비스입니다.

```text
사용자 질문
↓
의도 파악 · 정보 확인
↓
사내 지식 검색 또는 업무 시스템 조회
↓
답변 · 문의 접수 · 예약 · 알림 · 담당자 연결
```

서비스 이름에 “챗봇”만 사용하면 화면 기능으로 범위가 좁아질 수 있습니다. 이 문서에서는 고객 응대와 반복 업무 실행을 함께 포괄하는 **AI 상담·업무 자동화**로 정의합니다.

## 서비스 유형

### AI 고객응대 자동화

- 홈페이지와 앱의 반복 문의 응답
- 상품, 서비스, 이용 방법 안내
- 문의 내용 분류와 상담 요약
- 상담 신청과 문의 접수
- 답변이 어려운 문의의 담당자 연결

### AI 내부업무 자동화

- 사내 문서와 업무 지식 검색
- 메일, 보고서, 회의 내용의 요약과 초안 작성
- 고객, 주문, 예약 등 허용된 데이터 조회
- 반복 작업의 실행 요청과 결과 알림
- 승인이나 검토가 필요한 업무의 담당자 전달

### 혼합형 자동화

고객과 대화하면서 필요한 정보를 수집한 뒤 내부 시스템에 업무를 등록하는 형태입니다. 예를 들어 상담 접수, 방문 예약, 견적 요청, 주문 상태 확인 같은 흐름이 여기에 해당합니다.

## 전체 기술 구조

```text
웹 · 모바일 앱 · 메신저
↓
상담 API 계층
↓
AI 오케스트레이션 계층
├─ AI 모델 호출
├─ 지식 검색
├─ 업무 도구 실행
└─ 안전 정책 · 승인
↓
데이터베이스 · CRM · 예약 · 주문 · 알림 시스템
```

AI 오케스트레이션 계층은 대화 기록을 정리하고, 어떤 지식을 찾을지, 어떤 업무 기능을 호출할지 결정하는 서버 측 코드입니다. 실제 데이터 권한과 최종 검증은 AI 모델이 아니라 각 API와 업무 시스템이 담당합니다.

## 권장 기본 스택

| 영역 | 권장 구성 | 역할 |
|---|---|---|
| 웹 채팅 UI | Next.js, React | 채팅 화면, 스트리밍 응답, 파일과 폼 입력 |
| 실행 환경 | Vercel Functions | 상담 API와 AI 오케스트레이션 코드 실행 |
| AI 연동 | Vercel AI SDK 또는 공급자 SDK | 스트리밍, 구조화 응답, 도구 호출 연결 |
| AI 모델 | 요구사항에 맞는 외부 모델 API | 질의 이해, 답변 생성, 분류와 요약 |
| 데이터·인증 | Supabase Postgres, Auth | 사용자, 대화, 권한, 업무 상태 저장 |
| 문서 저장 | Supabase Storage | 공개 또는 권한이 있는 지식 파일 관리 |
| 지식 검색 | Postgres 전문 검색, pgvector | 키워드·의미 기반 문서 검색 |
| 요청 제한·임시 상태 | Upstash Redis | 요청 제한, 짧은 세션, 캐시 |
| 비동기 작업 | Upstash QStash | 긴 후처리 전달, 예약 호출, 실패 재시도 |
| 이메일 알림 | Resend | 상담 접수와 처리 결과 메일 발송 |
| 관측 | Vercel Logs, Sentry 등 | 오류, 응답 시간, 실패 흐름 확인 |

모든 서비스를 처음부터 사용해야 하는 것은 아닙니다. 기본 상담은 Vercel과 Supabase, AI 모델 API만으로 시작할 수 있습니다. 요청량 제어가 필요할 때 Redis를, 즉시 끝낼 필요가 없는 작업과 재시도가 필요할 때 QStash를 추가합니다.

## 지식 검색과 RAG

RAG는 사용자의 질문과 관련된 문서를 먼저 찾고, 검색된 내용을 AI 모델에 근거로 제공해 답변을 생성하는 방식입니다.

```text
문서 등록
↓
문서 분할 · 검색용 데이터 생성
↓
Postgres/pgvector 저장

사용자 질문
↓
관련 문서 검색
↓
검색 결과를 근거로 답변 생성
```

FAQ처럼 표현이 일정한 정보는 키워드 검색만으로도 충분할 수 있습니다. 자연어 질문이 다양하거나 문서량이 많아지면 의미 기반 벡터 검색을 추가하고, 정확한 명칭과 번호가 중요한 경우에는 키워드 검색과 결합합니다.

지식 검색을 도입할 때는 다음 원칙을 적용합니다.

- 사용자가 열람할 수 있는 문서만 검색합니다.
- 가능하면 답변에 근거 문서나 출처를 함께 표시합니다.
- 문서가 변경되면 검색 데이터도 갱신합니다.
- 검색 결과가 부족하면 추측하지 않고 확인이 필요하다고 안내합니다.
- 개인정보와 기밀 문서는 목적과 권한을 검토한 뒤 연결합니다.

## 업무 실행과 도구 호출

AI가 업무를 실행할 때는 모델에 데이터베이스 권한을 직접 주지 않습니다. 서버가 허용한 기능만 작은 도구 API로 제공하고, 각 도구가 인증·입력 검증·권한 검사를 수행하게 합니다.

```text
AI: “상담 접수가 필요함” 판단
↓
등록 도구 호출
↓
서버: 사용자 권한과 입력값 검증
↓
업무 시스템에 접수
↓
접수 번호를 사용자에게 안내
```

업무 도구의 예시는 다음과 같습니다.

- 상담 문의 등록
- 예약 가능 시간 조회와 예약 요청
- 주문 또는 배송 상태 조회
- 담당 부서 알림
- 후속 이메일 발송
- CRM 활동 기록

결제, 환불, 계약, 개인정보 변경처럼 영향이 큰 작업은 AI의 판단만으로 확정하지 않습니다. 사용자 재확인 또는 담당자 승인을 거친 뒤 실행합니다.

## Redis와 QStash의 역할

두 서비스는 목적이 다릅니다.

| 구분 | Upstash Redis | Upstash QStash |
|---|---|---|
| 핵심 역할 | 빠르게 읽고 쓰는 임시 상태 저장 | 작업을 다른 API에 전달하고 재시도 |
| 적용 예 | 요청 제한, 캐시, 짧은 대화 상태 | 문서 처리, 알림 발송, 상담 요약 후처리 |
| 필요한 시점 | 반복 조회나 요청량 제어가 필요할 때 | 즉시 응답과 후속 작업을 분리해야 할 때 |

예를 들어 상담 접수 API는 접수 결과를 먼저 반환하고, 대화 요약과 담당자 알림은 QStash를 통해 별도로 처리할 수 있습니다. 같은 작업이 재전달될 수 있으므로 후처리 코드는 여러 번 호출되어도 결과가 중복되지 않도록 설계합니다.

## 대화 채널 연결

기본 채널은 웹 채팅으로 시작하는 것이 가장 단순합니다. 이후 실제 이용 환경에 따라 모바일 앱, 사내 메신저, 고객 상담 채널을 연결할 수 있습니다.

채널이 늘어나더라도 AI와 업무 로직을 채널 코드에서 분리하면 핵심 기능을 재사용할 수 있습니다.

```text
웹 채팅 ─┐
모바일 앱 ├─ 공통 상담 API ─ AI · 지식 · 업무 도구
메신저 ──┘
```

외부 메신저 연결은 각 플랫폼의 계정, API 제공 범위, 심사 정책, 메시지 형식과 비용 정책을 별도로 확인해야 합니다.

## 운영 안전장치

- 시스템 지침과 사용자 입력, 검색 문서를 서로 다른 신뢰 수준으로 취급합니다.
- 사용자가 문서 안의 지시문으로 권한을 우회하지 못하도록 도구 호출을 제한합니다.
- 모델이 생성한 인수도 일반 사용자 입력과 동일하게 검증합니다.
- 사용자와 조직별로 데이터 접근 범위를 분리합니다.
- 민감 정보와 인증 정보는 대화 기록과 로그에 남기지 않습니다.
- 요청 횟수, 입력 길이, 도구 실행 횟수와 사용량에 제한을 둡니다.
- 중요한 업무에는 사용자 확인, 담당자 승인, 실행 기록을 남깁니다.
- 실패한 비동기 작업을 확인하고 재처리할 수 있는 상태를 저장합니다.
- 실제 상담 사례를 익명화한 평가 항목으로 답변 품질을 지속적으로 확인합니다.

## 단계별 도입 방향

### 1단계: 안내형

FAQ와 공개 문서를 검색해 답변하고, 해결되지 않은 문의는 담당자에게 전달합니다. 업무 시스템을 직접 변경하지 않아 가장 단순하게 시작할 수 있습니다.

### 2단계: 접수형

대화를 통해 필요한 정보를 모으고 상담, 예약, 견적 요청을 구조화된 데이터로 등록합니다. 입력 검증과 중복 방지, 처리 상태 관리가 필요합니다.

### 3단계: 실행형

권한이 있는 사용자의 요청을 확인한 뒤 CRM, 주문, 예약, 알림 시스템의 실제 기능을 호출합니다. 승인 절차, 감사 기록, 실패 복구가 핵심입니다.

기술적으로 많은 기능을 연결할 수 있더라도 처음부터 모든 업무를 자동화하지 않습니다. 빈도가 높고 규칙이 명확하며 실패했을 때 복구 가능한 업무부터 단계적으로 확장합니다.

## 별도로 정의해야 하는 범위

AI 상담·업무 자동화는 기존 시스템과 연결되는 서비스이므로 다음 항목은 프로젝트마다 별도로 확인합니다.

- 연결할 문서와 데이터의 소유권 및 접근 권한
- CRM, ERP, 예약, 주문 등 기존 시스템 API 제공 여부
- 외부 메신저와 업무 도구의 계정 및 연동 정책
- 개인정보 보관 기간과 대화 기록 정책
- 사람에게 전환되는 기준과 운영 담당자
- 허용할 업무와 반드시 승인이 필요한 업무
- 응답 품질 평가 기준과 운영 모니터링 방법

## 참고 문서

- [Vercel AI SDK](https://ai-sdk.dev/docs/introduction)
- [Vercel AI Gateway SDK와 API](https://vercel.com/docs/ai-gateway/sdks-and-apis)
- [Supabase AI & Vectors](https://supabase.com/docs/guides/ai)
- [Upstash QStash Retry](https://upstash.com/docs/qstash/features/retry)
- [Upstash Redis Rate Limit](https://upstash.com/docs/redis/sdks/ratelimit-ts/overview)
- [Resend Email API](https://resend.com/docs/api-reference/emails/send-email)

구체적인 AI 모델과 연동 서비스는 데이터 성격, 응답 품질, 처리 속도, 예상 사용량, 운영 정책을 검토한 뒤 선택합니다. 모델 버전이나 특정 공급자에 핵심 업무 규칙을 묶지 않고, 권한과 검증은 서버 측에서 일관되게 관리하는 것이 중요합니다.