30차시. 질의 재작성 및 재검색
9. 효과와 비용 측정
출처: 원본 PDF 30차시_재작성노드실습.pdf 18쪽 · 쪽 그림 18쪽
📝 27차시 vs 30차시 비교
import time
LLM_KEYWORDS = ("생성", "검증(LLM)", "재작성")
def _count_llm_calls(log):
calls = 0
for l in log:
for k in LLM_KEYWORDS:
if k in l:
calls += 1
break
return calls
def measure(mod, name, tests):
hit, total_time, total_calls = 0, 0, 0
for t in tests:
t0 = time.time()
r = mod.ask(t["q"])
total_time += time.time() - t0
total_calls += _count_llm_calls(r["log"])
for k in t["keys"]:
if k in r["answer"]:
hit += 1
break
n = len(tests)
print(f"[{name}] 정답 {hit}/{n} ({hit/n*100:.0f}%) | "
f"평균 {total_time/n:.1f}초 | "
f"평균 LLM {total_calls/n:.1f}회")
measure(graph_v27, "27차시", TESTS_20)
measure(graph, "30차시", TESTS_20)실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)
[27차시] 정답 19/20 (95%) | 평균 4.3초 | 평균 LLM 2.4회
[30차시] 정답 20/20 (100%) | 평균 5.1초 | 평균 LLM 2.9회| 지표 | 27차시 | 30차시 | 변화 |
|---|---|---|---|
| 정답률 | 95% | 100% | +5%p |
| 평균 응답 | 4.3초 | 5.1초 | +19% |
| 평균 LLM 호출 | 2.4회 | 2.9회 | +21% |
| 재작성 발생률 | — | 15% | — |
💡 비용이 21% 늘었는데 도입할 가치가 있나?
있습니다. 이유는 두 가지입니다.
① 재작성은 15%에서만 발생합니다
나머지 85%는 비용이 그대로입니다
평균이 오른 것은 그 15% 때문입니다
② 그 15%가 이전에는 전부 실패였습니다
"자료를 찾지 못했습니다"를 받던 사용자가
이제 제대로 된 답을 받습니다
실패하던 질문을 성공시키는 데 드는 비용이라고
생각하면 판단이 쉬워집니다.