신뢰도 표시

Confidence indicator

모델이 이 답을 얼마나 확신하는지 높음·보통·낮음 같은 단계로 보여주는 작은 배지.

다른 이름: Certainty meterConfidence badge
···
html
<div class="wrap">
  <div class="row"><span class="q">2025년 3분기 실적 성장률은?</span></div>
  <div class="bubble">전년 동기 대비 약 12% 성장한 것으로 보고됐어요.</div>
  <div class="conf" id="conf" data-lv="high"><span class="dots"><i></i><i></i><i></i></span><span class="lbl">높은 신뢰도 — 공개 실적 발표 인용</span></div>
</div>
css
.wrap{width:min(300px,94%);display:grid;gap:8px}
.q{font-size:11px;color:var(--muted)}
.bubble{padding:9px 12px;border-radius:12px;border-bottom-left-radius:4px;background:var(--surface);border:1px solid var(--line);color:var(--fg);font-size:12px;line-height:1.55}
.conf{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--muted)}
.dots{display:flex;gap:3px}
.dots i{width:6px;height:6px;border-radius:2px;background:var(--line)}
.conf[data-lv=high] .dots i{background:#0f9d78}
.conf[data-lv=medium] .dots i:nth-child(1),.conf[data-lv=medium] .dots i:nth-child(2){background:#f5a524}
.conf[data-lv=low] .dots i:nth-child(1){background:#e5484d}
js
const conf = document.getElementById('conf'), lbl = conf.querySelector('.lbl');
const states = [
  ['high', '높은 신뢰도 — 공개 실적 발표 인용'],
  ['medium', '보통 신뢰도 — 일부는 추정치예요'],
  ['low', '낮은 신뢰도 — 최신 자료가 부족해요'],
];
let i = 0;
setInterval(() => {
  i = (i + 1) % states.length;
  const [lv, text] = states[i];
  conf.dataset.lv = lv;
  lbl.textContent = text;
}, 1800);

모델이 내놓는 모든 답이 같은 확신 수준을 가진 게 아닙니다. 근거 문서를 직접 인용한 답과, 근거 없이 패턴으로 추측한 답은 신뢰도가 다른데도 화면에서는 똑같이 단정적인 문장으로 보입니다. 이 표시는 그 차이를 시각적으로 드러내서, 낮은 확신의 답을 사용자가 곧이곧대로 받아들이지 않게 돕습니다.

퍼센트 숫자("87% 확신")보다는 높음/보통/낮음 같은 범주나 짧은 막대가 더 안전한 표현입니다 — 모델의 내부 확률과 "실제로 맞을 확률"은 다른 개념인데, 숫자를 보여주면 사용자가 그걸 정확한 통계처럼 오해하기 쉽습니다.

신뢰도가 낮을 때는 배지만 띄우고 끝내지 말고, 왜 확신이 낮은지(예: "이 주제는 최신 정보가 부족합니다")나 다음 행동(재확인, 출처 보기)까지 같이 제시하면 표시가 불안감만 주는 게 아니라 실제로 쓸모 있어집니다.

언제 쓰나

의료·법률·재무처럼 틀린 답의 대가가 큰 도메인, 혹은 근거 문서 기반 답변에 씁니다. 신뢰도 추정 자체가 부정확하다면(모델이 스스로도 잘 모르는 경우가 흔합니다) 억지로 붙이지 않는 편이 낫습니다.