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

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

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

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

Spring AI Prompts란 무엇일까?

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-prompts
type
post
updatedAt

✅ 1. Spring AI Prompts란 무엇일까?

흔히 AI에게 질문을 던질 때 하나의 긴 텍스트 문장만 보낸다고 생각하기 쉬움. 하지만 Spring AI에서 AI Model로 전달되는 최종 형태는 문자열이 아니라 Prompt 라는 전용 객체임.
  • Prompt 객체의 내부 구조
    • List<Message> : 대화의 맥락을 구성하는 여러 종류의 메시지 묶음
    • ChatOptions : 온도(Temperature), 사용할 모델명(GPT-4)와 같은 AI 실행 옵션
 
 
 

✅ 2. Message Type

notion image
Prompt 객체 안에 담기는 Message는 역할에 따라 4가지 타입으로 나뉨.
  • SYSTEM
    • AI의 성격, 직업, 행동 지침, 제약 사항 등을 세뇌시키는 메시지
    • 예 :” 너는 10년 차 친구 같은 자바 개발자야. 모든 답변은 마크다운으로 해줘”
  • USER
    • 실제 서비스를 이용하는 유저가 입력한 질문이나 지시 내용
    • 예: "Spring AI에서 ChatClient가 뭐야?”
  • ASSISTANT
    • AI가 이전에 대답했던 응답 내용을 챗봇이 기억하고 이어가기 위해 (Chat Memory) 덧붙이는 메시지
  • TOOL
    • AI가 외부 API나 함수(예: 날씨 조회, 사내 DB 조회)를 호출하고 돌아온 결과값을 담는 특수 메시지
 
 
 

✅ 3. PromptTemplate

실무 비즈니스 로직에서는 질문이 고정되어 있지 않음. 유저의 입력값에 따라 질문 내용이 매번 바뀌어야 하므로 PromptTemplate을 필수적으로 사용함.
  • 개념 : 자바 웹 개발의 타임리프(Thymeleaf)나 메일 템플릿처럼, 프롬프트 문장 중간에 구멍({변수명})을 뚫어놓고 실행 시점에 값을 쏙쏙 채워 넣는 기능
  • 장점 : 비즈니스 로직(자바 코드)과 프롬프트 문구(텍스트)를 깔끔하게 분리할 수 있어 유지보수가 매우 편해짐.
// 1. 구멍({topic})이 뚫려 있는 템플릿 문자열 준비 String templateText = "초보자를 위해 {topic}의 핵심 개념을 3줄로 요약해 줘."; PromptTemplate promptTemplate = new PromptTemplate(templateText); // 2. 런타임에 변수 값을 Map으로 맵핑하여 완전한 Prompt 객체 생성 Map<String, Object> variables = Map.of("topic", "Spring AI의 PromptTemplate"); Prompt prompt = promptTemplate.create(variables); // 3. AI 모델에 전달 ChatResponse response = chatModel.call(prompt);