[커널아카데미] 백엔드 12기 17주차 - 토이프로젝트4

jh5959·2025년 7월 19일

토이프로젝트4

주제: 부동산 생애 맞춤형 매물 및 대출 상품 추천 시스템 1. 개요

  • 시스템명: 부동산 추천 챗봇 시스템 (직방 B2B 연동형)
  • 목표: 사용자의 프로파일(소득, 결혼 여부, 자녀 유무 등)에 기반한 매물 추천 챗봇 구축
  • 도입배경: 직방 B2B 제휴사 혹은 직방 내 상담사 업무 효율을 높이기 위한 AI 기반 자동 상담 기능 제공

랭체인

RAG란

Retrieval: 검색, 질문에 맞는 관련 정보를 외부에서 찾아옴
Augmented: 보강된, 강화된 , 추가 정보를 덧붙여서 LLM에게 더 잘 답변하게 해줌
Generation: 생성, LLM이 최종적으로 답변을 만들어냄
LLM은 내부 정보나 최신 정보를 알지 못하며 모를 때는 모른다고 말하지 않고 헛소리를 한다. 이를 방지하기 위해 LLM이 모르는 정보(내부정보, 최신정보 등)을 벡터디비에 저장하여 사용자의 질문이 들어오면 관련 내용을 검색하여 LLM이 참고하도록 보강한다
보강된 정보로 정확한 답변을 생성하는 기술이 RAG다.

RAG 흐름 이해하기

  • 사전 작업 4단계(비정형 데이터를 임베딩하여 벡터DB에 저장하는 단계 - 데이터 준비)
    1. 문서 로드: pdf등 문서를 로드한다(비정형 데이터)
    2. 텍스트 분할: 문서를 청크사이즈의 단락으로 나누되 오버랩을 설정하여 문맥 단절을 최소화한다
    3. 임베딩: 청크 단락들을 임베딩한다
    4. 벡터DB에 저장: 임베딩된 벡터와 함께 메타데이터(문서명,페이지,문단번호 등)와 고유 ID를 DB에 저장한다
  • 후반 작업 4단계(쿼리 처리)
    5. 사용자의 질문인 텍스트를 임베딩하여 벡터화한다
    6. 검색기를 이용하여 벡터DB에 저장된 벡타데이터와 사용자 질문 벡터데이터와 유사도 검색을 한다
    7 유사도 검색하여 관련높은 단락들을 모아 프롬프트의 문맥으로 빌드한다(이때 단락의 개수는 지정할 수 있음)
    8. 지시사항 + 문맥 + 사용자의 질문(passthrough한 질문)을 프롬프트로 합쳐 LLM에게 전달한다

회고

팀별회고

팀원 모두가 자기 일처럼 적극적으로 나서준 덕분에 프로젝트의 방향을 빠르게 잡을 수 있었습니다. 특히 파이썬 버전 문제나 라이브러리 설치 에러로 막혀있을 때 먼저 다가와 함께 고민해주고 해결해 준 팀원들 덕분에 큰 힘을 얻었습니다. 서로 모르는 것을 편하게 물어보고 함께 알아가는 분위기 속에서 RAG나 에이전트 같은 어려운 AI 개념도 팀 전체가 같이 성장하며 배울 수 있었습니다. 개인적으로 AI 기술 스택에 대한 경험이 부족하다 보니 프로젝트 초반에 팀의 기술적인 논의에 깊이 참여하지 못하고 수동적으로 따라가는 데 그친 것 같아 아쉬움이 큽니다. 다른 팀원들이 적극적으로 의견을 낼 때 저는 개념을 이해하는 데 급급하여 서비스의 큰 그림에 대한 제 생각을 자신 있게 이야기하지 못했습니다. 팀에 더 기여할 수 있었는데 그러지 못한 것 같습니다.다음 주에는 개인적으로 더 깊이 집중하는 시간을 갖겠습니다. 데일리 스크럼 내용을 바탕으로 제가 오늘 완수해야 할 가장 중요한 일이 무엇인지 명확히 설정하고 다른 것에 방해받지 않고 그 목표에 집중하는 시간을 확보하겠습니다. 혼자 고민하는 시간을 정해두고 깊게 파고들되 해결이 어려울 땐 바로 팀원들에게 다가가 질문하며 효율적으로 문제를 해결해 나가겠습니다.

모두가 자발적으로 역할을 맡고, 책임감 있게 움직였다는 점이 가장 인상 깊었습니다. 기술적으로 부족한 부분이 있어도 함께 채워나가는 분위기 덕분에 끝까지 몰입할 수 있었습니다. 특히 백엔드 구조나 API 설계 등 실무에 가까운 과정을 팀 단위로 경험해 볼 수 있어 매우 뜻깊었습니다.프로젝트 초반에 AI 관련 개념(예: 임베딩, RAG, LLM 등)에 대한 사전 학습이 충분하지 않아 구현 단계에 실질적인 기여가 늦어졌다는 점이 개인적으로 아쉬움으로 남습니다.다음 주 부터는 학습과 실습에 훨씬 더 많은 시간을 쏟아 반드시 팀에 더 많은 기여를 해 프로젝트 퀄리티를 높일 수 있도록 다짐해 보겠습니다

KPT

이번에 랭체인을 공부하게 되었는데 이전까지 한 번도 접해보지 않은 분야라 더욱 흥미를 느끼며 학습할 수 있었습니다. 새로운 기술을 실제 프로젝트로 구현해보는 과정 자체가 굉장히 흥미로웠습니다. 무엇보다 팀원 분들 모두가 적극적으로 참여해주시고 모르는 부분에 대해 친절하게 설명해주셔서 많이 배우고 감사한 마음이 들었습니다. 함께 고민하고 협력하는 과정이 좋은 경험이었습니다.

아무래도 이론적으로만 배운 상태에서 바로 서비스를 기획하고 구현하려다 보니 쉽지 않았습니다. 공부를 했다고는 하지만 데이터나 기술에 대한 깊은 이해가 아직 부족하다는 걸 실감했습니다. 실무 경험이 없다 보니 어떤 방식이 더 효율적인지 판단하기도 어려웠고 내가 이 프로젝트를 잘 따라가고 있는지에 대한 회의감이 들기도 했습니다. 기술적인 이해가 부족해 과연 잘 적용할 수 있을지 끝까지 따라갈 수 있을지에 대한 불안도 있었습니다.

앞으로 주말 동안 맡은 분담 작업을 마무리하고 부족했던 기술 부분에 대해 더 깊이 공부할 계획입니다. 특히 우리의 서비스에 랭체인을 어떤 방식으로 잘 녹여낼 수 있을지 고민하면서 실제 적용 가능한 형태로 이해도를 높이고 싶습니다. 또한 팀 회의에도 더 적극적으로 참여하고 의견을 나누면서 프로젝트에 더 몰입할 수 있도록 노력하겠습니다. 이번 프로젝트를 통해 단순한 기술 습득을 넘어서 AI 기술을 서비스에 적용하는 경험을 쌓고 최종적으로 완성도 있는 결과물을 만드는 것을 목표하고 싶습니다.

0개의 댓글