스프링 AI
전체 26강 · 7개 Phase. 순서대로 따라오면 돼요.
전체 과정
▸ Phase 1 · 기반 다지기 세팅 · 프로바이더 추상화
▸ Phase 2 · ChatClient 핵심 프롬프트 · 구조화 출력 · 스트리밍
Day 3 Day 3. PromptTemplate 과 시스템 프롬프트의 기술 — "질문의 품질이 답의 품질을 만든다"프롬프트를 문자열이 아닌 재사용 가능한 템플릿 자산으로 분리하기 Day 4 Day 4. 구조화 출력(Structured Output) — "LLM 의 답을 String 이 아니라 Record 로 받자"AI 답변을 문자열 대신 타입 안전한 자바 객체로 받기 Day 5 Day 5. ChatMemory — "LLM 한테 어제 무슨 얘길 했는지 기억하게 만들기"매번 잊는 AI에 지난 대화를 기억시키는 법 Day 6 Day 6. Streaming — "답변이 흘러서 도착한다"답변을 글자 단위로 흘려보내는 스트리밍 응답 만들기
▸ Phase 3 · 멀티모달 이미지 · Vision · 음성 · 비디오
Day 7 Day 7. ImageModel — "AI 화가에게 그림 의뢰하기"AI에게 그림을 의뢰해 캐릭터 일러스트를 자동 생성하기 Day 7.5 Day 7.5. ai-friends prod 결합 — 5트랙 캐릭터 만들기 + 챗 셀카 요청 (Day 7 부록)학습용 lab을 실제 게임에 흡수해 5트랙 외모선택과 챗 셀카 붙이기 Day 8 Day 8. Vision — "캐릭터가 자기 사진을 보고 첫 마디를 건넨다"AI에게 이미지를 입력으로 보내 그림을 보고 답하게 만들기 Day 9 Day 9. Voice (STT/TTS) — "캐릭터가 처음으로 목소리를 갖는다"사용자 음성을 듣고 캐릭터가 목소리로 답하게 만들기 Day 10 Day 10. Video — "시연으로 만나는 모달리티 — 비용은 텍스트의 수천 배, 그리고 비동기 폴링이라는 세 번째 응답 패턴"제출 후 주기 확인으로 받는 비동기 폴링과 비용 감각 익히기
▸ Phase 4 · 에이전트 개념 & 패턴 Tool Calling · Agentic Patterns
Day 11 Day 11. Tool Calling — "@Tool 한 줄로 LLM 이 내 Java 메서드를 직접 호출한다"내가 만든 함수를 LLM이 골라 쓰게 하는 첫걸음 Day 12 Day 12. 에이전트의 정의 — "방금 만든 게 에이전트인가?"도구 자율 루프 가드레일 4박자로 에이전트와 워크플로우 구분하기 Day 13 Day 13. Workflow 3 패턴 — Prompt Chaining / Routing / Parallelization전문 챗클라이언트 여러 개를 평범한 자바로 이어 직렬 분기 병렬 흐름 짜기 Day 14 Day 14. Agent 2 패턴 + 운영 가드 4 부품LLM이 일을 나눠 맡기고 품질될 때까지 다듬게, 안전선까지 붙이기
▸ Phase 5 · RAG 임베딩 · 검색 증강 파이프라인
▸ Phase 6 · MCP & A2A MCP 클라이언트 · 서버 · A2A
▸ Phase 7 · Harness & 운영 Cost Guardrail · Observability · LLM Ops
Day 19 Day 19. Harness 엔지니어링 — 수동 가드에서 선언적 설정으로하드코딩한 AI 에이전트 안전장치를 설정 파일로 빼고 품질 자동평가까지 Day 20 Day 20: Cost Guardrail — 비용 폭주를 막는 세 겹의 방어선호출 제한과 캐싱으로 AI 비용 폭주를 막는 세 겹 방어선 Day 21 Day 21. Agent Client + Agent Bench — 수동에서 선언적으로에이전트 설정을 YAML 한 장으로 선언하고 배포 전 자동 검증하기 Day 22 Day 22. Observability 실전 — Micrometer · 감사 로그 · PII 마스킹토큰 사용량을 영속 메트릭으로 쌓고 감사 로그에 개인정보 가리기 Day 23 Day 23. LLM Ops & 마무리 — 운영 생태계 · 2.0 전환 · 전체 회고완성한 AI 앱을 실서비스로 운영하고 최신 버전으로 옮기기 Day 24 Day 24. Spring AI 2.0 마이그레이션 실전기존 코드를 새 버전으로 직접 옮기고 테스트 통과시키기