Core Engine 설계 및 성능 평가 과정

kiwi_jelly·2026년 5월 24일

졸프

목록 보기
4/4

1. 프로젝트 소개

UniON은 대학생 프로젝트 및 공모전 팀 구성을 지원하기 위한 AI 기반 팀 매칭 서비스이다.

기존 팀원 모집 방식은 커뮤니티 게시글이나 지인 네트워크에 의존하는 경우가 많아, 지원자의 실제 경험이나 협업 성향을 파악하기 어렵다는 문제가 존재했다.

이를 해결하기 위해 단순 기술 스택 비교가 아니라, 사용자의 프로젝트 경험과 문제 해결 경험, 협업 성향을 함께 고려하는 AI 추천 시스템을 설계하였다.

이번 글에서는 UniON의 AI 추천 엔진이 어떤 방식으로 동작하는지와, 추천 결과를 어떻게 평가했는지에 대해 정리한다.


2. AI Core Engine 구조

추천 과정은 크게 다음 4단계로 구성하였다.

  1. 공고 정보 추출
  2. 포트폴리오 경험 추출
  3. 벡터화(Embedding)
  4. 최종 매칭 점수 계산

Step 1. 공고 정보 구조화

팀장이 작성한 모집 글은 일반 텍스트 형태이다.

예:

디자인 시스템을 구축해본 경험이 있는 디자이너를 찾습니다.

사용자 경험 개선 과정에서 발생한 문제를 해결해본 경험이 있으면 좋겠습니다.

하지만 AI가 바로 이해하기는 어렵다.

따라서 LLM을 이용해 아래와 같이 구조화하였다.

{
    "task_items": [
        "디자인 시스템 구축 경험"
    ],
    "trouble_items": [
        "사용성 문제 해결 경험"
    ],
    "prefer_domain_exp": true
}

task는 요구 업무 경험을 의미하고,

trouble은 문제 해결 경험을 의미한다.


Step 2. 포트폴리오 경험 추출

포트폴리오는 STAR 구조를 사용하였다.

  • Situation : 프로젝트 배경
  • Task : 목표 및 과제
  • Action : 실제 수행 행동
  • Result : 결과

특히 다음 부분을 사용하였다.

T(Task)
→ 수행 업무 경험 추출

A(Action)
→ 수행 업무 + 문제 해결 경험 추출

예:

초기 렌더링 속도 저하 문제를 해결하기 위해
코드 스플리팅과 lazy loading을 적용하였다.

추출 결과:

{
    "task":[
        "코드 스플리팅 적용",
        "lazy loading 적용"
    ],

    "trouble":[
        "렌더링 속도 저하 문제 해결"
    ]
}

Step 3. 벡터화

구조화된 task와 trouble을 OpenAI Embedding 모델을 사용하여 벡터로 변환하였다.

사용 모델:

  • text-embedding-3-large

생성된 벡터는 PostgreSQL + pgvector에 저장하였다.


Step 4. 최종 매칭 점수 계산

최종 점수는 다음 요소를 함께 고려하였다.

Domain Score

동일 도메인 경험 여부

  • domain: +3
  • prefer: +1

Task Score

업무 경험 유사도

  • base: 0
  • similarity bonus: +2~5

Trouble Score

문제 해결 경험 유사도

  • base: +2
  • similarity bonus: +2~5

문제 해결 경험을 중요하게 보기 위해 task보다 높은 기본 점수를 부여하였다.


Personality Score

협업 성향 적합도

최대 +5점

  • 대면/비대면 선호
  • 빠른 피드백
  • 의사결정 방식 등

6가지 항목에 관해 원래 팀 문화와 유사한 정도에 따라 점수를 부여하였다.


3. 성능 평가 방법

기존 추천 시스템은 Precision@K, Recall@K, NDCG@K 등을 많이 사용한다.

하지만 UniON은 초기 서비스로서 과거 사용자 행동 데이터가 존재하지 않았다.

따라서 다른 평가 방법을 사용하였다.


1) 사용자 기반 정성 평가

실제 사용자가 모집 글을 작성하도록 하였다.

평가 과정:

  1. 사용자가 모집 글 작성
  2. 적합하다고 생각하는 후보 선택
  3. AI 추천 결과 생성
  4. 사용자 선택 결과와 비교

평가 요소:

일치성

사용자가 선택한 상위 후보와 AI 추천 후보가 얼마나 겹치는지 측정

만족도

추천 결과가 실제로 원하는 팀원과 얼마나 잘 맞는지 평가


2) 구조적 지표 평가

Coverage

전체 사용자 중 실제 추천에 활용된 비율

Coverage =
추천된 사용자 수 / 전체 사용자 수

Coverage가 낮을 경우 일부 사용자만 반복적으로 추천되는 문제가 발생할 수 있다.


Exposure Distribution

추천 편중 여부 확인

측정 지표:

  • Average Exposure
  • Max Exposure
  • Exposure Std

이를 통해 특정 사용자가 과도하게 추천되는지 확인하였다.

예:

MetricValue
Average2.63
Max Exposure12
Exposure Std2.22

분석 결과 일부 사용자에게 추천이 집중되는 현상이 확인되었다.


4. 개선 방향

실험 과정에서 일부 사용자가 반복적으로 상위 추천되는 현상이 나타났다.

향후에는 다음과 같은 개선을 진행할 계획이다.

  • 추천 노출 편중 완화
  • Re-ranking 적용
  • 사용자별 선호 가중치 반영
  • 다양한 유사도 metric 비교 실험

마무리

UniON의 추천 시스템은 단순히 기술 스택을 비교하는 것이 아니라, 프로젝트 경험과 문제 해결 경험, 협업 방식까지 함께 고려하도록 설계하였다.

앞으로는 추천 정확도뿐 아니라 추천의 다양성과 공정성까지 함께 개선하는 방향으로 발전시키고자 한다.

profile
In lapidem

0개의 댓글