LLM 모드 의사결정 리포트
어디살지(부동산 임차 상담 AI) · GROQ vs GPT 웹서치 OFF vs GPT 웹서치 ON(instant) · 실측 2026-06-01
TL;DR
단일 모델은 없다 — 하이브리드 라우팅이 최적. 일반 상담·추론은 GROQ(gpt-oss-120b)로 1.6초 초고속·초저가 처리하고, 시세·정책·실시간(recency) 질의만 GPT‑5.4‑mini + 웹서치 ON으로 라우팅한다. GPT 티어는 플래그십(5.5)이 아니라 5.4‑mini가 정답 — 충분히 똑똑하고 ~12× 저렴. 헥사고날 포트(2 provider + GPT 하위 웹서치 전략) 덕분에 이 라우팅이 호출부 변경 없이 1줄로 전환된다.
1. 실측 벤치마크 (3모드 × 복잡 시나리오 8 = 24콜)
| 모드 | 모델 | 평균 지연 | p95 지연 | 평균 출력토큰 | 웹서치 호출 | 출처 있는 답변 | recency 출처 |
|---|---|---|---|---|---|---|---|
| groq | gpt-oss-120b | 1,559ms | 2,490ms | 611 | 0 | 0/8 | 0/3 |
| gpt 웹서치 OFF | gpt-5.4-mini | 4,347ms | 5,937ms | 509 | 0 | 0/8 | 0/3 |
| gpt 웹서치 ON | gpt-5.4-mini | 7,743ms | 10,218ms | 748 | 10 | 6/8 | 3/3 |
8 시나리오 = recency 3(시세·금리·정책) + hallucination 1(가짜 법안 함정) + reasoning 2(다제약 추론) + domain 2(일반 상담). 전 모드 성공률 8/8.
2. 복잡 시나리오별 응답 차이 (로우데이터 발췌)
① 환각 함정 — 존재하지 않는 "청년 월세 100% 지원 특별법"
"…해당 법안에 대한 구체적인 내용이 확인되지 않아…" — 거짓 생성 회피 ✓ (단, 검증 불가)
"'청년 월세 100% 지원 특별법'이라는 발표는 확인되지 않습니다…다만 제목만 놓고 보면 보통 핵심은…" — 회피하되 추정 전개(경계)
"그 이름 그대로의 법안은 찾지 못했습니다. 대신 실재하는 '청년 월세 특별지원'은 확인됩니다…(출처)" — 실제 정부자료로 교차검증 ✓✓
세 모델 모두 환각은 피했으나, "없음"을 사실로 증명한 건 웹서치 ON뿐.
② 시세 질의 — "지금 마포구 원룸(보증금 1천) 평균 월세"
"실시간 시세는 보유/접근 불가" → KB·직방 등 안내 또는 일반 레인지(60~90만) 추정
"보증금 1,000 기준 40~70만원대가 많고…마포구청역 1,000/65, 성암로 1,000/40, 백범로 1,000/65 같은 매물이 확인됩니다 (naver land 출처)" — 실매물·실수치·출처
2-B. 전체 로우데이터 (24행, 시나리오 × 모드)
| 시나리오 | groq ms / 검색 / 출처 |
gpt OFF ms / 검색 / 출처 |
gpt ON ms / 검색 / 출처 |
|---|---|---|---|
| recency · 전세 금리 | 1,031/0/0 | 3,725/0/0 | 9,180/3/5 |
| recency · 마포 시세 | 990/0/0 | 3,238/0/0 | 4,323/1/2 |
| recency · 청년 정책 | 900/0/0 | 2,653/0/0 | 8,757/3/4 |
| 환각 함정 (가짜 법안) | 661/0/0 | 2,873/0/0 | 5,008/1/3 |
| 추론 · 다제약(2호선·반려묘·신축) | 2,490/0/0 | 5,243/0/0 | 8,343/1/5 |
| 추론 · 트레이드오프(강남·중형견) | 2,193/0/0 | 5,937/0/0 | 9,332/1/10 |
| 상담 · 계약 체크리스트 | 2,058/0/0 | 5,730/0/0 | 6,782/0/0 |
| 상담 · 동네 결 매칭 | 2,151/0/0 | 5,380/0/0 | 10,218/0/0 |
읽는 법: 지연ms / 웹서치 호출수 / 출처수. groq는 전 시나리오 최속이나 검색·출처 항상 0. gpt ON은 recency·환각·추론에서 검색이 붙고(출처 최대 10), 상담 2건은 검색 0(=OFF와 동일 결과인데 더 느림 → 무조건 ON은 낭비).
2-C. 모드별 상세 장단점
GROQ · gpt-oss-120b
장점
- 압도적 속도 — 0.66~2.5s, 평균 1.6s (gpt 대비 3~5×)
- 최저가, 한국어 자연스러움 양호
- 환각 회피(가짜 법안에 "확인 안 됨")
- 다제약 추론도 무난히 처리
단점
- 웹서치 불가 → 시세·금리·정책 전부 출처 0, "모름" 또는 일반론
- 실시간 정확성 0 — recency 질의에 실수치 못 줌
- 오픈 가중치 모델이라 품질 상한 존재
GPT 웹서치 OFF · 5.4-mini
장점
- groq보다 스마트한 추론·문장 구성
- 환각 회피, 출력 안정적
단점
- groq보다 2~3× 느림(평균 4.3s)인데 recency는 여전히 출처 0
- → "느린데 검색도 못함" = 어정쩡. 비검색이면 groq가 더 빠르고 쌈
- 추정 전개 경향(없는 법안에 "보통 핵심은…" 나열) — 약한 추정 위험
GPT 웹서치 ON · 5.4-mini
장점
- recency 완전 커버 — 3/3 출처, 실매물·실수치(마포 1,000/65 등)
- 환각 함정에서 "없음"을 정부자료로 증명
- 총 출처 29개, 6/8 답변에 근거 부착
단점
- 가장 느림 — 평균 7.7s, 최대 10~16s
- 웹서치 비용
$10/1k calls - 비검색 시나리오(상담)는 검색 0인데 더 느림 → 무조건 ON은 낭비
교차 결론: gpt OFF는 끼인 포지션 — 검색을 안 하면 groq가 우월(더 빠름·저렴)하고, 검색이 필요하면 ON이어야 한다. 따라서 실전은 groq(비검색 기본) + gpt-5.4-mini ON(검색 필요) 2-축이면 충분하며, OFF는 "OpenAI 품질이 필요하나 검색은 불필요"한 좁은 예외용으로만 남긴다.
3. 모델 선택 — mini가 정답인가?
접근 가능한 최신 라인업: gpt-5.5(플래그십) · gpt-5.4 · gpt-5.4-mini · gpt-5.4-nano · gpt-5.1 · gpt-5-search-api(불안정, 500).
| 후보 | 특성 | 대략 단가(in/out, 1M) | 판정 |
|---|---|---|---|
| gpt-5.5 (flagship) | 최고 지능, 과한 비용 | $5 / $30 | 상담 챗엔 과투자 |
| gpt-5.4-mini | 충분히 똑똑·웹서치 지원·instant | ~$0.25 / ~$2 대 | ✓ 채택 |
| gpt-5.4-nano | 초저가, 추론 한계 | 더 저렴 | 복잡 추론엔 부족 |
| groq gpt-oss-120b | 최속·최저가, 웹서치 불가 | 초저가 | ✓ 비검색 기본값 |
실측상 mini는 다제약 추론(2호선·반려묘·신축·예산)에서 충분한 품질을 냈고, 웹서치를 붙이면 recency를 완전히 커버한다. 플래그십으로 올릴 근거 없음. 웹서치 비용은 $10 / 1,000 calls — recency 질의에만 켜면 비용 노출 최소.
4. 아키텍처 — 헥사고날 최적성 검토
사용자 요구 "groq · gpt(웹서치 ON) · gpt(웹서치 OFF) 3전환을 쉽게"의 최적 구성은 웹서치를 GPT 어댑터 하위 전략(서브포트)으로 두는 것:
LLMProvider (port) ← 호출부는 이 인터페이스만 의존
├─ GroqAdapter provider=groq
└─ GptAdapter(strategy) provider=gpt
└─ WebSearchStrategy (sub-port)
├─ WebSearchOff tools=[]
└─ WebSearchInstantOn tools=[{type:"web_search"}]
호출/세팅이 헥사고날인지 — 체크
- ✓ 의존성 역전: 호출부는
LLMProvider.complete()만 안다. groq/gpt/웹서치는 조립(build_providers())에서만 결정 → 라우팅 1줄 전환. - ✓ 개방-폐쇄: 새 검색 전략(심층검색 등)·새 provider 추가 시 어댑터 본체 불변. 웹서치를 top-level provider로 올리지 않고 GPT 하위에 둔 게 핵심(웹서치는 GPT의 설정이지 별도 벤더 아님).
- ✓ 결함 격리: 어댑터가 예외를
LLMResult.error로 흡수 → 한 모드 실패가 벤치/서비스를 멈추지 않음(groq base_url 404도 이 경로로 surface 후 수정). - ✓ 세팅 캡슐화: API 키·base_url·모델은 어댑터
__init__내부에만. (groq SDK의/openai/v1중복 append 같은 벤더 특수성도 어댑터가 흡수) - △ 개선 여지: 현재 "instant"=
reasoning.effort:none고정. 추론 강도까지 전략화하면 비용/품질 다이얼을 더 정밀 제어 가능.
결론: 최적 구성에 부합. 프로덕션 chat_v2/ports/llm.py의 기존 포트에 GptAdapter 2전략을 동일 패턴으로 편입하면 됨.
5. 권고
- 기본값(비검색): GROQ gpt-oss-120b — 라이프스타일·추론·일반 상담. 1.6초·최저가.
- recency 라우팅: 질의가 시세/금리/정책/"지금·최근·오늘" 신호면 → GPT‑5.4‑mini + 웹서치 ON. 출처·실수치 확보.
- GPT 기본 모델: 5.4‑mini 고정. 플래그십 불필요.
- 비용 가드: 웹서치는 recency에만(=호출의 일부) → $10/1k 노출 최소.
- 지연 UX: 웹서치 ON은 4~16초 → 진행 인디케이터(이미 SSE 보유)로 흡수.
실측: 어디살지 backend 컨테이너 내 OpenAI/GROQ 실키, 2026-06-01. 헥사고날 하니스 scripts/llm_mode_bench/ · 로우데이터 24행 CSV · 페이크 프로바이더 단위테스트 5/5 green. 본 페이지는 개인용 분석 산출물.