[마음지기 캡스톤 개발일지 #7] 합성 데이터(v5) 생성 최적화와 프론트엔드 연동
· 약 2분

4월 7일은 팀원이 구축한 프론트엔드(mental-health) 코드를 로컬 환경에서 실행해 보며 통합을 시도한 날이자, AI를 활용해 부족한 상담 데이터를 6만 건이나 새롭게 '합성(Synthesis)'해내는 거대한 스크립트를 가동한 날입니다.
부족한 데이터를 채워라: AI 합성 데이터(v5) 생성
- 문제: 기존에 정제한 데이터(v4)만으로는 특정 감정이나 세밀한 상담 시나리오가 부족했습니다. 이를 해결하기 위해 Claude API를 사용하여 Llama 3.1 훈련 포맷(System, User, Assistant)에 맞는 가상의 고품질 상담 대화를 6만 건 생성하고자 했습니다.
- 과정:
"Claude가 자체적으로 만든 v5의 데이터셋을 만들고자 합니다. 계획을 세워주세요." "저는 jsonl 포맷(system, user, assistant)에 맞게 Claude가 생성해 주는 6만 건의 데이터셋을 구하고 싶습니다."
- 결과:
v5_plan.md를 세우고 데이터를 생성하기 시작했습니다. 하지만 이내 API 호출 비용이 또다시 발목을 잡았습니다.
끝나지 않는 비용과의 전쟁: 프롬프트 최적화
- 문제: 데이터 6만 건을 AI에게 창작시키려다 보니 며칠 전 겪었던 비용 문제가 재현되었습니다. 스크립트 실행 도중 크레딧 10달러가 순식간에 증발했습니다.
- 과정:
"step8_generate_v5_optimized.py 이대로 진행하면 토큰 사용량이 줄어드나요?" "현재 크레딧의 $10를 소비했는데 저 정도 progress 진행 중입니다."
- 결과: AI에게 비용을 절감할 수 있는 프롬프트 엔지니어링과 코드 최적화(
step8_generate_v5_optimized.py)를 지시하여 출력 토큰의 낭비를 막고, 생성 진행률을 안전하게 저장하는 로직을 추가했습니다.
팀원의 프론트엔드 코드 인수인계 및 실행
- 과정:
"이 프로젝트는 팀 동료가 만든 프로젝트로 제가 실행하려면 어떻게 해야 하나요?" "4번 DB 마이그레이션 중 오류 발생..." "6단계 frontend까지 실행 완료. 종료 방법과 다시 실행 시 간단한 절차를 알려주세요."
- 결과: 팀원이 작성해 둔
mental-health리포지토리를 넘겨받아 로컬에서 실행하고 DB 마이그레이션 오류를 해결했습니다. 이제 백엔드 AI 모델과 프론트엔드가 만날 준비가 되었습니다.

오늘은 데이터 전처리를 넘어, AI가 AI를 학습시킬 교과서(데이터)를 직접 집필하게 만드는(Synthetic Data Generation) 최신 딥러닝 트렌드를 직접 구현해 본 뜻깊은 날이었습니다. 쏟아지는 과금의 공포 속에서 최적화를 이뤄내고, 프론트엔드 서버까지 무사히 띄워낸 하루였습니다!
