JSCODE Logo
블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

Spring AI Advisor란 무엇일까?

JSCODE 시니
JSCODE 시니
2026. 06. 13.
author
JSCODE 시니
category
Spring AI
createdAt
Jun 13, 2026 09:50 AM
isPublic
isPublic
series
실무에 바로 적용하는 Spring AI: Spring 서비스에 챗봇·RAG·MCP 도입하기
slug
understanding-spring-ai-advisor
type
post
updatedAt

✅ 1. Spring AI Advisor의 정의

  • AI 모델과 주고받는 요청과 응답을 중간에서 가로채 데이터를 동적으로 수정, 확장, 차단할 수 있게 해주는 컴포넌트
  • 스프링 웹 개발의 인터셉터, 필터, 정통 AOP와 동일한 역할을 수행함
 
 
 

✅ 2. Advisor의 핵심 동작 원리: 스택(Stack) 구조

Advisor 체인은 내부적으로 스택 구조로 동작함
notion image
이로 인해 요청할 때와 응답받을 때의 처리 순서가 반대로 뒤집히는 특징을 가짐
  • 실행순서 규칙 : getOrder() 메서드가 반환하는 값이 작을수록(우선순위가 높을수록) 체인의 가장 바깥쪽(맨 위)에 위치함
  • 데이터 흐름 :
    • 요청(Request) 단계 : 우선순위가 높은(Order 값이 작은) Advisor가 가장 먼저 요청을 가로채서 전처리함
    • 응답(Response) 단계 : 우선순위가 높은(Order 값이 작은) Advisor가 가장 마지막에 응답을 가로채서 후처리함
 
 
 

✅ 3. 예시 코드

ChatMemory chatMemory = ... // Initialize your chat memory store VectorStore vectorStore = ... // Initialize your vector store var chatClient = ChatClient.builder(chatModel) .defaultAdvisors( MessageChatMemoryAdvisor.builder(chatMemory).build(), // chat-memory advisor QuestionAnswerAdvisor.builder(vectorStore).build() // RAG advisor ) .build(); var conversationId = "678"; String response = this.chatClient.prompt() // Set advisor parameters at runtime .advisors(advisor -> advisor.param(ChatMemory.CONVERSATION_ID, conversationId)) .user("지난번에 물어본 사내 복지 혜택 다시 알려줘.") .call() .content();
 
 
 

✅ 4. 내장 Advisor 종류

  • Chat Memory Advisors (대화 흐름 관리)
    • MessageChatMemoryAdvisor : 대화 이력을 유저/AI 메시지 구조 그대로 유지하며 프롬프트에 추가함
    • PromptChatMemoryAdvisor : 과거 대화를 단순 텍스트로 뽑아서 시스템 프롬프트에 삽입함
  • Question Answering Advisors (RAG 검색 증강 생성)
    • QuestionAnswerAdvisor : Vector DB 자동 연동 등의 패턴을 수행함
    • RetrievalAugmentationAdvisor : 고도화된 RAG 아키텍처를 구현할 때 사용함
  • Reasoning & Safety Advisors (추론 및 보안)
    • ReReadingAdvisor (RE2) : LLM의 추론 능력을 높이기 위해 입력된 질문을 한 번 더 읽게끔 프롬프트를 자동으로 보강해 줌.
    • SafeGuardAdvisor : AI 모델이 해롭거나 부적절한 답변을 생성하지 않도록 사전에 방어막을 쳐줌.