뒤로
박정민
박정민 ·

동료 평가 결과 생성을 위한 생성형 AI 도입: Spring AI를 선택한 이유

안녕하세요! 저희 팀은 동료 평가를 기반으로 자신을 홍보하거나 팀원을 모집할 수 있는 플랫폼인 ‘PRism’ 서비스를 개발 중입니다. 이번 글에서는 PRism의 핵심 기능 중 하나인 동료 평가 결과 생성을 위해 생성형 AI를 도입하게 된 배경과, 그 과정에서 Spring AI를 선택한 이유, 그리고 Spring AI의 장단점에 대해 소개하려고 합니다.


1. 동료평가에 생성형 AI를 활용한 이유

기존의 동료 평가는 주로 정량적 데이터나 간단한 피드백에 의존하는 경우가 많았습니다. 하지만 팀 내에서의 협업이나 개인의 역량을 정확하게 파악하기 위해서는 보다 정교하고 심층적인 분석이 필요했습니다.
이를 위해 생성형 AI을 활용하여 동료 평가에서 얻은 텍스트 데이터를 분석하고, 이를 기반으로 사용자에게 맞춤형 피드백과 추천을 제공하고자 했습니다.

2. Spring AI를 선택한 이유

저희 팀의 백엔드 개발자는 모두 java와 Spring을 이용하여 개발을 해왔습니다. Spring진영에서 생성형 AI 도입을 위해 여러 기술 스택을 검토한 결과, Spring AI가 저희의 요구사항에 가장 부합한다고 판단했습니다.
그 주요 이유는 다음과 같습니다:

1. Spring 생태계와의 탁월한 통합성

Spring AI는 기존의 Spring 프레임워크와 자연스럽게 통합되어, 이미 Spring을 사용하고 있는 저희 팀에게 큰 장점이었습니다. 이는 개발 속도를 높이고, 유지보수를 용이하게 했습니다.

2. 개발 효율성과 확장성

Spring AI는 모듈화된 구조로 설계되어 있어, 필요에 따라 기능을 손쉽게 추가하거나 확장할 수 있었습니다. 이는 PRism의 기능이 점차 확장됨에 따라 큰 도움이 되었습니다.

3. 활발한 커뮤니티 지원

Spring은 오랜 기간 동안 많은 개발자들에 의해 사용되고 발전해 온 프레임워크입니다. 따라서 문제 발생 시 참고할 수 있는 자료가 풍부하고, 커뮤니티의 지원도 활발하여 문제 해결이 용이했습니다.

3. Spring AI의 장점

Spring AI를 사용하면 Spring 애플리케이션에 손쉽게 Generative AI를 구현할 수 있습니다. 다양한 API와의 상호작용이 가능하며, 설정하기 쉽고 동작이 원활합니다. 또한 AI Client를 통해 요청과 응답을 손쉽게 처리할 수 있으며, 결과를 자신의 필요에 맞게 가공할 수 있습니다.

4. Spring AI의 한계

Spring AI는 아직 베타 버전이기 때문에 몇몇 기능이 아직 제공되지 않을 수 있습니다. AI를 활용하여 좀 더 고도화된 기능을 개발하기 위해서는 아직 python진영의 langchain을 따라가지는 못합니다.
또한 위에서 언급한 것 처럼 아직 베타 버전이기 때문에 실 사용시 에러가 발생할 가능성도 배제할 수는 없습니다.
(실제로 저희 서비스도 spring ai의 버그로 인해 약 2시간정도 장애가 발생했었습니다..)

5. 실제 도입 과정과 경험 공유

Spring AI는 Spring안에 있는 다른 모듈틀 처럼 설정이 간편합니다. AutoConfiguration을 지원하기에 설정파일에 간단한 정보만 입력하면 바로 사용할 수 있는 수준입니다. 공식문서가 잘 되어 있어서 텍스트를 생성하는 기능도 되게 쉽게 개발할 수 있었습니다. 다만 위에서 언급드린 베타버전이기에 가지는 문제점과 아직은 Langchain의 모든 기능을 다 지원하지 못하는 점은 아쉬웠습니다.
제 개인적인 경험으로는 Spring으로 프로덕트를 개발하고 있으며, python개발을 할 리소스가 없다면, Spring AI가 최선의 선택이 되지 않을까 생각합니다.

긴 글 읽어주셔서 감사합니다!

🔥PRism 서비스 구경하러 가기(웹 환경 추천해 드립니다)

PRism 바로가기

🪐저희 팀원들의 소프트 스킬은 어떤지 궁금하신가요 ?

PRism 프로젝트 열람하기

7

댓글

로그인 후 댓글을 남길 수 있습니다.

Adam
Adam

안녕하세요! 흥미로운 서비스를 만들고 계시는 것 같아 구경했습니다. 전통적인 하향식 평가뿐 아니라, 협업관계의 동료가 해주는 수평평가, 다면평가의 중요성이 한 사람의 역량가늠에 도움이 되는 요즘 시대를 잘 반영한것 같아요. 하나 잠재적 유저로서 의견 드려보자면, (한국 사람이라 그런지) '평가'라는 단어가 주는 무게감때문에 생기는 심리적 허들이 좀 생기는것 같아요. 서비스 내에 공개목적으로 적힐 대부분의 내용은 부정보다는 긍정 내용 위주일것 같은데, (링크드인의 항목처럼) '추천', '핵심 역량', '강점', '협업 경험 공유' 같은 Positive한 인상의 용어를 쓰면 더 좋지 않을까라는 생각을 했었습니다! (편하게 의견 드려보아요)