inflearn logo

[Season 1] Spring AI in Action: Developing a Premium Reservation AI Agent

Spring AI + JPA + MySQL Premium Reservation Agent Backend Development with 'Autonomous Behavior' Beyond Chatbots to Agents: The Definitive Guide to Tool Calling and Prompt Engineering

(4.9) 10 reviews

166 learners

Level Basic

Course period Unlimited

Java
Java
Spring Boot
Spring Boot
backend
backend
AI Agent
AI Agent
Spring AI
Spring AI
Java
Java
Spring Boot
Spring Boot
backend
backend
AI Agent
AI Agent
Spring AI
Spring AI

Reviews from Early Learners

Reviews from Early Learners

4.9

5.0

문석청

30% enrolled

Thank you for the great lecture.

5.0

em241101

30% enrolled

Good. Detailed explanation

5.0

bigho98

100% enrolled

In the past, it was difficult to map each request and response object field name unique to chat models one by one, but I didn't know there was such an easy and amazing Spring AI. Thanks to you, I learned a lot. Thank you for the high-quality lecture.

What you will gain after the course

  • You can create custom tools that AI agents can use by leveraging Spring AI's @Tool.

  • You can learn how to implement the core backend functionality of an AI agent using Java and Spring Boot.

  • You can complete an AI-based inquiry management system backend that integrates with a real database.

  • You can integrate backend and frontend systems to provide services.

[Season 1] Spring AI in Action: Developing a Premium Reservation AI Agent

Don't settle for simple chatbots anymore. 🤔
Create an AI agent that executes real business logic and interacts with databases!

GourmetBot AI Agent Demo

💡 Course Motivation

In the real world, companies want more than just simple conversational AI—they want "agents that integrate with our actual company database and handle business tasks." This course teaches you how to create agents with practical problem-solving capabilities by combining traditional backend technologies (DB, transactions) with cutting-edge AI technologies (LLM, Tool Calling).

In this course, you'll develop a premium reservation AI agent at a production-ready level using Spring AI, JPA, and MySQL. Beyond simply creating a chatbot that answers questions, you'll learn how to build an proactive AI agent that understands customer requests, queries databases to determine availability, confirms actual reservations, retrieves reservation history, and cancels reservations. Additionally, you'll implement a smart agent that remembers previous conversation context by storing conversation history in a database.

🏆 Goal

  1. Effective Agent Design: Implement a robust system with separated brain-memory-tools architecture as shown in the diagram above.

  2. Tool Calling Master: Make AI autonomously decide to call Java methods (business logic) and manipulate databases.

  3. Business Logic Integration: Rather than simple Q&A, we build a complete backend system where Read (R) - Create (C) - Delete (D) are organically connected.

🎩 Concept

"GourmetBot" - AI Concierge for Premium Fine Dining

  • Smart: Remembers customer visit history and suggests personalized tables.

  • Safe: Mandatory allergy information checks and ensures data integrity.

  • Polite: Uses an elegant and formal tone and manner that is not mechanical.


🔑 Core Content

  1. Implementing Spring AI Architecture: Implementing each element of the diagram in code (System Prompt, Repository, Tools).

  2. Advanced Prompt Engineering: Applying Slot Filling (Clarification), Time Awareness (Date Calculation), and Chain of Thought (Step-by-Step Reasoning) techniques.

  3. Data Integrity & Transactions: Implemented Upsert Pattern (automatic user registration) and Soft Delete (reservation cancellation status management).

  4. Tool Strictness: Robust input data validation using Java Records (DTOs) and JSON Schema.

(Season 1) AI Agent Architecture

https://docs.spring.io/spring-ai/reference/api/effective-agents.html (refer to official documentation)

  1. Central Control (Spring AI & LLM): The framework receives user requests and passes them to the LLM (GPT). At this point, the System Prompt we've written is injected, becoming the agent's 'decision-making criteria (brain)'.

  2. Hands and Feet (Tools - Java Code): LLMs cannot access the DB on their own. Instead, based on the judgment results, they call (Tool Calling) the business logic (reservation creation, cancellation, inquiry) that we implemented in Java.

  3. Memory Storage (Memory - MySQL): Permanently stores and retrieves conversation context(Chat Memory) and actual business data(customers, tables, reservation information).

  4. Note: The Retrieval(RAG) section shown in gray is the 'knowledge search' part that will be covered in Season 2, and will not be implemented in Season 1.


(Season 1) Tool Calling

https://docs.spring.io/spring-ai/reference/api/tools.html(Refer to official documentation)

  • Chat Request: The user requests a reservation from the chatbot. For example, they might say "Please make a reservation for 4 people tomorrow at 7 PM."

  • Tool Definition: Spring AI defines Java methods that perform functions such as creating reservations, checking reservations, and canceling reservations as tools that AI models can understand. Each tool includes a name, description, and required input information (e.g., reservation date, time, number of people).

  • Dispatch Tool Call Requests: The AI model analyzes the user's reservation request and determines that it needs to call the bookTable tool to create the reservation. The AI model sends a request to Spring AI to invoke the bookTable tool.

  • Tool Execution: Spring AI receives the request from the AI model and executes the Java method (bookTable) that performs the actual reservation creation function. At this time, it passes along the reservation information provided by the user (tomorrow evening at 7 PM, 4 people).

  • Return Result: When the bookTable method is executed and the reservation information is saved to the database, the result including the reservation success status and reservation number is returned to Spring AI.

  • Chat Response: The AI model provides a final response to the user based on the tool execution results. For example, it might respond with "Your reservation for 4 people tomorrow at 7 PM has been completed. Your reservation number is 12345."

(Season 1) Database ERD
  • customer table: A table that stores customer information. It includes details such as customer ID, name, phone number, visit count, and notes.

  • restaurant_table table: A table that stores restaurant table information. It includes information such as table ID, seating capacity, and table type.

  • reservation table: A table that stores reservation information. It includes information such as reservation ID, reservation time, customer ID, table ID, number of guests, allergy information, reservation status, etc. It has relationships with the customer table and the restaurant_table table.

  • spring_ai_chat_memory table: This table stores conversation content with the chatbot. It includes information such as conversation ID, conversation content, message type, and timestamp. Through this, the chatbot can remember previous conversation content and provide contextually appropriate responses.

Software Architecture

This is the software architecture (blueprint) of an AI chatbot service called 'GourmetBot'.

When a user asks a question on the web/app screen, the backend server receives it and integrates with OpenAI (ChatGPT) to provide an answer, and if necessary, retrieves information from the database.

Course Core Method: LLM+Tool Calling

In this course, we will develop an AI agent using the Method 2: LLM + Tool Calling approach shown in the image above.

  • Agents Beyond Simple Chatbots: The LLM (brain) understands user intent and directly uses tools (body) defined in the application to perform actual tasks.

  • Direct Business Logic Execution: AI calls Java methods (tools) such as creating, querying, and canceling reservations to interact with the database and handle business logic.

  • Leveraging Spring AI's Powerful Features: Easily connect and manage LLM and application tools through the Spring AI framework.
    https://www.youtube.com/watch?v=l38CPjOYsHk&t=2157s (See image for reference)

The characteristics of this course

📌 Hands-on Project-Based Learning: This course minimizes theoretical explanations and focuses on practical exercises where you'll build a fully functional reservation system from start to finish.

📌 Master Spring AI Core Features: Deep dive into @Tool functionality and prompt engineering, which are essential for AI agent development.

📌 Building Backend and Frontend Integration Service: Build a service by integrating the backend system (Spring Boot) with the frontend system (Vite+React).

📌 Building a Robust Backend System: Build a stable backend system that integrates with a real database using JPA and MySQL.

📌 Implementing Reservation Confirmation, Inquiry, and Cancellation Features: Implement the core features needed for an actual reservation system through AI agents.

📌 Implementing Conversation Context Memory: Store conversation content in a database so that AI agents can remember previous conversations and maintain continuity in dialogue.

📌 Designing Scalable Architecture: Learn how to design a flexible architecture that considers future feature expansion, such as RAG (Retrieval-Augmented Generation). (RAG functionality will be covered in Season 2.)

We recommend this for:

Backend Developers: Those who want to integrate Spring AI technology into their services, those who want to create a working AI agent

Spring Framework Users: Those who want to implement new features using Spring AI

Those who prefer practical, hands-on learning: Those who want to learn through actual projects rather than theory

🌏 Applications

This course's architecture can be applied as-is to all domains that require 'reservations' and 'consultations'.

  • 🏥 Hospital Appointment Bot: Returning patient identification, department recommendations.

  • 🏨 Hotel Concierge: Room inquiry, room service ordering.

  • 💇 Beauty/Hair Salon Booking: Designer selection, service time calculation.

  • 🛒 CS Support Bot: Automate delivery tracking, order changes/cancellations.

After taking the course

  • You will gain the ability to develop AI agents using Spring AI.

  • You will gain the ability to integrate backend (Spring Boot) and frontend (React) systems.

  • You will gain the ability to build backend systems using JPA and MySQL.

  • You will gain the ability to implement a real reservation system including reservation confirmation, inquiry, and cancellation features.

  • You will gain the ability to design and implement databases for remembering conversation context.

  • You will experience the basics and practice of prompt engineering.

  • You will experience a project completing an actual reservation system.

Learn frontend implementation!

Node.js, VS Code, React.js, JavaScript, Tailwind CSS, Vite Tool

GourmetBot Main Screen

GourmetBot Reservation, Inquiry, and Cancellation

Let's learn backend implementation!

IntelliJ IDEA, Spring Boot, Spring AI, JPA, MySQL

Remember conversation content

We implement functionality to store and retrieve conversation history in a database, enabling the AI agent to remember previous interactions and provide contextually appropriate responses. This allows us to deliver a more natural and personalized experience to customers.

Implementing Reservation Feature

We will implement a feature that understands customer reservation requests in natural language, checks availability, and creates actual reservations. You'll learn the process where AI converses with customers to collect necessary information and ultimately delivers a reservation confirmation message.

Implementing Reservation Cancellation

When a customer requests a reservation cancellation, we implement functionality for the AI to find and process the cancellation of that reservation. You'll learn how to build a stable system by considering various situations that may arise during reservation cancellations.

Implementing Reservation Inquiry

Implement a feature where AI searches the database for reservation information and provides it to customers so they can check their reservation history. Learn how to enhance convenience by providing customers with accurate reservation information.

[Season 2] Spring AI in Action: Enterprise-Grade Multi-AI Agent System Development Preview

Pre-enrollment Notes

💻 Development 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).

📚 Learning Materials
  • The last 30 lectures of the video course provide (backend and frontend source code).

  • The course materials are provided as PDF files.

  • The source code is provided through Github.

📚 Prerequisites

  • Java: Understanding of basic Java syntax (Java 17+ recommended).

  • Spring Boot: Basic usage of DI/IoC, JPA(Repository), and Controller.

  • Database: Understanding basic SQL (SELECT, JOIN concepts).

✏ Questions & Inquiries

If you encounter any parts that are difficult to understand while studying, please feel free to ask questions right away through the Q&A board or 1:1 open chat
👩‍🎓Spring AI Practice (1:1 Open Chat) : https://open.kakao.com/o/sXXxSI5h

Recommended for
these people

Who is this course right for?

  • A backend developer who wants to create an AI agent applicable to real services using Spring AI's @Tool functionality

  • A developer who needs to build a system that integrates AI functionality to interact with databases in a Java and Spring Boot environment

  • A working developer who is considering how to efficiently connect AI models with existing backend systems

  • Developers who want to create services by integrating backend and frontend systems

Need to know before starting?

  • You need basic knowledge about the Java programming language.

  • It would be good to have a basic understanding of the Spring Boot framework.

  • Having basic knowledge of databases and SQL would be helpful.

Hello
This is bitcocom

8,666

Learners

659

Reviews

670

Answers

4.9

Rating

14

Courses

Hello, I am instructor Park Mae-il.
I run an SW education center and provide consulting and commissioned SW training for universities, government offices, and corporations.


📄 Major teaching experience and many others

- Goorm Specialized High School Major Camp Lectures (Full Stack Course)
- Software Meister High School Industry-Academic Cooperation Teacher
- Gwangju Artificial Intelligence Academy Lectures
- Fast Campus Backend Bootcamp Lectures
- Smart Human Resources Development Center Education Director and Lecturer
- Korea Electric Power Corporation (KEPCO) In-House Coding Entrusted Education
- Hanyang University ERICA Online Lectures
- Bit Software Education Center Operation (Overseas Employment, Government-funded Education)
- SW Recruitment Training Project (Ministry of Science, ICT and Future Planning)
- Vocational Skills Development Training Teacher for AI, IT Development, etc.
* Education Inquiries and Partnerships (KakaoTalk Channel)
* Ongoing Lectures: https://itscoding.kr

🎤 Online Educational Content Provider

Inflearn: Java, DB, MVC, Spring, Spring AI & Agent, IoT
Fast Campus: Java, Spring Boot

email : bitcocom@empas.com

More

Curriculum

All

30 lectures ∙ (7hr 37min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

10 reviews

4.9

10 reviews

  • sangsublee6558님의 프로필 이미지
    sangsublee6558

    Reviews 6

    Average Rating 5.0

    5

    30% enrolled

    • bitcocom
      Instructor

      Thank you. ^^ I hope the lecture is helpful to you. Keep it up until the very end!

  • seukchungmoon8847님의 프로필 이미지
    seukchungmoon8847

    Reviews 38

    Average Rating 5.0

    5

    30% enrolled

    Thank you for the great lecture.

    • bitcocom
      Instructor

      Thank you. ^^ I hope the lecture is helpful to you. Keep it up until the very end!

  • abcd123123님의 프로필 이미지
    abcd123123

    Reviews 330

    Average Rating 5.0

    5

    16% enrolled

    • bitcocom
      Instructor

      Thank you for giving a 5-star rating on your first review. I hope you complete the course until the end and gain great insights. Fighting~~

  • dingadung님의 프로필 이미지
    dingadung

    Reviews 3

    Average Rating 5.0

    5

    30% enrolled

    • bitcocom
      Instructor

      Thank you. I hope the lecture helps you with your studies~~

  • em2411014552님의 프로필 이미지
    em2411014552

    Reviews 6

    Average Rating 5.0

    5

    30% enrolled

    Good. Detailed explanation

    • bitcocom
      Instructor

      Thank you. I hope the lecture is helpful. Keep fighting until the end~~

bitcocom's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$22.00