강의

멘토링

커뮤니티

AI Technology

/

AI Agent Development

[Season 1] Spring AI Thực Chiến: Phát Triển AI Agent Đặt Chỗ Premium

Spring AI + JPA + MySQL을 활용한 'tự chủ hành động' Premium Reservation Agent Backend Development Vượt qua chatbot để trở thành agent: Tinh hoa của Tool Calling và Prompt Engineering

(4.9) 7 đánh giá

148 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • bitcocom
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

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.9

5.0

em241101

30% đã tham gia

Tốt. Giải thích chi tiết

5.0

bigho98

100% đã tham gia

Trước đây tôi đã rất vất vả khi phải ánh xạ từng trường của đối tượng request, response riêng biệt cho mỗi chat model, nhưng hóa ra đã có Spring AI đơn giản và tuyệt vời như thế này. Nhờ đó tôi đã học được rất nhiều. Cảm ơn vì khóa học chất lượng cao.

5.0

kate

100% đã tham gia

Đây chính là khóa học làm Agent mà tôi cần ngay lúc này. Cảm ơn bạn.

Bạn sẽ nhận được điều này sau khi học.

  • Bạn có thể tạo các công cụ tùy chỉnh mà AI agent có thể sử dụng bằng cách sử dụng @Tool của Spring AI.

  • Bạn có thể học cách triển khai các chức năng cốt lõi của backend cho AI agent bằng cách sử dụng Java và Spring Boot.

  • Có thể hoàn thành backend của hệ thống quản lý câu hỏi dựa trên AI được tích hợp với cơ sở dữ liệu thực tế.

  • Bạn có thể kết nối hệ thống backend và frontend để cung cấp dịch vụ.

[Season 1] Spring AI Thực Chiến: Phát Triển AI Agent Đặt Chỗ Premium

Đừng chỉ hài lòng với chatbot đơn giản nữa. 🤔
Hãy tạo ra một AI agent thực hiện logic nghiệp vụ thực tế và tương tác với cơ sở dữ liệu!

Demo GourmetBot AI Agent

💡 Động lực làm khóa học (Motivation)

Trong thực tế, các doanh nghiệp không chỉ mong muốn một AI đối thoại đơn giản, mà họ muốn "một agent có thể kết nối với cơ sở dữ liệu của công ty và xử lý công việc thực tế". Khóa học này sẽ hướng dẫn bạn cách tạo ra một agent có khả năng giải quyết vấn đề thực tế bằng cách kết hợp công nghệ backend truyền thống (DB, Transaction) với công nghệ AI hiện đại (LLM, Tool Calling).

Trong khóa học này, chúng ta sẽ phát triển một AI Agent đặt chỗ cao cấp ở mức độ có thể triển khai thực tế bằng cách sử dụng Spring AI, JPA, và MySQL. Vượt xa một chatbot đơn thuần chỉ trả lời câu hỏi, bạn sẽ học cách xây dựng một AI Agent chủ động có khả năng hiểu yêu cầu của khách hàng, truy vấn cơ sở dữ liệu để xác định tình trạng có thể đặt chỗ, xác nhận đặt chỗ thực tế, tra cứu lịch sử đặt chỗ, và hủy đặt chỗ. Ngoài ra, chúng ta sẽ triển khai một agent thông minh lưu trữ nội dung hội thoại vào cơ sở dữ liệu để ghi nhớ ngữ cảnh các cuộc trò chuyện trước đó.

🏆 Mục tiêu (Goal)

  1. Thiết kế Agent hiệu quả: Triển khai một hệ thống vững chắc với sự phân tách rõ ràng giữa bộ não-bộ nhớ-công cụ như trong sơ đồ kiến trúc ở trên.

  2. Làm chủ Tool Calling: Giúp AI tự động đánh giá và gọi các phương thức Java (business logic) cũng như thao tác với cơ sở dữ liệu.

  3. Tích hợp logic nghiệp vụ: Xây dựng một hệ thống backend hoàn chỉnh với Truy vấn(R) - Tạo mới(C) - Hủy bỏ(D) được kết nối hữu cơ, không chỉ là hỏi đáp đơn giản.

🎩 Khái niệm (Concept)

"GourmetBot" - AI Concierge cho Ẩm thực Cao cấp

  • Smart: Ghi nhớ lịch sử ghé thăm của khách hàng và đề xuất bàn phù hợp.

  • Safe: Kiểm tra thông tin dị ứng một cách bắt buộc và đảm bảo tính toàn vẹn của dữ liệu.

  • Polite: Sử dụng giọng điệu trang nhã và lịch sự, không máy móc.


🔑 Nội dung cốt lõi (Core Content)

  1. Triển khai kiến trúc Spring AI: Hiện thực hóa từng thành phần trong sơ đồ bằng code (System Prompt, Repository, Tools).

  2. Kỹ thuật Prompt Engineering nâng cao: Áp dụng các kỹ thuật Slot Filling (hỏi lại), Time Awareness (tính toán ngày tháng), Chain of Thought (tư duy từng bước).

  3. Tính toàn vẹn dữ liệu & Giao dịch: Triển khai Upsert Pattern(đăng ký thành viên tự động), Soft Delete(quản lý trạng thái hủy đặt chỗ).

  4. Tính nghiêm ngặt của Tool: Xác thực dữ liệu đầu vào mạnh mẽ bằng cách sử dụng Java Record(DTO) và JSON Schema.

(Season 1) Kiến trúc AI Agent

https://docs.spring.io/spring-ai/reference/api/effective-agents.html (tham khảo tài liệu chính thức)

  1. Kiểm soát trung tâm (Spring AI & LLM): Framework nhận yêu cầu từ người dùng và chuyển đến LLM(GPT). Lúc này System Prompt mà chúng ta đã viết được inject vào và trở thành 'tiêu chí đánh giá (bộ não)' của agent.

  2. Tay và chân (Tools - Java Code): LLM không thể tự kết nối với DB. Thay vào đó, dựa trên kết quả phán đoán, nó sẽ gọi (Tool Calling) logic nghiệp vụ được chúng ta triển khai bằng Java (tạo đặt chỗ, hủy, tra cứu).

  3. Kho lưu trữ bộ nhớ (Memory - MySQL): Lưu trữ và tải lại vĩnh viễn ngữ cảnh cuộc trò chuyện(Chat Memory) và dữ liệu kinh doanh thực tế(thông tin khách hàng, bàn, đặt chỗ).

  4. Lưu ý: Phần Retrieval(RAG) được hiển thị màu xám là phần 'Tìm kiếm tri thức' sẽ được đề cập trong Season 2, không được triển khai trong Season 1.


(Season 1) Tool Calling

https://docs.spring.io/spring-ai/reference/api/tools.html(tham khảo tài liệu chính thức)

  • Yêu cầu của người dùng (Chat Request): Người dùng yêu cầu chatbot đặt chỗ. Ví dụ, họ có thể yêu cầu "Đặt chỗ cho 4 người vào 7 giờ tối mai nhé".

  • Định nghĩa công cụ (Tool Definition): Spring AI định nghĩa các phương thức Java thực hiện các chức năng như tạo đặt chỗ, tra cứu đặt chỗ, hủy đặt chỗ thành các công cụ mà mô hình AI có thể hiểu được. Mỗi công cụ bao gồm tên, mô tả, thông tin đầu vào cần thiết (ví dụ: ngày đặt chỗ, thời gian, số lượng người) và các thông tin khác.

  • Gửi yêu cầu gọi công cụ (Dispatch Tool Call Requests): Mô hình AI phân tích yêu cầu đặt bàn của người dùng và xác định rằng cần gọi công cụ bookTable để tạo đặt bàn. Mô hình AI gửi yêu cầu đến Spring AI để gọi công cụ bookTable.

  • Thực thi công cụ (Tool Execution): Spring AI nhận yêu cầu từ mô hình AI và thực thi phương thức Java (bookTable) để thực hiện chức năng tạo đặt bàn thực tế. Lúc này, thông tin đặt bàn mà người dùng cung cấp (7 giờ tối ngày mai, 4 người) sẽ được truyền cùng.

  • Trả về kết quả (Return Result): Khi phương thức bookTable được thực thi và thông tin đặt chỗ được lưu vào cơ sở dữ liệu, kết quả như trạng thái đặt chỗ thành công và số đặt chỗ sẽ được trả về cho Spring AI.

  • Phản hồi chatbot (Chat Response): Mô hình AI cung cấp phản hồi cuối cùng cho người dùng dựa trên kết quả thực thi công cụ. Ví dụ, có thể phản hồi "Đã hoàn tất đặt chỗ cho 4 người vào lúc 7 giờ tối ngày mai. Mã đặt chỗ là 12345."

(Mùa 1) ERD Cơ sở dữ liệu
  • Bảng customer: Đây là bảng lưu trữ thông tin khách hàng. Bao gồm các thông tin như ID khách hàng, tên, số điện thoại, số lần ghé thăm, ghi chú, v.v.

  • Bảng restaurant_table: Bảng lưu trữ thông tin về các bàn trong nhà hàng. Bao gồm các thông tin như ID bàn, số lượng khách có thể chứa, loại bàn, v.v.

  • Bảng reservation: Bảng lưu trữ thông tin đặt chỗ. Bao gồm các thông tin như ID đặt chỗ, thời gian đặt, ID khách hàng, ID bàn, số lượng người, thông tin dị ứng, trạng thái đặt chỗ, v.v. Có mối quan hệ với bảng customer và bảng restaurant_table.

  • Bảng spring_ai_chat_memory: Đây là bảng lưu trữ nội dung hội thoại với chatbot. Bảng này bao gồm các thông tin như ID hội thoại, nội dung hội thoại, loại tin nhắn, timestamp, v.v. Nhờ đó, chatbot có thể ghi nhớ nội dung hội thoại trước đó và đưa ra câu trả lời phù hợp với ngữ cảnh.

Kiến trúc Phần mềm

Đây là kiến trúc phần mềm (bản thiết kế) của dịch vụ chatbot AI có tên 'GourmetBot (Bot Sành Ăn)'.

Khi người dùng đặt câu hỏi trên giao diện web/app, máy chủ backend sẽ nhận câu hỏi đó và kết nối với OpenAI(ChatGPT) để đưa ra câu trả lời, đồng thời tìm kiếm thông tin từ cơ sở dữ liệu nếu cần thiết.

Phương pháp cốt lõi của khóa học: LLM+Tool Calling

Trong khóa học này, chúng ta sẽ phát triển AI agent bằng cách sử dụng phương pháp số 2 LLM + Tool Calling trong hình ảnh trên.

  • Agent vượt xa chatbot đơn thuần: LLM (bộ não) nắm bắt ý định của người dùng và trực tiếp sử dụng các công cụ (thân thể) được định nghĩa trong ứng dụng để thực hiện các tác vụ thực tế.

  • Thực hiện trực tiếp logic nghiệp vụ: AI gọi các phương thức Java (công cụ) như tạo đặt chỗ, tra cứu, hủy để tương tác với cơ sở dữ liệu và xử lý logic nghiệp vụ.

  • Tận dụng tính năng mạnh mẽ của Spring AI: Thông qua framework Spring AI, bạn có thể dễ dàng kết nối và quản lý các công cụ của LLM với ứng dụng.
    https://www.youtube.com/watch?v=l38CPjOYsHk&t=2157s (tham khảo hình ảnh)

Đặc điểm của khóa học này

📌 Học tập dựa trên dự án thực tế: Giảm thiểu lý thuyết, tập trung vào thực hành xây dựng hệ thống đặt chỗ hoạt động thực tế từ đầu đến cuối.

📌 Làm chủ hoàn hảo các tính năng cốt lõi của Spring AI: Đi sâu vào tính năng @Tool - trọng tâm của phát triển AI agent và kỹ thuật prompt engineering.

📌 Xây dựng dịch vụ tích hợp Backend và Frontend: Tích hợp hệ thống backend (Spring Boot) với hệ thống frontend (Vite+React) để xây dựng dịch vụ.

📌 Xây dựng hệ thống backend vững chắc: Xây dựng hệ thống backend ổn định kết nối với cơ sở dữ liệu thực tế bằng cách sử dụng JPA và MySQL.

📌 Triển khai chức năng xác nhận, tra cứu và hủy đặt chỗ: Triển khai các chức năng cốt lõi cần thiết cho hệ thống đặt chỗ thực tế thông qua AI agent.

📌 Triển khai tính năng ghi nhớ ngữ cảnh hội thoại: Lưu trữ nội dung hội thoại vào cơ sở dữ liệu để AI agent có thể ghi nhớ các cuộc trò chuyện trước đó và thực hiện hội thoại có tính liên tục.

📌 Thiết kế kiến trúc có khả năng mở rộng: Học cách thiết kế kiến trúc linh hoạt có xét đến việc mở rộng các tính năng trong tương lai như RAG (Retrieval-Augmented Generation - Tạo sinh tăng cường bằng truy xuất). (Tính năng RAG sẽ được đề cập trong Season 2.)

Chúng tôi khuyến nghị cho những người như thế này

Lập trình viên Backend: Những người muốn áp dụng công nghệ Spring AI vào dịch vụ của mình, những người muốn tạo ra AI agent thực sự hoạt động

Người dùng Spring Framework: Những ai muốn triển khai các tính năng mới bằng cách sử dụng Spring AI

Những người ưu tiên học tập hướng đến thực tiễn: Những người muốn học thông qua các dự án thực tế hơn là lý thuyết

🌏 Lĩnh vực ứng dụng (Applications)

Kiến trúc của khóa học này có thể áp dụng trực tiếp cho tất cả các lĩnh vực cần 'đặt chỗ' và 'tư vấn'.

  • 🏥 Bot đặt lịch khám bệnh: Nhận diện bệnh nhân tái khám, đề xuất khoa khám bệnh.

  • 🏨 Lễ tân khách sạn: Tra cứu phòng, đặt dịch vụ phòng.

  • 💇 Đặt lịch tiệm làm tóc/làm đẹp: Chỉ định nhà tạo mẫu, tính toán thời gian thực hiện dịch vụ.

  • 🛒 Bot tư vấn CS: Tự động hóa tra cứu vận chuyển, thay đổi/hủy đơn hàng.

Sau khi hoàn thành khóa học

  • Bạn sẽ có được khả năng phát triển AI agent sử dụng Spring AI.

  • Khả năng tích hợp hệ thống Backend (Spring Boot) và Frontend (React).

  • Bạn sẽ có khả năng xây dựng hệ thống backend sử dụng JPAMySQL.

  • Xác nhận đặt chỗ, tra cứu và hủy - bạn sẽ có khả năng triển khai hệ thống đặt chỗ thực tế bao gồm các chức năng này.

  • Khả năng thiết kế và triển khai cơ sở dữ liệu để ghi nhớ ngữ cảnh hội thoại.

  • Kỹ thuật prompt cơ bản và thực hành sẽ được trải nghiệm.

  • Bạn sẽ trải nghiệm dự án hoàn thiện hệ thống đặt chỗ thực tế.

Học cách triển khai Frontend!

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

Màn hình chính GourmetBot

Đặt chỗ, tra cứu và hủy GourmetBot

Học cách triển khai Backend!

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

Ghi nhớ nội dung cuộc trò chuyện

AI Agent có thể ghi nhớ nội dung cuộc trò chuyện trước đó để đưa ra câu trả lời phù hợp với ngữ cảnh bằng cách triển khai chức năng lưu trữ và tải nội dung cuộc trò chuyện trong cơ sở dữ liệu. Thông qua điều này, có thể mang đến trải nghiệm tự nhiên và cá nhân hóa hơn cho khách hàng.

Triển khai chức năng đặt chỗ

Triển khai chức năng hiểu yêu cầu đặt chỗ của khách hàng bằng ngôn ngữ tự nhiên, kiểm tra tình trạng có thể đặt chỗ và tạo đặt chỗ thực tế. Học quy trình AI trò chuyện với khách hàng để thu thập thông tin cần thiết và cuối cùng gửi tin nhắn xác nhận đặt chỗ.

Triển khai hủy đặt chỗ

Khi khách hàng yêu cầu hủy đặt chỗ, chúng ta sẽ triển khai chức năng để AI tìm kiếm và xử lý hủy đặt chỗ đó. Bạn sẽ học cách xây dựng một hệ thống ổn định bằng cách xem xét các tình huống khác nhau có thể xảy ra khi hủy đặt chỗ.

Triển khai tra cứu đặt chỗ

Khách hàng có thể tra cứu lịch sử đặt chỗ của mình thông qua tính năng AI tìm kiếm thông tin đặt chỗ từ cơ sở dữ liệu và thông báo cho họ. Bạn sẽ học cách nâng cao sự tiện lợi bằng cách cung cấp thông tin đặt chỗ chính xác cho khách hàng.

[Season 2] Spring AI Thực Chiến: Dự Báo Phát Triển Hệ Thống Multi AI Agent Cấp Doanh Nghiệp

Lưu ý trước khi học

💻 Môi trường phát triển (Environment)
  • IDE: IntelliJ IDEA Community Edition.

  • Ngôn ngữ: Java 17 hoặc 21.

  • Framework: Spring Boot 3.5.8 (Phiên bản ổn định mới nhất).

  • Thư viện: Spring AI 1.0.3 (hoặc 1.1.0 Snapshot).

  • Cơ sở dữ liệu: MySQL 8.x.

  • Mô hình AI: OpenAI (gpt-4o-mini hoặc gpt-5-mini).

📚 Tài liệu học tập
  • Mã nguồn (backend, frontend) được cung cấp ở bài 30 cuối cùng của khóa học video.

  • Tài liệu giảng dạy được cung cấp dưới dạng tệp PDF.

  • Mã nguồn được cung cấp thông qua Github.

📚 Kiến thức tiên quyết (Prerequisites)

  • Java: Hiểu biết cơ bản về cú pháp Java (khuyến nghị Java 17+).

  • Spring Boot: Cách sử dụng cơ bản DI/IoC, JPA(Repository), Controller.

  • Database: Hiểu biết cơ bản về SQL (khái niệm SELECT, JOIN).

✏ Câu hỏi & Liên hệ

Nếu trong quá trình học có phần nào bạn không hiểu, hãy sử dụng 게시판 Q&A hoặc phòng chat mở 1:1 để hỏi ngay nhé
👩‍🎓Spring AI Thực chiến (Chat mở 1:1) : https://open.kakao.com/o/sXXxSI5h

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Nhà phát triển backend muốn tạo AI agent có thể áp dụng vào dịch vụ thực tế bằng cách sử dụng tính năng @Tool của Spring AI

  • Nhà phát triển cần xây dựng hệ thống tích hợp chức năng AI để tương tác với cơ sở dữ liệu trong môi trường Java và Spring Boot

  • Nhà phát triển thực tế đang suy nghĩ về cách kết nối hiệu quả mô hình AI với hệ thống backend hiện có

  • Nhà phát triển muốn tạo ra dịch vụ bằng cách tích hợp hệ thống backend và frontend

Cần biết trước khi bắt đầu?

  • Tôi cần kiến thức cơ bản về ngôn ngữ lập trình Java.

  • Sẽ tốt hơn nếu bạn có hiểu biết cơ bản về framework Spring Boot.

  • Có kiến thức cơ bản về cơ sở dữ liệu và SQL sẽ rất hữu ích.

Xin chào
Đây là

8,546

Học viên

650

Đánh giá

670

Trả lời

4.9

Xếp hạng

14

Các khóa học

Xin chào, tôi là giảng viên Park Mae-il.
Tôi hiện đang điều hành một trung tâm đào tạo phần mềm, đồng thời thực hiện tư vấn và đào tạo ủy thác phần mềm cho các trường đại học, cơ quan nhà nước và doanh nghiệp.


📄 Kinh nghiệm giảng dạy chính và các kinh nghiệm khác

- Giảng dạy Trại chuyên ngành trường cấp 3 đặc thù Goorm (Khóa học Full Stack)
- Giáo viên hợp tác công nghiệp - học đường Trường Trung học Phần mềm Meister
- Giảng dạy tại Học viện Trí tuệ Nhân tạo Gwangju
- Giảng dạy Bootcamp Backend tại Fast Campus
- Trưởng bộ phận đào tạo và giảng viên tại Viện Phát triển Nhân tài Thông minh
- Đào tạo ủy thác lập trình In-House cho Tổng công ty Điện lực Hàn Quốc (KEPCO)
- Giảng dạy trực tuyến tại Đại học Hanyang ERICA
- Điều hành Trung tâm Đào tạo Phần mềm Bit (Việc làm nước ngoài, Đào tạo do chính phủ tài trợ)
- Dự án đào tạo tuyển dụng SW (Bộ Khoa học, CNTT và Hoạch định tương lai)
- Giáo viên đào tạo phát triển năng lực nghề nghiệp trong lĩnh vực Trí tuệ nhân tạo, Phát triển công nghệ thông tin, v.v.
* Liên hệ đào tạo và hợp tác (Kênh KakaoTalk)

🎤 Cung cấp nội dung đào tạo trực tuyến

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

email : bitcocom@empas.com

Chương trình giảng dạy

Tất cả

30 bài giảng ∙ (7giờ 37phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

7 đánh giá

4.9

7 đánh giá

  • abcd123123님의 프로필 이미지
    abcd123123

    Đánh giá 327

    Đánh giá trung bình 5.0

    5

    16% đã tham gia

    • bitcocom
      Giảng viên

      Cảm ơn bạn đã cho 5 điểm trong đánh giá đầu tiên. Hy vọng bạn sẽ hoàn thành khóa học đến cùng và thu được những insight tốt. Cố lên nhé~~

  • em2411014552님의 프로필 이미지
    em2411014552

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Tốt. Giải thích chi tiết

    • bitcocom
      Giảng viên

      Cảm ơn bạn. Mong rằng bài giảng sẽ hữu ích cho bạn. Hãy cố gắng đến cùng nhé~~

  • bigho982715님의 프로필 이미지
    bigho982715

    Đánh giá 18

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Trước đây tôi đã rất vất vả khi phải ánh xạ từng trường của đối tượng request, response riêng biệt cho mỗi chat model, nhưng hóa ra đã có Spring AI đơn giản và tuyệt vời như thế này. Nhờ đó tôi đã học được rất nhiều. Cảm ơn vì khóa học chất lượng cao.

    • bitcocom
      Giảng viên

      Cảm ơn bạn vì đánh giá chân thành~~ Spring AI đang trong giai đoạn phát triển liên tục và vẫn còn một số phần chưa được kích hoạt, tôi hy vọng khóa học này sẽ là cơ hội tốt để giới thiệu và quảng bá Spring AI. Mong rằng bạn sẽ phát triển nhiều dịch vụ hơn nữa và quảng bá Spring AI. Cảm ơn bạn^^

  • bokyoungp7692님의 프로필 이미지
    bokyoungp7692

    Đánh giá 8

    Đánh giá trung bình 4.9

    5

    100% đã tham gia

    Đây chính là khóa học làm Agent mà tôi cần ngay lúc này. Cảm ơn bạn.

    • bitcocom
      Giảng viên

      Thật tốt khi khóa học đã giúp ích cho việc tạo Agent của bạn. Hãy thử phát triển nhiều Agent đa dạng hơn với Spring AI nhé~~ Cảm ơn bạn.

  • 아트님의 프로필 이미지
    아트

    Đánh giá 11

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    • bitcocom
      Giảng viên

      Cảm ơn bạn. Hy vọng khóa học sẽ hữu ích cho bạn. Cố lên đến cuối cùng nhé.^^

587.223 ₫

Khóa học khác của bitcocom

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!