dhan***
2025-09-28

생성형 AI 시대의 Java 개발자를 위한 완벽한 가이드! Java 생태계에서 AI 기술을 통합하는 모든 과정을 담은 『이것이 Spring AI다』!
스프링은 문제 없이 AI를 잘 지원한다!!
2022년 11월 OpenAI가 ChatGPT를 발표한 후, 생성형 AI는 LLM, GPTs, RAG, AI 에이전트, MCP, 바이브코딩까지 개발의 패러다임을 송두리째 바꿔놓았다. 언어 중에서는 파이썬이 가장 인기 있는 언어였다. 파이썬 중심의 AI 툴킷(LangChain, LlamaIndex)이 인기를 끌고, Node.js 기반의 React가 프론트엔드를 이끌었다. 자바 진영에서는 2023년 프로젝트를 발족하였고, 2024년 기능 확장과 생태계 정비가 이루어졌다. 그리고 2025년 5월 1.0.0 버전이 정식으로 릴리스되었고, 2025년 9월 1.0.2 안정성 패치까지 이루어졌다.
[선수 지식]
- 생성형 AI, LLM 기초 지식
- AI 애플리케이션 개념
- Java, Spring, SpringBoot 기초 지식
[추천 독자]
- 자바를 기반으로 생성형 AI를 활용하여 제품을 만들고 싶은 개발자
- Spring Boot 기반의 백엔드로 RAG, AI Agent, 멀티 모달 서비스를 만들고 싶은 개발자
- 자바 기반의 MCP를 기획하고 있는 개발자
[키워드]
#SpringAI #스프링 #Spring #Java #ChatModel #ChatClient #프롬프트엔지니어링 #제로샷프롬프트 #퓨샷프롬프트 #자기일관성 #구조화된출력 #텍스트대화 #음성대화 #이미지생성 #이미지편집 #객체탐지 #비디오프레임분석 #어드바이저 #임베딩 #벡터자장소 #대화기억 #RAG #생성형AI #도구호출 #OpenAI #Docker #VertexAI #Gemini #Ollama
[특징]
- Java21, VS Code, Gradle, SpringBoot 3.4.x, Spring AI 1.0.0 기반의 개발 환경
- 텍스트 대화부터 프롬프트 엔지니어링, 멀티 모달(음성, 이미지 처리), 대화 기억, RAG(로더, 벡터저장소, 유사도 검색), 도구 호출, MCP까지 자바(Spring)로 구현하는 AI 애플리케이션 완벽 가이드
- Open AI, Gemini, Ollama, PostgreSQL(PGVector) 사용법 안내
- 4.8G 상당의 실전 예제 코드 제공
- 저자님의 Q&A 카페 운영
[책의 구성]
이 책은 전체 12개 장과 부록으로 구성되어 있다.
Chapter 01 "Spring AI 시작"에서는 일반적인 AI 애플리케이션의 개념을 설명한 후, Spring AI를 LangChain과 비교하여 기능을 설명한다. 그리고 예제 소스 구동을 위한 VS Code, Spring Boot, Gradle 환경 구축 방법을 캡처를 통해 상세히 알려주고, 예제 소스의 구성을 설명한다.
Chapter 02 "텍스트 대화"에서는 AI 애플리케이션의 대표격인 대화형 챗봇 예제를 실습한다.

<Chapter 02 텍스트 대화 - 2.1 Chat Model API, p046~p047>
Chapter 03 "프롬프트 엔지니어링"에서는 프롬프트 템플릿을 사용하여 제로샷, 퓨샷, 역할 부여, 스텝백, 생각의 사슬, 자기 일관성 등 다양한 프롬프트 엔지니어링 기법을 예제로 설명한다.

<Chapter 03 프롬프트 엔지니어링 - 3.10 자기 일관성, p092~p093>
Chapter 04 "구조화된 출력"에서는 LLM의 출력 결과를 List, 객체, List, Map 등으로 변환하는 예제를 실습한다.
Chapter 05 "음성 대화"에서는 음성 모델을 활용하여 STT(음성을 텍스트로 변환), TTS(텍스트를 음성으로 변환) 기술을 실습한다.
Chapter 06 "비전 및 이미지 생성"에서는 멀티모달 LLM을 활용하여 객체 탐지, 이미지 분석, 이미지 생성, 이미지 편집 등의 예제를 실습한다.
Chapter 07 "모델 전·후처리 어드바이저"에서는 모델 전처리, 후처리를 효과적으로 지원하는 어드바이저의 개념을 소개한 후, 내장 어드바이저를 사용하는 방법을 설명한다.

<Chapter 07 모델 전·후처리 어드바이저 - 7.6 내장 Advisor, p210~p211>
Chapter 08 "임베딩과 벡터 저장소"에서는 생성형 AI의 핵심 개념인 임베딩에 관해 설명하고, 벡터 저장소(PGVector)를 도커로 설치한 후 OpenAI의 임베딩 모델로 텍스트와 이미지를 임베딩하여 벡터 저장소에 저장한 후 조회하는 예제를 실습한다.
Chapter 09 "대화 기억"에서는 멀티턴을 지원하기 위한 기술을 설명한 후, 메모리, 벡터 저장소, RDBMS, 카산드라를 활용하여 대화 기억을 저장하는 실습을 진행한다.
Chapter 10 "문서 검색 기반 답변, RAG"에서는 RAG 개념과 함께 데이터(텍스트, PDF, Word)에서 텍스트를 추출한 후 어드바이저를 사용하여 검색어 확장 및 재작성, 번역, 다중 쿼리를 적용하는 예제를 실습한다.

<Chapter 10 문서 검색 기반 답변, RAG - 10.2 지식 기반 저장소와 ETL, p294~p295>
Chapter 11 "도구 호출"에서는 LLM이 사용자 도구를 호출하는 과정을 설명한 후, 이미지 분석, 파일 관리, 인터넷 검색 도구를 생성하여 LLM이 호출하는 예제를 실습한다.
Chapter 12 "MCP, 외부 도구"에서는 MCP의 개념을 설명한 후, STDIO, SSE 통신 방법으로 MCP Server를 생성하는 예제를 실습한다.

<Chapter 12 MCP, 외부 도구 - 12.1 MCP란, p392~p393>
"부록"에서는 OpenAI API key 발급과 Docker Desktop 설치 방법, 구글의 Vertex AI Gemini 모델을 사용하는 방법, 온-프레미스 LLM을 위한 Ollama 설치 방법을 캡처로 상세히 설명한다.
[소감]
파이썬 AI 애플리케이션을 공부한 경험으로 비추어 볼 때, Spring AI는 다른 언어보다 정식버전의 지원이 늦었지만 텍스트 대화부터 멀티모달(음성, 비전), RAG, Tool Calling, MCP까지 AI 애플리케이션을 개발할 때 필요한 필수 기능과 고급 기능까지 완벽하게 지원한다는 것을 알게 되었다. 특히 Spring AI는 기존의 Spring Data, Spring Boot와 일관성 있고 추상화된 API를 제공함으로써, 자바 개발자도 파이썬처럼 쉽게 AI 기능을 개발할 수 있을 것이다. 이렇게 제공된 추상화된 API를 사용하여 앞으로 다양한 벤더사가 지원된다면 자바의 AI 생태계도 머지않아 폭발적으로 확장될 것으로 예상된다. 필수 기능과 고급 기능의 설명은 물론, 실무적인 예제 코드로 구성된 "이것이 Spring AI다"는 많은 자바 개발자들에게 든든한 길잡이가 될 것이다.
[추천]
대한민국의 많은 프로젝트가 Spring, Spring Boot로 개발되어 있는 것을 알고 있다. 기존 서비스에 AI 기능을 탑재하거나 백엔드로 자바를 사용하는 모든 자바 개발자에게 이 책이 좋은 출발점이 될 것이다. 이 책을 모두 읽을 즈음, 앞으로 추가되거나 개발할 AI 애플리케이션에 대한 인사이트도 함께 얻게 될 것이다.