강의

멘토링

커뮤니티

NEW
AI 기술

/

AI에이전트 개발

[Season 1] Spring AI 실전: 프리미엄 예약 AI 에이전트 개발

Spring AI + JPA + MySQL을 활용한 '자율 행동형' 프리미엄 예약 에이전트 백엔드 개발 챗봇을 넘어 에이전트로: Tool Calling과 프롬프트 엔지니어링의 정석

31명 이 수강하고 있어요.

  • 박매일

이런 걸 배울 수 있어요

  • Spring AI의 @Tool을 활용하여 AI 에이전트가 사용할 수 있는 커스텀 도구를 만들 수 있습니다.

  • Java와 Spring Boot를 사용하여 AI 에이전트의 백엔드 핵심 기능을 구현하는 방법을 익힐 수 있습니다.

  • 실제 데이터베이스와 연동되는 AI 기반의 문의 관리 시스템 백엔드를 완성할 수 있습니다.

[Season 1] Spring AI 실전: 프리미엄 예약 AI 에이전트 개발

더 이상 단순한 챗봇에 만족하지 마세요. 🤔
실제 비즈니스 로직을 수행하고 데이터베이스와 상호작용하는 AI 에이전트를 만들어보세요!

💡 강의 동기 (Motivation)

현업에서는 단순한 대화형 AI를 넘어, "실제 우리 회사의 DB와 연동되어 업무를 처리해 주는 에이전트"를 원합니다. 이 강의는 전통적인 백엔드 기술(DB, 트랜잭션)과 최신 AI 기술(LLM, Tool Calling)을 결합하여 실무적인 문제 해결 능력을 갖춘 에이전트를 만드는 방법을 알려드립니다.

이 강의에서는 Spring AI, JPA, MySQL을 사용하여 실제 서비스 가능한 수준의 프리미엄 예약 AI 에이전트를 개발합니다. 단순히 질문에 답하는 챗봇을 넘어, 고객의 요청을 이해하고 데이터베이스를 조회하여 예약 가능 여부를 판단하고, 실제 예약을 확정하며, 예약 내역을 조회하고, 예약을 취소하는 능동적인 AI 에이전트를 구축하는 방법을 배울 수 있습니다. 또한, 대화 내용을 데이터베이스에 저장하여 이전 대화 맥락을 기억하는 스마트한 에이전트를 구현합니다.

🏆 목표 (Goal)

  1. Effective Agent 설계: 위 아키텍처 다이어그램처럼 뇌-기억-도구가 분리된 견고한 시스템을 구현합니다.

  2. Tool Calling 마스터: AI가 스스로 판단하여 Java 메서드(비즈니스 로직)를 호출하고 DB를 조작하게 만듭니다.

  3. 비즈니스 로직 통합: 단순 질의응답이 아닌, 조회(R) - 생성(C) - 취소(D)가 유기적으로 연결된 완전한 백엔드 시스템을 구축합니다.

🎩 컨셉 (Concept)

"GourmetBot(고메봇)" - 프리미엄 파인 다이닝의 AI 컨시어지

  • Smart: 고객의 방문 이력을 기억하고 맞춤형 테이블을 제안합니다.

  • Safe: 알레르기 정보를 필수적으로 체크하고, 데이터 무결성을 보장합니다.

  • Polite: 기계적이지 않은 우아하고 격식 있는 톤앤매너를 구사합니다.


🔑 핵심 내용 (Core Content)

  1. Spring AI 아키텍처 구현: 다이어그램의 각 요소를 코드로 구현 (System Prompt, Repository, Tools).

  2. 고급 프롬프트 엔지니어링: Slot Filling(되묻기), Time Awareness(날짜 계산), Chain of Thought(단계적 사고) 기법 적용.

  3. 데이터 무결성 & 트랜잭션: Upsert Pattern(자동 회원가입), Soft Delete(예약 취소 상태 관리) 구현.

  4. Tool의 엄격성: Java Record(DTO)와 JSON Schema를 활용한 강력한 입력 데이터 검증.

(Season 1) AI Agent 아키텍처
  1. 중앙 통제 (Spring AI & LLM): 프레임워크가 사용자의 요청을 받아 LLM(GPT)에게 전달합니다. 이때 우리가 작성한 시스템 프롬프트(System Prompt)가 주입되어 에이전트의 '판단 기준(뇌)'이 됩니다.

  2. 손과 발 (Tools - Java Code): LLM은 스스로 DB에 접속할 수 없습니다. 대신 판단 결과에 따라 우리가 Java로 구현한 비즈니스 로직(예약 생성, 취소, 조회)을 호출(Tool Calling)합니다.

  3. 기억 저장소 (Memory - MySQL): 대화의 맥락(Chat Memory)과 실제 비즈니스 데이터(고객, 테이블, 예약 정보)를 영구적으로 저장하고 불러옵니다.

  4. 참고: 회색으로 표시된 Retrieval(RAG) 영역은 Season 2에서 다룰 '지식 검색' 부분으로, Season 1에서는 구현하지 않습니다.


(Season 1) Tool Calling
  • 사용자 요청 (Chat Request): 사용자가 챗봇에게 예약을 요청합니다. 예를 들어, "내일 저녁 7시에 4명 예약해줘"라고 요청할 수 있습니다.

  • 도구 정의 (Tool Definition): Spring AI는 예약 생성, 예약 조회, 예약 취소와 같은 기능을 수행하는 Java 메서드들을 AI 모델이 이해할 수 있는 도구로 정의합니다. 각 도구는 이름, 설명, 필요한 입력 정보(예: 예약 날짜, 시간, 인원수) 등을 포함합니다.

  • 도구 호출 요청 (Dispatch Tool Call Requests): AI 모델은 사용자의 예약 요청을 분석하고, 예약 생성을 위해 bookTable 도구를 호출해야 한다고 판단합니다. AI 모델은 Spring AI에게 bookTable 도구를 호출하라는 요청을 보냅니다.

  • 도구 실행 (Tool Execution): Spring AI는 AI 모델의 요청을 받아 실제 예약 생성 기능을 수행하는 Java 메서드(bookTable)를 실행합니다. 이때 사용자가 제공한 예약 정보(내일 저녁 7시, 4명)를 함께 전달합니다.

  • 결과 반환 (Return Result): bookTable 메서드가 실행되어 데이터베이스에 예약 정보가 저장되면, 예약 성공 여부와 예약 번호 등의 결과를 Spring AI에게 반환합니다.

  • 챗봇 응답 (Chat Response): AI 모델은 도구 실행 결과를 바탕으로 사용자에게 최종적인 응답을 제공합니다. 예를 들어, "내일 저녁 7시에 4명 예약이 완료되었습니다. 예약 번호는 12345입니다."라고 응답할 수 있습니다.

(Season 1) Database ERD
  • customer 테이블: 고객 정보를 저장하는 테이블입니다. 고객 ID, 이름, 전화번호, 방문 횟수, 메모 등의 정보를 포함합니다.

  • restaurant_table 테이블: 식당 테이블 정보를 저장하는 테이블입니다. 테이블 ID, 수용 인원, 테이블 타입 등의 정보를 포함합니다.

  • reservation 테이블: 예약 정보를 저장하는 테이블입니다. 예약 ID, 예약 시간, 고객 ID, 테이블 ID, 인원수, 알레르기 정보, 예약 상태 등의 정보를 포함합니다. customer 테이블과 restaurant_table 테이블과 관계를 맺고 있습니다.

  • spring_ai_chat_memory 테이블: 챗봇과의 대화 내용을 저장하는 테이블입니다. 대화 ID, 대화 내용, 메시지 타입, 타임스탬프 등의 정보를 포함합니다. 이를 통해 챗봇은 이전 대화 내용을 기억하고 문맥에 맞는 답변을 할 수 있습니다.

강의 핵심 방식:LLM+Tool Calling

본 강의에서는 위 이미지의 2번 LLM + Tool Calling 방식을 사용하여 AI 에이전트를 개발합니다.

  • 단순한 챗봇을 넘어선 에이전트: LLM(뇌)이 사용자의 의도를 파악하고, 애플리케이션에 정의된 도구(몸통)를 직접 사용하여 실제 작업을 수행합니다.

  • 비즈니스 로직 직접 수행: AI가 예약 생성, 조회, 취소와 같은 자바 메서드(도구)를 호출하여 데이터베이스와 상호작용하고 비즈니스 로직을 처리합니다.

  • Spring AI의 강력한 기능 활용: Spring AI 프레임워크를 통해 LLM과 애플리케이션의 도구를 손쉽게 연결하고 관리합니다.

이 강의의 특징

📌 실무 중심의 프로젝트 기반 학습: 이론 설명은 최소화하고, 실제 작동하는 예약 시스템을 처음부터 끝까지 구현하는 실습 위주의 강의입니다.

📌 Spring AI 핵심 기능 완벽 마스터: AI 에이전트 개발의 핵심인 @Tool 기능과 프롬프트 엔지니어링을 깊이 있게 다룹니다.

📌 견고한 백엔드 시스템 구축: JPA와 MySQL을 사용하여 실제 데이터베이스와 연동되는 안정적인 백엔드 시스템을 구축합니다.

📌 예약 확정, 조회, 취소 기능 구현: 실제 예약 시스템에 필요한 핵심 기능을 AI 에이전트를 통해 구현합니다.

📌 대화 맥락 기억 기능 구현: 대화 내용을 데이터베이스에 저장하여 AI 에이전트가 이전 대화를 기억하고 연속성 있는 대화를 할 수 있도록 구현합니다.

📌 확장 가능한 아키텍처 설계: RAG(검색 증강 생성) 등 향후 기능 확장을 고려한 유연한 아키텍처를 설계하는 방법을 배웁니다. (RAG 기능은 Season 2에서 다룹니다.

이런 분들께 추천해요

백엔드 개발자: Spring AI 기술을 자신의 서비스에 접목하고 싶은 분, 실제 작동하는 AI 에이전트를 만들어보고 싶은 분

Spring 프레임워크 사용자: Spring AI를 활용하여 새로운 기능을 구현하고 싶은 분

실무 중심의 학습을 선호하는 분: 이론보다는 실제 프로젝트를 통해 배우고 싶은 분

🌏 응용 분야 (Applications)

이 강의의 아키텍처는 '예약'과 '상담'이 필요한 모든 도메인에 그대로 적용 가능합니다.

  • 🏥 병원 진료 예약 봇: 재진 환자 식별, 진료과 추천.

  • 🏨 호텔 컨시어지: 객실 조회, 룸서비스 주문.

  • 💇 뷰티/헤어샵 예약: 디자이너 지정, 시술 시간 계산.

  • 🛒 CS 상담 봇: 배송 조회, 주문 변경/취소 자동화.

수강 후에는

  • Spring AI를 활용한 AI 에이전트 개발 능력을 갖게 됩니다.

  • JPAMySQL을 사용한 백엔드 시스템 구축 능력능력을 갖게 됩니다.

  • 예약 확정, 조회, 취소 기능을 포함한 실제 예약 시스템 구현 능력을 갖게 됩니다.

  • 대화 맥락 기억을 위한 데이터베이스 설계 및 구현 능력을 갖게 됩니다.

  • 프롬프트 엔지니어링 기초 및 실습을 경험하게 됩니다.

  • 실제 예약 시스템을 완성하는 프로젝트 경험하게 됩니다.

이런 내용을 배워요.

대화내용 기억

AI 에이전트가 이전 대화 내용을 기억하여 문맥에 맞는 답변을 할 수 있도록 데이터베이스에 대화 내용을 저장하고 불러오는 기능을 구현합니다. 이를 통해 고객에게 더욱 자연스럽고 개인화된 경험을 제공할 수 있습니다.

예약하기 구현

고객의 예약 요청을 자연어로 이해하고, 예약 가능 여부를 확인한 후 실제 예약을 생성하는 기능을 구현합니다. AI가 고객과 대화하며 필요한 정보를 수집하고, 최종적으로 예약 확정 메시지를 전달하는 과정을 배웁니다.

예약취소 구현

고객이 예약 취소를 요청했을 때, AI가 해당 예약을 찾아 취소 처리하는 기능을 구현합니다. 예약 취소 시 발생할 수 있는 다양한 상황을 고려하여 안정적인 시스템을 구축하는 방법을 배웁니다.

예약조회 구현

고객이 자신의 예약 내역을 조회할 수 있도록 AI가 데이터베이스에서 예약 정보를 검색하여 알려주는 기능을 구현합니다. 고객에게 정확한 예약 정보를 제공하여 편의성을 높이는 방법을 배웁니다.

수강 전 참고 사항

💻 개발 환경 (Environment)
  • IDE: IntelliJ IDEA Community Edition.

  • Language: Java 17 or 21.

  • Framework: Spring Boot 3.5.8 (Latest Stable).

  • Library: Spring AI 1.0.3 (or 1.1.0 Snapshot).

  • Database: MySQL 8.x.

  • AI Model: OpenAI (gpt-4o-mini or gpt-5-mini).

📚 학습 자료
  • 동영상 강의 맨 뒤 22강에 제공됩니다.

  • 강의자료는 PDF 파일로 제공이 됩니다.

  • 소스코드는 Github를 통해서 제공합니다.

📚 선수 학습 (Prerequisites)

  • Java: 기본적인 자바 문법 이해 (Java 17+ 권장).

  • Spring Boot: DI/IoC, JPA(Repository), Controller 기본 사용법.

  • Database: 기본적인 SQL 이해 (SELECT, JOIN 개념).

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Spring AI의 @Tool 기능을 사용하여 실제 서비스에 적용 가능한 AI 에이전트를 만들고 싶은 백엔드 개발자

  • Java와 Spring Boot 환경에서 AI 기능을 통합하여 데이터베이스와 상호작용하는 시스템을 구축해야 하는 개발자

  • AI 모델과 기존 백엔드 시스템을 효율적으로 연결하는 방법을 고민하고 있는 실무 개발자

선수 지식,
필요할까요?

  • Java 프로그래밍 언어에 대한 기초 지식이 필요합니다.

  • Spring Boot 프레임워크에 대한 기본적인 이해가 있으면 좋습니다.

  • 데이터베이스 및 SQL에 대한 기초 지식이 있으면 도움이 됩니다.

안녕하세요
입니다.

8,047

수강생

628

수강평

665

답변

4.9

강의 평점

11

강의

안녕하세요 박매일 강사입니다.
SW교육센터를 운영중이며 대학, 관공서, 기업체에 컨설팅 및 SW위탁교육을 진행하고 있습니다.


📄 주요 강의경력외 다수

- 구름 특성화고 전공캠프 강의(Full Stack 과정)
- 소프트웨어마이스터고등학교 산학협력교사
- 광주인공지능사관학교 강의
- 패스트캠퍼스 백엔드 부트캠프 강의
- 스마트인재개발원 교육부장 및 강의
- 한국전력공사 In-House 코딩 위탁 교육
- 한양대학교 ERICA 온라인 강의
- 비트소프트웨어교육센터운영(해외취업,국비교육)
- SW채용연수사업(미래창조과학부)

🎤 온라인 교육콘텐츠 제공

인프런 : Java,DB,MVC,Spring,Spring AI,IoT
패스트캠퍼스 : Java, Spring Boot

email : bitcocom@empas.com

커리큘럼

전체

22개 ∙ (5시간 12분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

얼리버드 할인 중

₩19,250

30%

₩27,500

박매일님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!