Spring AI의 Advisor는 AI 호출 전후에 공통 로직을 삽입하는 파이프라인 계층이다. 로깅, 메모리, 컨텍스트 보강을 통해 ChatClient 요청과 응답 흐름을 체계적으로 제어한다.
Spring AI의 Advisor는 AI 모델 호출 전후에 개입해 요청을 보강하고 응답을 후처리하는 계층이다. 로깅, 컨텍스트 추가, 검증 등 공통 로직을 파이프라인에서 처리한다.

ChatClientRequest 객체로 변환SimpleLoggerAdvisor는 이 단계에서 AI에게 어떤 질문을 보낼 예정인지 로그 출력SimpleLoggerAdvisor는 이 단계에서 AI가 어떤 답변을 생성했는지, 토큰은 얼마나 사용했는지 등을 로그로 출력ChatResponse 형태로 변환하여 반환하면서 전체 프로세스 종료@Configuration
public class ChatConfig {
@Bean
public SimpleLoggerAdvisor simpleLoggerAdvisor() {
return SimpleLoggerAdvisor.builder().build();
}
}
InMemoryChatMemory 제공// ChatMemory 생성
@Bean
public ChatMemory chatMemory() {
return MessageWindowChatMemory.builder().maxMessage(10).build();
}
// ChatMemoryAdvisor 생성
@Bean
public MessageChatMemoryAdvisor messageChatMemoryAdvisor(ChatMemory chatMemory) {
return MessageChatMemoryAdvisor.builder(chatMemory).build();
}
API를 통해 백엔드 서버에서 AI를 직접 호출 할 때, LLM API는 무상태로 동작한다. 즉, 이전 대화 기록을 알지 못한다. 그래서 새로운 질문을 할 때마다 과거에 나누었던 대화 기록을 프롬프트에 덧붙여서 같이 보내야한다. 수동으로 덧붙이기는 불가능하기 때문에 Advisors를 통해 구현한다.