문제 발생

시세 조회 질문에서 Tool이 호출되지 않고 날조된 답변이 반환됨

테스트 시나리오

테스트 결과

항목 결과
getBidsByAuctionId 호출 ✅ 정상 호출
getSellerStats 호출 ✅ 정상 호출
getRecentAuctionResults 호출 ❌ 미호출
모델 응답 "맥북 에어 M2 기준 평균 낙찰가 85만 원" (학습 데이터 기반 날조)

Tool 코드 자체가 실행되지 않아 로그 없음 — 로깅으로 진단


원인

요약: Spring AI의 기본 temperature가 모델의 Tool 호출 판단에 영향을 준다는 점을 몰랐다.

원인 1 — 모델이 Tool을 스킵하는 조건

숫자 ID 기반 Tool은 모델이 "DB 없이 모른다"고 판단해 호출. 상품명 시세 Tool은 "학습 데이터로 안다"고 판단해 스킵.

Spring AI Tool Calling 흐름

  1. 유저 질문 수신
  2. 모델이 Tool 호출 여부 자체 판단
  3. "학습 데이터로 알 수 있다" 판단 → Tool 스킵, 직접 생성
  4. 날조된 시세 응답 반환

원인 2 — temperature 기본값(1.0)의 창의성

temperature=1.0(기본값) 상태에서 모델은 데이터 기반보다 창의적 답변 생성을 선호. 시스템 프롬프트 금지 지시나 Tool description 강조만으로는 이 성향을 막을 수 없었음.