기업용 GenAI에 Java 활용: Python이 AI/ML에 선호되지만, 기업 환경에서는 Java가 지배적입니다. Spring AI는 최신 Google Gemini 모델을 지원하며, 기존 스택 변경 없이 Java로 GenAI 애플리케이션을 구축할 수 있게 합니다. ☕️
실용적인 접근 강조: 본 세션은 GenAI의 미래 가능성보다는 기업에서 '오늘' 당장 적용할 수 있는 실용적인 측면에 중점을 둡니다. 💡
워크플로우 vs. 에이전트: 워크플로우는 미리 정의된 코드 경로를 따르는 예측 가능한 실행을 의미하며 ⚙️, 에이전트는 LLM이 자체 프로세스와 도구 사용을 동적으로, 자율적으로 제어하는 시스템입니다. 🤖
에이전트 발전 단계 및 현실 적용: LLM API는 명확한 작업에 적합하며 가장 성숙합니다. ✅ 정적 에이전트는 LLM과 RAG를 결합하여 많은 프로덕션 앱에 이상적입니다. 🎯 동적 에이전트는 비결정적 행동의 위험보다 동적 의사 결정의 이점이 큰 특정 문제에 선별적으로 사용해야 하며 ⚠️, 혼합 에이전트는 아직 개발 중입니다. 🚧
에이전트의 핵심 역량: 복잡한 작업을 계획하고 분해하는 능력, 특정 기능을 수행하는 도구 활용, 결과물을 지속적으로 평가하는 반성, 그리고 미래의 다중 에이전트 협업을 포함합니다. 🧠
함수/도구 호출 메커니즘: 사용자의 질문에 따라 LLM이 미리 정의된 함수를 호출할지 결정하고, 애플리케이션이 해당 함수를 실행하여 얻은 결과를 LLM에 다시 전달하여 최종 답변을 생성합니다. 📞
웹 검색 도구 활용: LLM의 지식 차단 날짜(cutoff date) 한계를 극복하기 위해 웹 검색을 에이전트의 도구로 통합하여 최신 정보를 제공할 수 있습니다. 🌐
검색 증강 생성(RAG)의 중요성: LLM이 기업의 사적이고 시기적절한 데이터에 접근할 수 없다는 문제를 해결하며, 정확도 향상, 환각 감소, 설명 가능성 증대 이점을 제공합니다. 🏢
RAG 작동 방식: 문서를 청크로 분할하고 임베딩 모델로 벡터화하여 벡터 데이터베이스에 저장(주입). 사용자 질문도 벡터화하여 유사한 청크를 검색하고, 검색된 청크와 질문을 LLM에 전달하여 답변을 생성합니다. 📚
청킹 방식의 중요성: 데이터를 청크로 분할하는 방식이 RAG의 효율성과 정확성에 결정적인 영향을 미칩니다. ✂️