Do it! 스프링 AI를 활용한 AI 에이전트 개발 입문 (LLM+RAG+도구 호출+MCP+멀티모달+벡터 DB)

Do it! 스프링 AI를 활용한 AI 에이전트 개발 입문 (LLM+RAG+도구 호출+MCP+멀티모달+벡터 DB)

$34.00
Description
AI 개발, 파이썬 개발자만의 영역이 아니다!
챗봇부터 멀티에이전트 시스템까지, 자바 개발자를 위한 AI 개발 입문서
AI 시대가 열렸지만 많은 자바 개발자는 ‘AI 개발은 파이썬의 영역’이라고 생각한다. 하지만 이제 스프링 AI를 활용하면 자바와 스프링만으로도 강력한 AI 서비스를 만들 수 있다.
《Do it! 스프링 AI를 활용한 AI 에이전트 개발 입문》은 자바 개발자에게 가장 익숙한 스프링 환경에서 챗봇, RAG, MCP, 멀티에이전트 시스템까지 구현하며 AI 서비스 개발을 배울 수 있도록 구성한 실전 입문서다.
이 책은 스프링 AI의 방대한 이론보다 실무에 바로 적용할 수 있는 핵심 기능을 단계별로 익히는 데 집중한다. 스프링 AI의 기초 개념부터 LLM 연동 환경 구축, ChatMemory를 활용한 대화 맥락 유지, RAG를 통한 외부 지식 활용, 도구 호출(Tool Calling)과 MCP를 활용한 외부 시스템 연동, 이미지·음성 분석 기반 멀티모달 기능, 멀티에이전트 시스템까지 실무에서 꼭 필요한 기능을 차례대로 학습한다.
이 책을 마칠 때쯤이면 단순히 AI API를 호출하는 수준을 넘어, 실제 서비스에 필요한 AI 기능을 직접 설계하고 구현할 수 있는 개발 역량을 갖출 수 있다.
저자

박매일

서울과학기술대학교컴퓨터공학과를졸업하고20년넘게현장과강단을오가며백엔드개발자를양성해온전문엔지니어다.스마트인재개발원교육부장을역임하고교육기획과운영을총괄했으며,한양대학교ERICA,코스콤,한국전력공사,인공지능사관학교,구름등학계와다양한기업현장에서자바와스프링을강의했다.
특히정보통신산업진흥원(NIPA),한국산업기술진흥원(KIAT),고용노동부,한국산업인력공단등주요기관의IT국비교육및해외취업연수사업을성공적으로운영해왔다.현재인프런과패스트캠퍼스에서자바대표강사로활동하며실무중심의콘텐츠를전파하고있다."이론보다작동하는코드로가르친다"는철학아래,최근에는AI시대의자바개발자를위한스프링AI와AI에이전트분야의생태계확장에힘쓰고있다.

저자와소통할수있는공간
•인프런inflearn.com/users/@bitcocom
•깃허브github.com/parkmaeil/DoItSpringAI

목차

첫째마당스프링AI기초다지기
01장AI애플리케이션과스프링AI
_01-1스프링AI이해하기
__AI애플리케이션이란무엇일까?
__스프링과AI를쉽게연결하는방법-스프링AI
__스프링AI의핵심기능
_01-2AI애플리케이션의핵심개념
__AI모델
__토큰
__프롬프트
__구조화된출력
__벡터와벡터공간
__AI모델의데이터와API확장
01장되새김문제

02장스프링AI시작하기
_02-1스프링AI의개발환경준비하기
__[Doit!실습]인텔리제이설치하기
__[Doit!실습]인텔리제이플러그인설치하기
__[Doit!실습]포스트맨설치하기
_02-2AI모델의사용환경준비하기
__오픈AI의API
__[Doit!실습]오픈AI의API키발급받기
__[Doit!실습]오픈AI의API결제수단설정하기
__크레딧사용한도설정하기
__[Doit!실습]올라마설치하기
_02-3첫번째스프링AI프로젝트시작하기
__스프링AI의핵심구성요소
__AI모델과통신하기위한표준규격-ChatModel
__[Doit!실습]첫번째스프링AI프로젝트생성하기
__[Doit!실습]윈도우환경변수설정하기
__[Doit!실습]인텔리제이환경변수설정하기
__[Doit!실습]ChatModel로LLM과직접통신하기
__ChatModel이생성되는6단계
02장되새김문제

03장ChatClient이해하기
_03-1ChatClient로AI모델과대화하기
__ChatModel과ChatClient의차이이해하기
__ChatClient를생성하는방법
__AiConfig에서ChatClient빈등록하기
__설정클래스에서등록하기
__[Doit!실습]ChatModel에서ChatClient로리팩터링하기
_03-2ChatClient로다중AI모델연동하기
__[Doit!실습]올라마의AI모델을사용하도록설정하기
__수동구성방식으로ChatClient를생성하는방법
__[Doit!실습]다중AI모델과연동하는ChatClient구성하기
__@Primary로기본ChatClient지정하기
_03-3Prompt객체이해하기
__AI모델에게보낼요청을담는상자-Prompt
__대화의맥락과역할—Message인터페이스
__대화의규칙과제약조건—ChatOptions인터페이스
_03-4ChatClient의유창한API이해하기
_메서드체이닝과유창한API
__[Doit!실습]단일ChatClient프로젝트생성하기
__[Doit!실습]Builder패턴으로프롬프트구성하기
__[Doit!실습]Prompt객체를직접조립해서사용하기
_03-5ChatClient의응답다루기
__ChatClient의응답을추출하는3가지방법
__[Doit!실습]ChatResponse객체에서상세내용추출하기
__[Doit!실습]AI모델의응답에서메타데이터추출하기
__[Doit!실습]AI응답을Entity객체로받기
__[Doit!실습]AI응답을객체리스트로받기
_03-6ChatOptions로응답옵션설정하기
__ChatOptions의주요옵션살펴보기
__스프링AI에서옵션을설정하는3가지방법
__옵션을설정하는방법이다양한이유
__[Doit!실습]ChatOptions설정우선순위확인하기
03장되새김문제

둘째마당템플릿과스트리밍응답제어하기
04장동적프롬프트와템플릿다루기
_04-1동적프롬프트이해하기
__프롬프트엔지니어링과맥락의중요성
__AI에게보낼메시지를만드는틀—PromptTemplate
__PromptTemplate을사용하는2가지방법
__[Doit!실습]ChatClient의유창한API로동적프롬프트만들기
_04-2명시적으로동적프롬프트만들기
__PromptTemplate을명시적으로생성하는방법
__[Doit!실습]PromptTemplate을단계별로구현하기
__[Doit!실습]PromptTemplate을역할기반으로구현하기
__[Doit!실습]외부파일로PromptTemplate관리하기
04장되새김문제

05장Advisor와스트리밍응답다루기
_05-1스프링AI의Advisor이해하기
__Advisor란무엇일까?
__스프링AI의내장Advisor종류
__스프링AI에서Advisor를설정하는2가지방법
__[Doit!실습]SimpleLoggerAdvisor로로그기록하기
__[Doit!실습]SafeGuardAdvisor로프롬프트검사하기
_05-2사용자정의Advisor구현하기
__[Doit!실습]TokenPrintAdvisor클래스작성하기
__Advisor가실행되는순서
_05-3스프링AI의스트리밍응답구현하기
__call()메서드의한계
__스트리밍방식의원리이해하기
__스트리밍응답을구현하는stream()메서드
__[Doit!실습]실시간답변을제공하는스트리밍서비스구축하기
05장되새김문제

셋째마당기억력과전문지식을갖춘AI챗봇만들기
06장대화문맥관리하기
_06-1ChatMemory로기억력구현하기
__대화내용을기억하지못하는LLM
__스프링AI의기억력을만드는2가지인터페이스
__대화에맥락을삽입하는Advisor
__메모리기능을위한객체의주입관계
__스프링AI메모리기능의전체흐름
__[Doit!실습]대화를기억하는AI챗봇구현하기
_06-2다중사용자환경에서메모리기능구현하기
__사용자가두명이상이라면어떻게될까?
__[Doit!실습]다중사용자세션분리하기
__[Doit!실습]인메모리저장소에저장된데이터확인하기
_06-3대화내용영구저장하기
__인메모리저장소의한계를극복하는JDBC
__[Doit!실습]대화를저장할데이터베이스준비하기
__[Doit!실습]데이터베이스기반대화저장소구축하기
__메모리전략커스터마이징하기
06장되새김문제

07장스프링AI로RAG시작하기
_07-1필수개념과함께RAG이해하기
__LLM의한계를해결하는RAG
__RAG가만드는4가지변화
__RAG의3단계핵심프로세스
__LLM이데이터를이해하는방법—임베딩과벡터공간
__유사성검색
__코사인유사도
__벡터데이터베이스
_07-2RAG를위한지식베이스구축하기
__Document
__VectorStore
__스프링AI에서RAG의동작흐름
__스프링AI의벡터데이터베이스솔루션
__[Doit!실습]MariaDB벡터데이터베이스준비하기
__[Doit!실습]스프링AI로MariaDB벡터테이블자동생성하기
_07-3스프링AI로ETL파이프라인구현하기
__스프링AI에서ETL파이프라인동작흐름이해하기
__TokenTextSplitter의동작원리
__[Doit!실습]호텔매뉴얼데이터를벡터스토어에적재하기
_07-4첫번째RAG프로젝트완성하기
__[Doit!실습]RAG로AI호텔컨시어지만들기
_07-5Advisor를통한RAG자동화하기
__RAG파이프라인을자동화하는Advisor
__QuestionAnswerAdvisor의프롬프트템플릿
__[Doit!실습]QuestionAnswerAdvisor로RAG자동화하기
_07-6고급RAG파이프라인구현하기
__고급RAG파이프라인의4단계프로세스
__[Doit!실습]4단계모듈식RAG파이프라인구축하기
__[Doit!실습]PDF데이터를벡터데이터베이스로변환하기
07장되새김문제

넷째마당행동하는AI에이전트만들기
08장도구호출로외부세계와연결하기
_08-1도구호출이해하기
__도구호출이란무엇일까?
__도구호출의6단계작동원리
_08-2선언적방식으로도구구현하기
__스프링AI에서도구를구현하는2가지방법
__[Doit!실습]@Tool로날짜조회도구만들기
__[Doit!실습]@ToolParam을활용해액션수행도구만들기
_08-3날씨조회AI에이전트완성하기
__AI에이전트란무엇일까?
__[Doit!실습]날씨정보조회를위한API키발급받기
__[Doit!실습]외부API로날씨를조회하는도구만들기
__강력한AI에이전트의3가지조건
08장되새김문제

09장MCP로도구확장하기
_09-1MCP이해하기
__MCP란무엇일까?
__MCP의클라이언트-서버아키텍처
__MCP의주요기능구성
__MCP의2가지통신방식
__MCP와JSON-RPC2.0
__MCP통신의라이프사이클
__스프링AI에서MCP사용하기
__MCP서버탐색하기
_09-2첫번째MCP서버연결하기
_파일관리AI에이전트살펴보기
__[Doit!실습]파일관리AI에이전트구축하기
__[Doit!실습]파일관리AI에이전트테스트하기
_09-3다중MCP서버연결하기
__회의록자동화AI에이전트살펴보기
__[Doit!실습]노션API사용을위한준비하기
__[Doit!실습]회의록자동화AI에이전트구축하기
09장되새김문제

10장커스텀MCP서버구축하기
_10-1MCP의2가지통신방식이해하기
__로컬MCP서버와통신하기—STDIO
__원격MCP서버와통신하기—SSE와StreamableHTTP
_10-2도서DB검색MCP서버만들기
__[Doit!실습]STDIO방식으로통신하는MCP서버구축하기
__[Doit!실습]MCP인스펙터로로컬MCP서버테스트하기
__[Doit!실습]클로드데스크톱에서로컬MCP서버테스트하기
_10-3도서DB검색MCP클라이언트만들기
__[Doit!실습]MCP클라이언트구현하기
__[Doit!실습]직접만든MCP클라이언트와MCP서버연동하기
_10-4원격MCP서버만들기
__[Doit!실습]원격MCP서버구축하기
__[Doit!실습]인스펙터로StreamableHTTP방식MCP서버테스트하기
__[Doit!실습]원격MCP클라이언트구축하기
__[Doit!실습]MCPClient와원격MCP서버연동하기
10장되새김문제

다섯째마당멀티모달기능구현하기
11장이미지모델활용하기

출판사 서평

스프링AI를활용한AI에이전트개발입문서,
어떤사람에게적합한가요?
•파이썬없이스프링으로AI서비스를구현하고싶은백엔드개발자•단순챗봇을넘어실무수준의AI에이전트를직접만들어보고싶은시니어개발자•스프링AI로AI에이전트개발에첫발을내딛고싶은주니어개발자파이썬없이도AI를개발할수있나요?
이제자바개발자도AI에이전트를만들수있습니다!
《Doit!스프링AI를활용한AI에이전트개발입문》은자바개발자에게익숙한자바와스프링만으로AI에이전트개발을시작할수있도록구성했습니다.호텔AI컨시어지,파일관리AI에이전트,회의록자동화AI에이전트,자연어기반데이터베이스조회시스템,이미지생성AI애플리케이션,코딩튜터AI에이전트등다양한서비스를직접구현해보며AI개발의전체흐름을이해할수있습니다.실무에바로적용할수있는내용으로구성한장별실습예제를따라하다보면스프링AI의기능을자연스럽게확장하고응용할수있습니다.

스프링AI,AI개발이처음인데도따라할수있을까요?
기초개념부터스프링AI의핵심기능까지차근차근익혀요!
모델,토큰,임베딩,벡터와같은AI개발의핵심개념이낯선자바개발자도부담없이학습할수있도록기초개념부터설명하고,실제애플리케이션에서어떻게활용되는지까지자연스럽게연결해설명합니다.본문곳곳에는학습자가쉽게이해할수있도록〈알아두면좋아요〉로본문과관련된핵심개념을보충했습니다.또한실무활용방법과저자의팁을담은〈한걸음더〉,장이끝날때마다학습한내용을스스로점검할수있도록〈되새김문제〉를수록해배운개념을확실하게정리할수있습니다.그결과단순히예제를따라하는데그치지않고,AI에이전트의동작원리를이해하고직접설계및구현할수있는실력을갖출수있습니다.

스프링AI로멀티에이전트시스템도만들수있을까요?
최종프로젝트에서하나의완성된서비스로구현해요!
본문에서공부한스프링AI핵심기능을최종프로젝트로완성할수있도록〈최종프로젝트:코딩튜터AI에이전트만들기〉PDF를제공합니다.여러AI에이전트가협업해코드를분석하고피드백을제공하는AI코드리뷰시스템을직접만들어보며지금까지학습한내용을하나의완성된서비스로완성할수있습니다.책을다읽은뒤에는462쪽에있는QR코드를스캔해서PDF를내려받은후최종프로젝트에도전해보세요.

실습예제코드는어디서내려받을수있나요?
이책에서사용하는실습예제코드는이지스퍼블리싱홈페이지나저자깃허브에서내려받을수있습니다.실습예제코드를일일이입력하지않아도되므로학습효과를빠르게거둘수있습니다.
•이지스퍼블리싱홈페이지|www.easyspub.co.kr→[자료실]→도서명으로검색•저자깃허브|https://github.com/parkmaeil/DoItSpringAI
스프링AI를체계적으로공부하는방법이있나요?
AI개발이처음인자바개발자도막히지않도록30일학습계획표와16일학습계획표를제공합니다.스프링AI가처음이라면30일과정으로개념을차근차근익히고,자바백엔드개발경험이있다면16일과정으로핵심만빠르게익혀보세요.자신의수준에맞는계획으로공부하며핵심개념은정리하고,실습중심으로학습하며나만의AI에이전트를직접만들어볼수있습니다.

혼자공부하다막히면어떻게해야하나요?
혼자계획을세우고공부하다보면금방지치기마련입니다.‘Doit!스터디룸’의공부단에접속해서이책완독에도전해보세요.함께공부하는사람들도만나고,공부하는내용을올려공유하고인증하면이지스퍼블리싱에서출간한책선물도받을수있습니다.또한어려운내용이있다면‘Doit!스터디룸’게시판에질문을남겨보세요.전문가와저자가명쾌하게해결해드립니다.
•Doit!스터디룸:cafe.naver.com/doitstudyroom만약스프링AI에관해더자세히알고싶거나버전업데이트소식이궁금하다면저자가운영하는오픈채팅방에참여해보세요.질문을남기면답변도받을수있습니다.
•카카오톡오픈채팅방:https://open.kakao.com/o/stP6z2ui