프로젝트5(2026-10-26)
TrueFit — PC견적을 짜주는 서비스.
github.com/SKNETWORKS-FAMILY-AICAMP/SKN32-FINAL-4TEAM ·
개요
기간 : 2026년 8월 28일 ~ 10월 26일 (중간 발표 9월 15일)
인원 : 5명
역할 : LLM 채팅 고도화 (결과 화면 채팅, 조건 대화, 주변기기 채팅). 초반에는 리뷰 신호(삭제된 기능)
기여도 : 결과 화면 채팅은 처음 만들고 끝까지 맡음. 지금 코드 기준(git blame)으로 결과 채팅 에이전트 1,258줄 중 1,040줄, 채팅 계산 모듈 1,075줄 중 917줄, 채팅 평가 스크립트 570줄 중 568줄
스택 : FastAPI · PostgreSQL 16 + pgvector · Strands Agents · OpenAI gpt-6-luna · text-embedding-3-small · React · Docker Compose · AWS EC2 + RDS
말로 용도와 예산을 받아 PC 부품 8종 구성을 추천하고 호환과 예산을 검사함. 받은 견적 점검, 주변기기 추천, 커뮤니티도 있음. 호환 판정, 점수, 금액은 코드가 정하고 LLM은 문장을 조건으로 바꾸고 설명을 쓰는 데만 씀.
담당 - 결과 화면 채팅
추천이 나온 뒤 "쿨러 빼줘", "20만원 줄여줘", "이 구성으로 배그 돼?"처럼 말하면 구성을 바꾸거나 답하는 채팅.
묻는 말과 바꾸라는 말을 나눔. 부품을 바꾸는 도구는 바꾸라는 말에서만 열리고, 묻는 말에는 남은 예산, 절약 조합, 호환 점검, 게임 사양을 코드로 계산한 결과로 답함.
답에 도구 결과에 없던 숫자가 나오면 모델 문장을 버리고 코드가 만든 문장을 냄. 다른 언어 글자가 섞이거나 내부 id가 보일 때도 같음.
"왜 이 CPU야?"에는 추천할 때의 점수 근거로 답함. 후보 중 순위, 점수 비중, 리뷰 항목별 긍정·부정 수.
"20만원 줄여줘"는 성능을 가장 적게 잃는 조합으로, "CPU는 그대로 두고"처럼 묶은 부품은 건드리지 않음. "원래대로 되돌려줘"는 처음 추천한 부품으로 되돌림.
사용자가 할 만한 질문으로 평가 스크립트를 만들어 고칠 때마다 실제 모델로 다시 돌림. 기본 44문항, 실패 사례와 잘못된 전제 20문항, 여러 턴 시나리오 6개.
그 밖에 맡은 것
조건 대화 : 첫 말에서 용도, 예산, 우선순위를 채우는 에이전트. 연달아 보낸 메시지를 순서대로 처리하고, 단위 없이 "100"만 치면 100만 원으로 받고, 바꾼 조건이 없으면 바꿨다고 답하지 않게 함.
주변기기 채팅 : 결과 화면에서 하는 말(빼기, 조건 취소, 더 싸게, 처음부터)과 대화 저장·복원.
견적 기록 : 견적이 어떻게 정해졌는지 단계로 보여 주는 히스토리("이렇게 정해졌어요").
성과
본인 평가 (10월 19일, 실제 모델 1회) : 기본 44/44, 실패 사례·잘못된 전제 19/20, 여러 턴 시나리오 26/27. 구성표를 잘못 바꾼 답 0건, 응답 p95 4.3~4.9초.
QA에서 나온 문제 : "원래대로 되돌려줘" 0/6에서 6/6, 뺀 부품을 바꿔 달라는 말에 빼 둔 상태라고 알리는 것 0/2에서 9/9.
팀 평가 (테스트와 평가, 10월 20일, 같은 입력 20회) : 결과 대화 115/120, 조건 대화 160/160. 적대적 입력에서 기준 위반 0, LLM 장애 11가지를 넣어도 서비스가 멈추지 않음.
최종 시나리오
"배그 할 거고 150만 원"이라고 말하면 조건 대화가 용도와 예산을 채움.
엔진이 8종 부품 구성을 고르고 호환과 예산을 검사함.
결과 화면 채팅에서 "쿨러 빼줘"처럼 이어 말하며 구성을 고침.
주변기기까지 장바구니에 담아 확정하면 리포트가 만들어짐.
결과 화면

결과 화면 채팅 — 묻는 말("이 구성으로 배그 돼?")에는 구성을 그대로 두고 계산한 사양으로 답하고, 바꾸라는 말("쿨러 빼줘")에서만 구성이 바뀜(오른쪽 쿨러 '제외됨', 사용 금액 1,330,298원 → 1,308,708원). 화면은 프론트 담당이 만들었고, 답과 구성 변경이 담당 부분. 제출본(10월 22일)을 로컬에서 띄워 찍음.
팀 repo 기록에는 없는 2주
9월 3일~10일 기획이 세 번 변경됨(B2B 부품 협상 → 제조업 · Odoo 연동 → B2C 목적성 구매). 그 기간 동안은 포크에서 만든 프로토타입 — 협상 에이전트, 그리고 제조사 스펙 주장을 리뷰로 대조하는 견적 엔진(커밋 74건 · 결정 기록 9건) — 은 9월 9일 팀 develop 에 병합됐지만, 9월 10일 팀 코드베이스가 새 골격으로 다시 세워지면서 이어지지 않음. 해당 부분은 포크의 보관 태그로 남겼고 조직 저장소에는 없음 — 위 기여도에 넣지 않음.