
2025.03.12 ~ 2025.07.11 | 교내 캡스톤 대회에서 진행한 5인 팀프로젝트입니다.
프로젝트 개요

신입 개발자의 연봉은 2,800 ~ 3,500에 웃돌고 있습니다.
위 자료의 주인공 A씨도 월 수입 250만, 연봉으로 계산시 3,000으로 책정됩니다.
이 월급 체계에는 성과금이 포함되어 있는 값인데,
이는 성과에 따라 월급이 오르내리기 때문에 사회초년생들의 재정관리를 힘들게 하는 요소 중 하나라고 판단하였습니다.
이 점에서 저희는 사회초년생의 재정관리를 쉽게 풀어나가게 해주고자, Fresh Money를 계획하였습니다.
핵심 기능
자산 증식
- 투자 추천 : 간단한 입력으로 사용자에게 가장 적합한 투자 방식을 추천해드립니다.
- 금융상품 추천 : 사용자의 재정상태에 맞게 10여개 금융사의 금융상품을 추천해드립니다.
- 지원정책 : 사용자의 지역과 재정상태에 맞는 청년지원정책을 추천해드립니다.
투자 추천 · 지원정책 추천은 신뢰도 있는 추천을 위해 RAG기법을 도입하였습니다.
자산 유지
- 신용등급 분석 : 공식 신용등급 계산법 ( KCB, NICE지키미 )을 통하여 현재 신용등급과 신용등급 관련 도움을 제공합니다.
- FM 챗봇 : 청년분들이 헷갈려하실 수 있는 자산 관련 정책 등등을 편하게 질문하실 수 있도록 챗봇을 제공합니다.
타 서비스 비교
| 타 서비스 | 타 서비스의 단점 | 보완 / 차이점 |
| 토스 ( Toss ) | 사회초년생이 궁금해할 수 있는 금융상식을 알려줄 방법이 없음 |
간단한 궁금증을 해소시켜줄 챗봇 구현 |
| 뱅크샐러드 ( BankSalad ) | 사용자 예산 소비 데이터 기반 가계부 작성으로 끝남 | 가계부 대신 재정 관리에 특화된 지원정책 추천 |
| 복지로 ( Bokjiro ) | 지원정책 검색이 끝 | 챗봇 질문에서 키워드 추출, 현 상황과 키워드를 고려한 지원정책 추천 |
타 서비스 3가지를 비교하며 Fresh Money의 기능들을 채워나갔습니다.
역할
Fresh Money에서 AI 및 AI백엔드, 배포를 담당하였습니다.
FastAPI기반 API 서빙 서버 개발 및 프롬프팅을 진행하였고, AWS EC2기반 배포 및 운영 환경을 구축하였습니다.
아키텍처

AI 서버는 왜 따로 사용하였는지
메인 백엔드인 Nest는 이 프로젝트를 진행하며 사용된 KeyBERT라는 모델을 구동하기에 불편함이 있었습니다.
TypeScript 대신 라이브러리까지 있는 파이썬을 사용하는 것이 더 효율적이라고 판단하였습니다.
KeyBERT 모델은 챗봇 구현 중 키워드 추출에 사용되었습니다.
파이썬 백엔드 프레임워크 중 FastAPI를 사용한 이유
마찬가지로, 메인 백엔드가 존재했었고 오직 API 서빙만을 필요로 했었습니다.
따라서 무겁고 설정이 많이 필요한 Django, Flask를 사용하지 않고
빠른 API 서빙을 위하여 FastAPI를 사용하였습니다.
만약 메인 백엔드가 존재하지 않았더라면 Django를 사용했을 것입니다.
트러블슈팅
AI 응답 중 422에러
OpenAI API에서 일관적인 JSON을 내보내지 못하는 상황이 있었습니다.
이는 프롬프팅 기법 중 Few-Shot 기법으로 일관적인 응답을 내보내는 데에 성공하였습니다.
배포 후 CORS 에러
HTTP 서버에서 HTTPS 클라이언트로 응답하던 중 프록시 에러로 추정되는 문제가 발생했었습니다.
EC2 서버에서 Nginx를 활용한 Reverse Proxy 설정과 Let's Encrypt를 활용한 SSL인증서를 발급받아
암호화된 응답 반환이 가능했습니다.
결과
이 프로젝트로 교내 캡스톤 은상을 수상하였습니다.
대략적인 서비스 모습은 여기에서 확인 가능합니다.
배운점 및 아쉬운점
AI
- RAG 개념을 언뜻 보긴 했지만 적용할 프로젝트가 없었는데, Fresh Money를 통하여 적용하게 되었습니다.
- 422 에러를 해결하기 위해 Few-Shot을 적용하였지만, 적용 후에도 JSON 반환이 매우 희박한 확률로 나와
다른 방법들을 모색하여 적용해야 했었습니다.
- RAG를 위하여 FAISS 라이브러리를 사용하였는데, Chroma와 같은 정통 벡터DB를 사용하지 못하여 아쉬웠습니다.
인프라 & 배포
- 인프라구조 & 배포 지식과 더불어 네트워크 지식이 매우 얕다 보니 배포 중 자잘한 실수가 많았습니다.
그 실수들 중 시간을 많이 잡아먹는 경우도 많았고, 스트레스 받는 경우도 허다하였습니다.
- 이번 프로젝트에서 경험한 실수들을 계기로 가장 아쉬웠던 서비스 배포 시간을 최대한 줄이는 노력을 해보이겠습니다.
