강의

멘토링

커뮤니티

NEW
AI Technology

/

AI Agent Development

[Season 1] Spring AI 実戦:プレミアム予約AIエージェント開発

Spring AI + JPA + MySQLを活用した「自律行動型」プレミアム予約エージェントバックエンド開発 チャットボットを超えてエージェントへ:Tool Callingとプロンプトエンジニアリングの定石

  • bitcocom
Java
Spring Boot
backend
AI Agent
Spring AI

受講後に得られること

  • Spring AIの@Toolを活用してAIエージェントが使用できるカスタムツールを作ることができます。

  • JavaとSpring Bootを使用してAIエージェントのバックエンド核心機能を実装する方法を身につけることができます。

  • 実際のデータベースと連動するAIベースのお問い合わせ管理システムのバックエンドを完成させることができます。

  • バックエンドとフロントエンドシステムを連携してサービスを提供することができます。

[Season 1] Spring AI実践:プレミアム予約AIエージェント開発

もう単純なチャットボットには満足しないでください。🤔
実際のビジネスロジックを実行し、データベースと相互作用するAIエージェントを作ってみましょう!

GourmetBot AIエージェントデモ

💡 講義の動機 (Motivation)

現場では単純な対話型AIを超えて、「実際に自社のDBと連動して業務を処理してくれるエージェント」を求めています。この講義は伝統的なバックエンド技術(DB、トランザクション)と最新のAI技術(LLM、Tool Calling)を組み合わせて、実務的な問題解決能力を備えたエージェントを作る方法をお伝えします。

この講義ではSpring AIJPAMySQLを使用して、実際にサービス可能なレベルのプレミアム予約AIエージェントを開発します。単に質問に答えるチャットボットを超えて、顧客のリクエストを理解し、データベースを照会して予約可能かどうかを判断し、実際に予約を確定し、予約履歴を照会し、予約をキャンセルする能動的なAIエージェントを構築する方法を学ぶことができます。また、会話内容をデータベースに保存して以前の会話の文脈を記憶するスマートなエージェントを実装します。

🏆 目標 (Goal)

  1. 効果的な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エージェントアーキテクチャ
  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では実装しません。


(シーズン1) ツール呼び出し
  • ユーザーリクエスト (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です。」と応答することができます。

(シーズン1) データベースERD
  • customerテーブル: 顧客情報を保存するテーブルです。顧客ID、名前、電話番号、来店回数、メモなどの情報を含みます。

  • restaurant_tableテーブル: レストランのテーブル情報を保存するテーブルです。テーブルID、収容人数、テーブルタイプなどの情報を含みます。

  • reservationテーブル: 予約情報を保存するテーブルです。予約ID、予約時間、顧客ID、テーブルID、人数、アレルギー情報、予約状態などの情報を含みます。customerテーブルとrestaurant_tableテーブルと関係を持っています。

  • spring_ai_chat_memoryテーブル: チャットボットとの会話内容を保存するテーブルです。会話ID、会話内容、メッセージタイプ、タイムスタンプなどの情報を含みます。これにより、チャットボットは以前の会話内容を記憶し、文脈に合った回答をすることができます。

ソフトウェアアーキテクチャ

'GourmetBot(グルメボット)'というAIチャットボットサービスのソフトウェアアーキテクチャ(設計図)です。

ユーザーがウェブ/アプリ画面で質問すると、バックエンドサーバーがこれを受け取りOpenAI(ChatGPT)と連携して回答を提供し、必要に応じてデータベースから情報を検索する構造です。

講義の核心方式:LLM+Tool Calling

本講義では、上記画像の2番 LLM + Tool Calling方式を使用してAIエージェントを開発します。

  • 単純なチャットボットを超えたエージェント: LLM(脳)がユーザーの意図を把握し、アプリケーションに定義されたツール(胴体)を直接使用して実際の作業を実行します。

  • ビジネスロジックの直接実行: AIが予約の作成、照会、キャンセルなどのJavaメソッド(ツール)を呼び出し、データベースとやり取りしてビジネスロジックを処理します。

  • Spring AIの強力な機能を活用: Spring AIフレームワークを通じてLLMとアプリケーションのツールを簡単に連携・管理します。

この講義の特徴

📌 実務中心のプロジェクトベース学習: 理論説明は最小限に抑え、実際に動作する予約システムを最初から最後まで実装する実習中心の講義です。

📌 Spring AIの核心機能を完全マスター: AIエージェント開発の核心である@Tool機能とプロンプトエンジニアリングを深く扱います。

📌 バックエンドとフロントエンドの連携サービス構築: バックエンドシステム(Spring Boot)とフロントエンドシステム(Vite+React)を連携してサービスを構築します。

📌 堅牢なバックエンドシステムの構築: JPAとMySQLを使用して、実際のデータベースと連動する安定したバックエンドシステムを構築します。

📌 予約確定、照会、キャンセル機能の実装: 実際の予約システムに必要な核心機能をAIエージェントを通じて実装します。

📌 会話コンテキスト記憶機能の実装: 会話内容をデータベースに保存し、AIエージェントが以前の会話を記憶して連続性のある会話ができるように実装します。

📌 拡張可能なアーキテクチャ設計: RAG(検索拡張生成)など、今後の機能拡張を考慮した柔軟なアーキテクチャを設計する方法を学びます。(RAG機能はSeason 2で扱います。)

こんな方におすすめです

バックエンド開発者: Spring AI技術を自分のサービスに取り入れたい方、実際に動作するAIエージェントを作ってみたい方

Springフレームワークユーザー: Spring AIを活用して新しい機能を実装したい方

実務中心の学習を好む方: 理論よりも実際のプロジェクトを通じて学びたい方

🌏 応用分野 (Applications)

この講座のアーキテクチャは「予約」と「相談」が必要なすべてのドメインにそのまま適用可能です。

  • 🏥 病院診療予約ボット:再診患者識別、診療科推薦。

  • 🏨 ホテルコンシェルジュ: 客室照会、ルームサービス注文。

  • 💇 美容院/ヘアサロン予約: デザイナー指定、施術時間計算。

  • 🛒 CSチャットボット: 配送追跡、注文変更/キャンセルの自動化。

受講後には

  • Spring AIを活用したAIエージェント開発能力を身につけることができます。

  • バックエンド(Spring Boot)とフロントエンド(React)システム連携能力を身につけることができます。

  • JPAMySQLを使用したバックエンドシステム構築能力を身につけることができます。

  • 予約確定、照会、キャンセル機能を含む実際の予約システムの実装能力を身につけることができます。

  • 会話コンテキストの記憶のためのデータベース設計および実装能力を身につけることができます。

  • プロンプトエンジニアリングの基礎と実習を体験することになります。

  • 実際の予約システムを完成させるプロジェクトを経験することになります。

フロントエンド実装を学びましょう!

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

GourmetBotメイン画面

GourmetBot 予約、照会、キャンセル

バックエンド実装を学びましょう!

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

会話内容の記憶

AIエージェントが以前の会話内容を記憶し、文脈に合った回答ができるよう、データベースに会話内容を保存して読み込む機能を実装します。これにより、顧客により自然でパーソナライズされた体験を提供できます。

予約機能の実装

お客様の予約リクエストを自然言語で理解し、予約可能かどうかを確認した後、実際の予約を作成する機能を実装します。AIがお客様と会話しながら必要な情報を収集し、最終的に予約確定メッセージを伝えるプロセスを学びます。

予約キャンセル機能の実装

お客様が予約キャンセルをリクエストした際に、AIが該当予約を見つけてキャンセル処理を行う機能を実装します。予約キャンセル時に発生する可能性のある様々な状況を考慮し、安定したシステムを構築する方法を学びます。

予約照会の実装

お客様が自分の予約履歴を照会できるよう、AIがデータベースから予約情報を検索して知らせる機能を実装します。お客様に正確な予約情報を提供し、利便性を高める方法を学びます。

[Season 2] Spring AI実践:エンタープライズ級マルチAIエージェントシステム開発予告

受講前の参考事項

💻 開発環境 (Environment)
  • IDE: IntelliJ IDEA Community Edition.

  • 言語: Java 17または21。

  • フレームワーク: Spring Boot 3.5.8(最新安定版)。

  • ライブラリ: Spring AI 1.0.3(または1.1.0スナップショット)。

  • データベース: MySQL 8.x.

  • AIモデル: OpenAI (gpt-4o-mini または gpt-5-mini)。

📚 学習資料
  • 動画講義の最後の30講に(バックエンド、フロントエンドのソースコード)が提供されます。

  • 講義資料はPDFファイルで提供されます。

  • ソースコードはGithubを通じて提供します。

📚 前提知識 (Prerequisites)

  • Java: 基本的な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,099

受講生

632

受講レビュー

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

カリキュラム

全体

30件 ∙ (7時間 37分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • ADK123님의 프로필 이미지
    ADK123

    受講レビュー 325

    平均評価 5.0

    5

    16% 受講後に作成

    • 박매일
      知識共有者

      첫 수강평에 5점을 주셔서 감사합니다. 마지막까지 완강하시고 좋은 인사이트를 얻어가시면 좋겠습니다. 파이팅입니다~~

  • 오민경님의 프로필 이미지
    오민경

    受講レビュー 4

    平均評価 5.0

    5

    30% 受講後に作成

    期間限定セール、あと5日日で終了

    ¥19,250

    30%

    ¥3,527

    bitcocomの他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!