λ„μ„œ πŸ“š/πŸ§‘‍🏫 μ„œν‰

[μ„œν‰/리뷰 #9] <이것이 Spring AIλ‹€>

dev_writer 2025. 9. 27. 18:46

ν•œλΉ›λ―Έλ””μ–΄ μ„œν‰λ‹¨ <λ‚˜λŠ”λ¦¬λ·°μ–΄λ‹€> ν™œλ™μ„ μœ„ν•΄μ„œ 책을 ν˜‘μ°¬ λ°›μ•„ μž‘μ„±λœ μ„œν‰μž…λ‹ˆλ‹€.

 

μ•ˆλ…•ν•˜μ„Έμš” dev_writerμž…λ‹ˆλ‹€. μ΄λ²ˆμ—λŠ” ν•œλΉ›λ―Έλ””μ–΄ μ„œν‰λ‹¨ ν™œλ™μœΌλ‘œ 받은 <이것이 Spring AIλ‹€>에 λŒ€ν•΄ 리뷰해 λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

책을 μ‹ μ²­ν•œ 이유

μ €λŠ” μ·¨μ—… μ „에 Spring AI에 μ—¬λŸ¬ λ²ˆ μ»¨νŠΈλ¦¬λ·°μ…˜μ„ ν–ˆκ³ , λŒ€ν•™κ΅ μ‘Έμ—… ν”„λ‘œμ νŠΈμ—μ„œλ„ Spring AIλ₯Ό ν™œμš©ν•΄ μƒμ„ λ°›μ€ κ²½ν—˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. λ˜ ν•œκ΅­ μŠ€ν”„λ§ μ‚¬μš©μž λͺ¨μž„μ—μ„œ μΉ΄μΉ΄μ˜€ ν˜„μ§μžλΆ„μ˜ Spring AI λ°œν‘œλ₯Ό μ§μ ‘ λ“€μ€ μ λ„ μžˆκ³ , μ΅œκ·Όμ—λŠ” κ³΅μ‹ λ¬Έμ„œλ₯Ό λ²ˆμ—­ν•΄μ„œ λΈ”λ‘œκ·Έμ— μ˜¬λ¦¬κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŸ° κ²½ν—˜λ“€μ΄ μžˆμ–΄μ„œ, μ΄λ²ˆμ— κ΅­λ‚΄μ—μ„œ μ²˜μŒμœΌλ‘œ Spring AI κ΄€λ ¨ μ±…이 μΆœκ°„λœλ‹€λŠ” μ†Œμ‹μ„ λ“£μžλ§ˆμž κΌ­ μ½μ–΄λ³΄κ³  μ‹Άλ‹€λŠ” μƒκ°μ΄ λ“€μ—ˆμŠ΅λ‹ˆλ‹€.

 

λͺ©μ°¨

λͺ©μ°¨λŠ” λ‹€μŒκ³Ό 같이 κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

  • Spring AI μ‹œμž‘
  • ν…μŠ€νŠΈ λŒ€ν™”
  • ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§
  • κ΅¬μ‘°ν™”λœ 좜λ ₯
  • μŒμ„± λŒ€ν™”
  • λΉ„μ „ 및 이미지 생성
  • λͺ¨λΈ μ „•ν›„μ²˜λ¦¬ μ–΄λ“œλ°”μ΄μ €
  • μž„λ² λ”©κ³Ό 벑터 μ €μž₯μ†Œ
  • λŒ€ν™” κΈ°μ–΅
  • λ¬Έμ„œ 검색 기반 λ‹΅λ³€, RAG
  • 도ꡬ 호좜
  • MCP, μ™ΈλΆ€ 도ꡬ
  • 뢀둝

μ‹€μŠ΅μ„ ν†΅ν•œ μ„€λͺ…

<이것이 Spring AIλ‹€>λŠ” μ‹€μ œ ChatGPT와 μœ μ‚¬ν•œ μ›Ή LLM μ„œλΉ„μŠ€λ₯Ό λ§Œλ“€μ–΄λ³΄λ©΄μ„œ 각 κ°œλ…μ„ μ„€λͺ…ν•˜λŠ” λ°©μ‹μœΌλ‘œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€. μ‹€μ œ ChatGPTλ₯Ό μ΄μš©ν•˜λ©΄μ„œ "이 κΈ°λŠ₯은 μ–΄λ–»κ²Œ λ§Œλ“€μ–΄λ³Ό 수 μžˆλŠ” κ²ƒμΌκΉŒ?"λ₯Ό κ³ λ―Όν•˜μ‹  적이 μžˆμœΌμ‹€ ν…λ°μš”, μ˜ˆμ‹œλ‘œ "Chapter 06. λΉ„μ „ 및 이미지 생성" νŒŒνŠΈμ—μ„œλŠ” μ•„λž˜μ²˜λŸΌ μ‹€μ œ μ½”λ“œλ₯Ό μ μš©ν–ˆμ„ λ•Œμ˜ λͺ¨μŠ΅μ„ 미리 λ³΄μ—¬μ€λ‹ˆλ‹€.

주석과 ν•¨κ»˜ μž‘μ„±λœ μ½”λ“œ 제곡

보톡 μ½”λ“œκ°€ λ“€μ–΄μžˆλŠ” μ±…λ“€μ˜ 경우, 주석이 μΆ©λΆ„ν•˜μ§€ μ•Šμ•„ μ΄ν•΄ν•˜λŠ” 데 어렀움이 μžˆλŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€. 그에 λΉ„ν•΄ <이것이 Spring AIλ‹€>μ—μ„œλŠ” 각 μ½”λ“œλ§ˆλ‹€ κ·Έ 의미λ₯Ό 담은 주석을 ν•¨κ»˜ μ œκ³΅ν•˜κ³  μžˆμ–΄ μ΄ν•΄ν•˜λŠ” 데 도움을 μ£Όκ³  μžˆμŠ΅λ‹ˆλ‹€. μ˜ˆμ‹œλ‘œ "Chapter 08. μž„λ² λ”©κ³Ό 벑터 μ €μž₯μ†Œ"μ—μ„œλŠ” μ–Όκ΅΄ 인식에 λŒ€ν•œ μ½”λ“œκ°€ μ œκ³΅λ˜λŠ”λ°, μ΄λ•Œ 주석을 톡해 흐름을 μ‰½κ²Œ μ΄ν•΄ν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

μΆ©μ‹€ν•œ ν•™μŠ΅ 자료

μ €μž 뢄이 <이것이 μžλ°”λ‹€>둜 유λͺ…ν•˜μ‹  μ‹ μš©κΆŒ λ‹˜μ΄μ‹œλ‹€ λ³΄λ‹ˆ, 예제 μ†ŒμŠ€ 말고도 λ…μž QnA 채널을 톡해 Spring AI에 λŒ€ν•œ μ§ˆμ˜μ‘λ‹΅μ„ μΆ”κ°€λ‘œ ν•  수 μžˆλ‹€λŠ” 것도 νŠΉμ§•μž…λ‹ˆλ‹€. λ‚˜λ¦„ 신생 기술이라 Spring AI에 λŒ€ν•΄ ꢁ금증이 μžˆμŒμ—λ„ κ΅­λ‚΄μ—μ„œλŠ” μ§ˆμ˜μ‘λ‹΅μ„ μ–»κΈ° μ–΄λ €μ› λŠ”λ°, 카페λ₯Ό 톡해 μ§ˆμ˜μ‘λ‹΅μ„ ν•  수 μžˆλ‹€λŠ” 것은 쒋은 점 κ°™μŠ΅λ‹ˆλ‹€.

 

<이것이 Spring AIλ‹€>λŠ” 예제 μ†ŒμŠ€μ™€ λ…μž QnA 채널을 μ•„λž˜ 링크에 μ—΄μ–΄λ‘μ—ˆμŠ΅λ‹ˆλ‹€.

총평 / μΆ”μ²œ λŒ€μƒ

ChatGPT, Claude, Gemini, Grok λ“± λ‹€μ–‘ν•œ LLM μ„œλΉ„μŠ€κ°€ λ³΄νŽΈν™”λ˜λ©΄μ„œ, 이제 μ„œλΉ„μŠ€μ— AI κΈ°λŠ₯을 νƒ‘μž¬ν•˜λŠ” 일은 과거보닀 훨씬 μˆ˜μ›”ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‹€μ œ ν˜„μž₯μ—μ„œλŠ” μ±„νŒ… ν˜ΈμΆœμ΄λ‚˜ 이미지 질의처럼 λ‹¨μˆœν•œ κΈ°λŠ₯에 κ·ΈμΉ˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.

 

<이것이 Spring AIλ‹€>λŠ” μ΄λŸ¬ν•œ μƒν™©μ—μ„œ Spring AI의 핡심을 μ΄ν•΄ν•˜κ³  원리λ₯Ό μ²΄κ³„μ μœΌλ‘œ 읡힐 수 μžˆλ„λ‘ λ•λŠ” μ±…μž…λ‹ˆλ‹€. 2025λ…„ 9μ›” κΈ°μ€€ Spring AI 곡식 λ¬Έμ„œμ˜ μ£Όμš” λ‚΄μš©μ„ μΆ©μ‹€νžˆ λ°˜μ˜ν•˜κ³  있으며, 예제λ₯Ό 직접 κ΅¬ν˜„ν•˜λŠ” 과정을 톡해 λ…μžκ°€ μžμ—°μŠ€λŸ½κ²Œ ν•™μŠ΅ν•  수 μžˆλ„λ‘ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

 

특히 ChatModel, OutputConverter와 같은 κΈ°λ³Έ κΈ°λŠ₯은 λ¬Όλ‘ , ETLμ΄λ‚˜ 도ꡬ 호좜처럼 λ‹€μ†Œ μƒμ†Œν•  수 μžˆλŠ” μ£Όμ œκΉŒμ§€ 닀루고 μžˆμ–΄ Spring AIκ°€ μ•žμœΌλ‘œ λ°œμ „μ„ κ±°λ“­ν•˜λ”λΌλ„ 기본을 μ΄ν•΄ν•˜κ³  μ‘μš©ν•  수 μžˆλŠ” νŠΌνŠΌν•œ κΈ°λ°˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

 

λ”°λΌμ„œ <이것이 Spring AIλ‹€>λŠ” μ‚¬μ΄λ“œ ν”„λ‘œμ νŠΈλ‘œ LLM을 κ²°ν•©ν•œ μ„œλΉ„μŠ€λ₯Ό λ§Œλ“€μ–΄λ³΄κ³  μ‹Άκ±°λ‚˜, 경쟁λ ₯ μžˆλŠ” AI ν™œμš© μ—­λŸ‰μ„ μŒ“κ³ μž ν•˜λŠ” κ°œλ°œμžμ—κ²Œ λ“ λ“ ν•œ κΈΈμž‘μ΄κ°€ 될 κ²ƒμž…λ‹ˆλ‹€.

Etc

μΆ”κ°€ ν•™μŠ΅ 자료

Spring AI λ©”μΈν…Œμ΄λ„ˆ 쀑 ν•œ 뢄이신 Christian Tzolov κ»˜μ„œ Spring AI둜 AI μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“œλŠ” 방법에 κ΄€ν•΄ λ°œν‘œν•˜μ‹  적이 μžˆμŠ΅λ‹ˆλ‹€. Spring AIλ₯Ό μΆ”κ°€μ μœΌλ‘œ 더 κ³΅λΆ€ν•˜κ³  μ‹ΆμœΌμ‹  뢄듀은 ν•΄λ‹Ή μ˜μƒμ„ μ°Έκ³ ν•˜μ‹œλ©΄ 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€.

 

λ˜ν•œ, μ œκ°€ Spring AIλ₯Ό μ•Œ 수 μžˆλ„λ‘ ν•΄ μ£Όμ‹  Dan Vega의 μ˜μƒλ„ 퀄리티가 μ’‹μœΌλ‹ˆ ν•¨κ»˜ λ³΄μ‹œλ©΄ 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€.

Kotlin 지원

μ±…μ—μ„œλŠ” μ•„λ¬΄λž˜λ„ 곡식 λ¬Έμ„œλ„ μžλ°” 기반으둜 λ˜μ–΄ 있기 λ•Œλ¬Έμ— λΉ λ₯Έ 이해λ₯Ό μœ„ν•΄ μžλ°”λ‘œ μ˜ˆμ‹œ ν”„λ‘œμ νŠΈλ₯Ό μž‘μ„±ν•΄ μ£Όμ…¨μ§€λ§Œ, Spring AIλŠ” μ½”ν‹€λ¦°μœΌλ‘œλ„ 개발이 κ°€λŠ₯ν•©λ‹ˆλ‹€. 이 점을 μ°Έκ³ ν•˜μ‹œλ©΄ μ½”ν‹€λ¦° μŠ€ν”„λ§μ„ μ‚¬μš©ν•˜μ‹œλŠ” 뢄듀도 LLM μ„œλΉ„μŠ€λ₯Ό λ§Œλ“œμ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€!