1장. 에이전트 요구사항과 아키텍처 설계
이 과정에서 만드는 것 — 하루마켓 고객지원 에이전트
한 줄 요약
이 과정은 온라인 쇼핑몰 하루마켓의 고객지원 창구를 멀티에이전트 시스템으로 완성하는 프로젝트입니다. 1장에서는 코드를 한 줄도 쓰지 않습니다. 대신 "에이전트가 무엇인지", "멀티에이전트가 무엇인지", "우리가 무엇을 왜 만드는지"를 먼저 분명히 해 둡니다.
AI가 코드를 작성해 주는 시대에, 우리 사람은 그 코드가 어떻게 동작하는지 이해하고 결과가 올바른지 확인할 수 있어야 합니다. 이 과정에서는 3장부터 각 장의 「따라하기」에 전체 코드를 제공합니다. 프로젝트 폴더에 파일을 만들고 코드를 복사해 붙여 넣은 뒤, 실행 결과를 살펴보세요. 에이전트가 어떤 판단을 내리고 도구를 어떻게 사용하는지, 의도한 대로 동작하는지 확인하는 것이 이 수업의 핵심입니다.
1. 누구를 위한 과정인가
프로그래밍 언어 하나를 써 본 적이 있는 분이면 충분합니다. 전공 여부, LLM 경험, 머신러닝 지식은 묻지 않습니다. 다만 이런 분에게 특히 잘 맞습니다.
- ChatGPT 같은 서비스는 매일 쓰는데, 그 안이 어떻게 생겼는지는 들여다본 적이 없다.
- AI로 무언가를 만들어 보긴 했는데, 왜 그렇게 동작하는지 설명하기가 어렵다.
- "에이전트", "RAG", "멀티에이전트"라는 말을 들으면 대충은 아는데 정확히는 모르겠다.
이 과정이 끝나면 그 세 단어를 직접 돌려 본 코드와 결과로 설명할 수 있게 됩니다.
2. 완성된 모습 미리 보기
과정이 끝났을 때 고객이 보게 될 화면입니다.

머리글 아래의 띠는 지금 누구로 상담하고 있는지를 보여 줍니다. 이 과정에서는 회원가입과 로그인을 만들지 않고, 고객 한 명(C003, VIP 등급) 이 로그인해 있다고 정해 두고 시작합니다.
고객이 "단순 변심으로 반품하면 배송비 내야 해요?"라고 묻습니다. 자기 등급은 말하지 않았습니다. 그러면 시스템 안에서 이런 일이 벌어집니다.
- 주문조회 에이전트가 이 고객의 정보를 조회해 등급이 VIP임을 확인합니다.
- 정책안내 에이전트가 멤버십 정책 문서에서 VIP 등급의 반품 배송비 조항을 찾습니다.
- 둘의 결과를 모아, 근거 조항과 함께 답합니다.
이어서 고객이 "지난주에 산 운동화가 불량이에요. 검정 270으로 교환 접수해 주세요."라고 합니다. 이번에는 묻는 것이 아니라 처리해 달라는 요청입니다.
- 주문조회 에이전트가 어느 주문인지 찾습니다.
- 정책안내 에이전트가 불량 상품의 교환 규정을 찾습니다.
- 요청처리 에이전트가 그 자리에서 교환을 접수하고, 처리번호
A00001을 돌려줍니다.
이 화면에서 눈여겨볼 것이 두 가지입니다.
첫째, 점선 상자입니다. "주문조회 에이전트가 주문 정보를 확인했어요", "정책안내 에이전트가 규정을 찾았어요", "요청처리 에이전트가 요청을 처리했어요". 하나의 문의를 여러 전문 에이전트가 나눠 처리하고 있다는 사실이 화면에 한 줄씩 쌓여 그대로 드러납니다. 이것이 멀티에이전트 구조입니다.
둘째, 마지막 답변입니다. 시스템은 "마이페이지에서 교환 신청 메뉴를 누르세요"라고 안내하지 않습니다. 주문을 확인하고, 규정을 찾고, 교환을 접수한 뒤 처리번호를 알려 줍니다. 방법을 알려 주는 것과 일을 처리해 주는 것의 차이입니다. 우리가 만들 시스템의 기준은 "확인해 드렸고, 처리해 드렸습니다"입니다.
3. 프로젝트의 무대 — 하루마켓
하루마켓은 패션·생활·주방·식품·디지털 상품 30여 종을 파는 쇼핑몰입니다. 여러분은 이 회사의 개발팀이 되어 고객지원 시스템을 만듭니다. 수업용으로 만든 데이터지만 구조는 실제 쇼핑몰 데이터와 같습니다.
| 파일 | 내용 | 규모 |
|---|---|---|
data/products.csv |
상품 카탈로그 (상품명, 옵션, 가격, 재고, 평점, 설명) | 30종 |
data/customers.csv |
고객 정보 (이름, 연락처, 멤버십 등급, 적립금) | 20명 |
data/orders.csv |
주문 내역 (주문번호, 상품, 배송 상태, 송장번호, 배송지) | 80건 |
data/inquiries.csv |
상담 문의 로그 (일시, 채널, 유형, 내용, 처리 결과) | 40건 |
data/하루마켓_반품교환환불정책.pdf |
반품·교환·환불 운영 정책 문서 | 3쪽 |
data/하루마켓_멤버십정책.pdf |
하루클럽 멤버십 운영 정책 문서 | 2쪽 |
이 파일들은 수업에서 나눠 드리는 압축 파일(haru-market.zip) 안에 들어 있습니다. 압축을 풀고 프로젝트 폴더로 세팅하는 일은 2장에서 합니다.
4. 왜 하필 고객지원인가
고객지원은 지금 생성형 AI가 가장 빠르게 실제 업무에 들어가고 있는 영역입니다. 이유는 단순합니다. 상담 업무의 상당 부분이 "정해진 질문에 정확한 데이터로 답하는 일" 이기 때문입니다.
- "내 주문 어디까지 왔어요?" → 답은 주문 데이터에 있습니다.
- "반품 배송비 얼마예요?" → 답은 정책 문서에 있습니다.
그리고 실제 제품들은 이미 FAQ 챗봇 수준을 넘었습니다. Microsoft의 고객서비스 제품군에는 의도를 파악하는 에이전트, 사내 지식을 검색하는 에이전트, 상담 케이스를 만드는 에이전트가 따로 있고, 이들이 협업합니다. Zendesk, Intercom, Salesforce, 국내의 채널톡도 같은 방향으로 가고 있습니다.
우리가 만드는 시스템은 이런 상용 제품의 축소판이고, 구조는 같습니다. 제품을 쓰는 입장이 아니라 만드는 입장에서 안쪽을 이해하는 것이 이 과정의 목적입니다.
한 가지는 미리 분명히 해 둡니다. 고객지원 AI의 목표는 상담원을 없애는 것이 아닙니다. 상담원이 반복 문의에서 벗어나 어려운 문의에 집중하게 하는 것입니다. 그래서 우리 시스템은 처리할 수 있는 일은 직접 처리하되, 처리할 수 없는 일은 정확하게 사람에게 넘기고, 되돌릴 수 없는 일은 사람의 승인을 받습니다.
핵심 정리
- 이 과정은 하루마켓 고객지원 창구를 멀티에이전트 시스템으로 완성하는 하나의 프로젝트입니다.
- 선수 지식은 프로그래밍 언어 하나입니다.
- 3장부터는 파일을 만들고 → 코드를 복사해 붙여 넣고 → 실행해서 관찰하는 방식으로 진행합니다.
- 완성된 시스템은 방법을 안내하는 데서 멈추지 않고 확인하고 처리합니다. 교환을 그 자리에서 접수하고 처리번호를 알려 줍니다.