정적 프롬프트에서 동적 DB 기반 아키텍처로의 전환
// 거대한 하드코딩 프롬프트 (수천 글자)-> db 불러다가 사용하기
String evaluationPrompt = """
매우 긴 평가 기준들...
수많은 텍스트...
""";
1️⃣ 전체 성능 비교표
항목 직접 방식 (DIRECT_PROMPT) DB 방식 (DATABASE_QUERY) 차이
| 총 처리시간 | 9,262ms | 5,344ms | -3,918ms (-42.3%) ⚡ |
| 메모리 사용량 | 24,704,376 bytes (23.5MB) | 4,416,352 bytes (4.2MB) | -20,288,024 bytes (-82.1%) 🔥 |
| LLM 호출시간 | 9,262ms (추정) | 5,247ms | -4,015ms (-43.4%) |
| DB 조회시간 | 없음 | 96ms | +96ms |
| DB 오버헤드 | 0% | 1.8% | +1.8% |
2️⃣ 세부 성능 분석표
세부 항목 직접 방식 DB 방식 분석
| 프롬프트 크기 | 매우 큼 (하드코딩) | 동적 생성 | DB 방식이 더 효율적 |
| LLM 토큰 사용 | 많음 | 적음 | DB 방식이 57% 절약 |
| 메모리 효율성 | 낮음 | 높음 | DB 방식이 5.6배 효율적 |
| 평가 기준 개수 | 2개 고정 | 4개 동적 | DB 방식이 더 상세한 평가 |
| 유연성 | 없음 | 높음 | DB 방식이 확장 가능 |
DB 방식을 사용한 이유 및 장점
1️⃣ 성능상 이점
<aside> 💡
**`✅ 처리속도 42% 향상 (9.3초 → 5.3초)
✅ 메모리 사용량 82% 절감 (23.5MB → 4.2MB)`**
직접 방식의 메모리 부담:
🔍 메모리 사용량 차이 분석
구분 사용량 주요 원인
| 직접 방식 | 24.7MB | • 큰 하드코딩 프롬프트 문자열• LLM 응답 객체• JSON 파싱 과정 |
| DB 방식 | 4.2MB | • 작은 동적 프롬프트• DB 결과셋 캐싱• 효율적인 메모리 관리 |
✅ LLM 토큰 비용 57% 절약
</aside>
2️⃣ 확장성 및 유지보수성
<aside> 💡
`✅ 평가기준 동적 추가/수정 가능 (코드 변경 없이)
✅ 직군별, 경력별 맞춤 평가 가능 ✅ 가중치 조정 실시간 반영`
</aside>
3️⃣ 비즈니스 가치
<aside> 💡
`✅ DB 오버헤드는 단 1.8%로 무시할 수준
✅ 평가 품질 향상 (2개 → 4개 기준) ✅ 운영 효율성 대폭 개선`
</aside>
'【스터디노트】 > ▷TIL' 카테고리의 다른 글
| [1/7 체크인] (0) | 2026.01.07 |
|---|---|
| 코테 스터디 72일차 TIL + 오늘의 학습 키워드 분수찾기 (0) | 2025.12.27 |
| 코테 스터디 69일차 TIL + 오늘의 학습 키워드 거스름돈 (0) | 2025.12.16 |
| 코테 스터디 67일차 TIL + 오늘의 학습 키워드 진법 변환 (0) | 2025.11.14 |
| 코테 스터디 67일차 TIL + 오늘의 학습 키워드 2차원배열 (0) | 2025.10.21 |