들어가기 전에
검색 시스템에 질문을 입력하면 보통 하나의 문서만 나오는 것이 아니라, 질문과 관련 있다고 판단한 문서들이 순서대로 나옵니다.
예를 들어 사내 규정에 관해 질문했을 때 검색 결과가 100개 나왔다고 가정해보겠습니다. 이 100개를 모두 확인할 수는 없으니 실제로는 상위 몇 개의 결과만 사용하게 됩니다.
웹 검색에서는 첫 페이지에 나온 결과만 살펴보는 경우가 많고, RAG에서는 검색 결과 중 일부 문서만 LLM에 전달합니다.
그렇다면 검색 성능을 평가할 때도 전체 결과가 아니라 실제로 사용하는 범위까지 확인해야 합니다.
이때 사용하는 지표가 Precision@K와 Recall@K입니다.
이름에 수식처럼 보이는 기호가 들어가서 처음에는 어렵게 느껴질 수 있지만 의미는 단순합니다.
@K
→ 검색 결과를 위에서부터 K개까지만 보겠다는 뜻
예를 들어 Precision@3은 상위 3개의 검색 결과만 보고 계산한 Precision이고, Recall@5는 상위 5개의 결과만 보고 계산한 Recall입니다.
이번 글에서는 하나의 검색 결과를 가지고 Precision@3, Recall@3, Precision@5, Recall@5를 직접 계산해보겠습니다. 그리고 K 값이 달라질 때 평가 결과가 어떻게 바뀌는지 RAG에서는 K를 어떤 기준으로 정해야 하는지도 함께 살펴보겠습니다.
@K는 어디까지 볼지를 정하는 기준입니다
Precision과 Recall은 검색 결과가 얼마나 좋은지 확인하는 기본적인 지표입니다. Precision은 검색된 결과 중 실제로 관련 있는 문서의 비율을 확인합니다.
Precision
= 검색된 관련 문서 수 / 검색된 전체 문서 수
Recall은 전체 관련 문서 중 검색 결과에 포함된 문서의 비율을 확인합니다.
Recall
= 검색된 관련 문서 수 / 전체 관련 문서 수
그런데 실제 검색 결과에는 순서가 있습니다.
질문과 가장 관련 있다고 판단한 문서가 1위에 나오고, 그다음 문서가 2위와 3위에 배치됩니다. 이 때 정답 문서가 검색 결과 어딘가에 있다는 사실만으로는 충분하지 않습니다.
정답 문서가 50위에 있다면 검색 결과에 포함되기는 했지만 사용자가 직접 확인하기도 어렵고 RAG가 LLM에 전달할 가능성도 낮습니다.
그래서 검색 결과의 앞부분만 잘라서 평가합니다.
Precision@3
→ 상위 3개 결과의 Precision
Recall@3
→ 상위 3개 결과의 Recall
Precision@5
→ 상위 5개 결과의 Precision
Recall@5
→ 상위 5개 결과의 Recall
여기서 K는 특별한 공식이나 모델 이름이 아닙니다. 단순히 검색 결과를 몇 번째까지 볼 것인지 나타내는 숫자입니다.
같은 검색 결과를 두고 계산해보겠습니다
사용자가 다음과 같이 질문했다고 가정해보겠습니다.
질문:
A사의 2025년 2분기 영업이익은 얼마인가요?
전체 문서 중 이 질문과 관련 있는 문서는 네 개입니다.
관련 문서:
A, C, E, G
검색 결과는 다음과 같은 순서로 나왔습니다.
| 순위 | 문서 | 질문과 관련 있는가 |
| 1위 | A | 관련 있음 |
| 2위 | B | 관련 없음 |
| 3위 | C | 관련 있음 |
| 4위 | D | 관련 없음 |
| 5위 | E | 관련 있음 |
| 6위 | F | 관련 없음 |
| 7위 | G | 관련 있음 |
검색 결과의 1위부터 7위까지 살펴보면 관련 문서 네 개를 모두 찾았습니다.
하지만 상위 3개만 사용하는 경우와 상위 5개까지 사용하는 경우에는 결과가 달라집니다.
여기에서 상위 3개만 보면 어떻게 될까요?
먼저 검색 결과의 상위 3개만 살펴보겠습니다.
1위: A - 관련 있음
2위: B - 관련 없음
3위: C - 관련 있음
상위 3개 중 질문과 관련 있는 문서는 A와 C, 두 개입니다.
Precision@3 계산하기
Precision@3은 상위 3개 결과 중 관련 문서가 얼마나 포함되어 있는지를 봅니다.
Precision@3
= 상위 3개 중 관련 문서 수 / 3
= 2 / 3
≈ 0.67
상위 3개 중 두 개가 관련 문서이므로 Precision@3은 약 0.67입니다.
쉽게 말하면 상위 3개 결과의 약 67%가 쓸 만한 문서였다는 뜻입니다.
Recall@3 계산하기
Recall@3은 전체 관련 문서 중 상위 3개 안에서 몇 개를 찾았는지 확인합니다.
전체 관련 문서는 A, C, E, G로 네 개입니다. 그중 상위 3개에는 A와 C가 들어 있습니다.
Recall@3
= 상위 3개에 포함된 관련 문서 수 / 전체 관련 문서 수
= 2 / 4
= 0.5
따라서 Recall@3은 0.5입니다. 전체 관련 문서 중 절반만 상위 3개 안에서 찾았다는 뜻입니다.
정리하면 다음과 같습니다.
Precision@3 ≈ 0.67
Recall@3 = 0.5
상위 3개의 검색 결과는 비교적 알차지만, 필요한 문서를 절반밖에 찾지 못했습니다.
상위 5개까지 넓혀보겠습니다
이번에는 검색 결과를 상위 5개까지 살펴보겠습니다.
1위: A - 관련 있음
2위: B - 관련 없음
3위: C - 관련 있음
4위: D - 관련 없음
5위: E - 관련 있음
상위 5개 중 관련 문서는 A, C, E로 세 개입니다.
Precision@5 계산하기
Precision@5
= 상위 5개 중 관련 문서 수 / 5
= 3 / 5
= 0.6
Precision@5는 0.6입니다. 상위 5개 결과의 60%가 질문과 관련 있는 문서라는 뜻입니다.
Recall@5 계산하기
전체 관련 문서는 여전히 A, C, E, G로 네 개입니다. 상위 5개에서는 A, C, E 세 개를 찾았습니다.
Recall@5
= 상위 5개에 포함된 관련 문서 수 / 전체 관련 문서 수
= 3 / 4
= 0.75
Recall@5는 0.75입니다. 전체 관련 문서 중 75%를 상위 5개 안에서 찾았다는 뜻입니다.
Precision@5 = 0.6
Recall@5 = 0.75
K가 달라지면 점수도 달라집니다
지금까지 계산한 값을 비교해보겠습니다.
| 지표 | 결과 |
| Precision@3 | 약 0.67 |
| Recall@3 | 0.5 |
| Precision@5 | 0.6 |
| Recall@5 | 0.75 |
검색 결과의 순서는 하나도 바뀌지 않았습니다. 달라진 것은 어디까지 평가했는지뿐입니다.
상위 3개만 봤을 때는 관련 없는 문서가 하나 포함되어 있었습니다.
관련 문서 2개 / 전체 결과 3개
→ Precision@3 ≈ 0.67
상위 5개까지 범위를 넓히자 관련 문서 E를 하나 더 찾았지만, 관련 없는 문서 D도 함께 포함되었습니다.
관련 문서 3개 / 전체 결과 5개
→ Precision@5 = 0.6
그래서 Precision은 약 0.67에서 0.6으로 낮아졌습니다. 반대로 Recall은 높아졌습니다.
상위 3개에서 찾은 관련 문서: 2개
→ Recall@3 = 0.5
상위 5개에서 찾은 관련 문서: 3개
→ Recall@5 = 0.75
검색 범위를 넓히면서 관련 문서를 하나 더 찾았기 때문입니다. 여기서 반드시 기억해야 할 점은 다음과 같습니다.
같은 검색 결과라도 K 값에 따라 Precision과 Recall이 달라집니다.
그래서 서로 다른 검색 방식을 비교할 때는 반드시 같은 K 값을 사용해야 합니다.
한쪽은 Precision@3을 사용하고 다른 쪽은 Precision@10을 사용한다면 두 점수를 그대로 비교할 수 없습니다.
Precision@K는 필요한 문서를 얼마나 빠짐없이 찾았을까요?
Precision@K가 높다는 것은 상위 K개의 결과에 관련 없는 문서가 적다는 뜻입니다.
예를 들어 Precision@5가 1이라면 상위 5개의 문서가 모두 질문과 관련 있다는 의미입니다.
상위 5개 중 관련 문서 5개
Precision@5
= 5 / 5
= 1
반대로 Precision@5가 0.2라면 상위 5개 중 관련 문서는 하나뿐입니다.
상위 5개 중 관련 문서 1개
Precision@5
= 1 / 5
= 0.2
RAG에서 Precision@K가 낮으면 LLM에 관련 없는 문서가 함께 전달될 가능성이 커집니다.
사용자는 영업이익을 질문했는데 검색 결과에 채용 공고, 회사 소개, 다른 연도의 실적 자료가 섞여 있을 수 있는 것이죠.
관련 없는 문서가 많으면 LLM이 중요한 내용을 찾기 어려워지고, 서로 다른 문서의 정보를 섞어서 답할 가능성도 생깁니다.
따라서 Precision@K는 다음 질문에 답하는 지표라고 볼 수 있습니다.
LLM에 전달하려는 문서들이 실제로 질문과 얼마나 관련 있는가?
Recall@K는 필요한 문서를 얼마나 놓치지 않았는지 보여줍니다
Recall@K가 높다는 것은 답변에 필요한 문서가 상위 K개 결과에 많이 포함되어 있다는 뜻입니다.
예를 들어 정답을 위해 세 개의 문서가 필요한데 상위 5개 안에서 세 개를 모두 찾았다면 Recall@5는 1입니다.
전체 관련 문서: 3개
상위 5개 안에서 찾은 관련 문서: 3개
Recall@5
= 3 / 3
= 1
반대로 세 개 중 하나만 찾았다면 Recall@5는 약 0.33입니다.
Recall@5
= 1 / 3
≈ 0.33
특히 여러 문서의 정보를 함께 사용해야 하는 질문에서는 Recall이 중요합니다.
예를 들어 사용자가 다음과 같이 질문했다고 가정해보겠습니다.
A사의 1분기와 2분기 영업이익을 비교해주세요.
이 질문에 답하려면 1분기 자료와 2분기 자료가 모두 필요합니다.
검색 결과에 2분기 자료만 있다면 검색된 문서 자체는 질문과 관련 있을 수 있습니다. 하지만 비교에 필요한 근거를 모두 가져오지는 못했습니다.
Recall@K는 이런 누락을 확인할 수 있게 해줍니다. 다음 질문에 답하는 지표라고 이해하면 쉽습니다.
답변에 필요한 문서를 상위 K개 안에서 얼마나 빠짐없이 찾았는가?
Precision과 Recall 중 무엇이 더 중요할까요?
둘 중 하나만 중요하다고 말하기는 어렵습니다.
Precision이 높고 Recall이 낮으면 검색 결과는 깔끔하지만 필요한 문서를 놓칠 수 있습니다.
관련 없는 문서는 거의 없음
하지만 답변에 필요한 문서도 일부 빠짐
Recall이 높고 Precision이 낮으면 필요한 문서는 대부분 찾지만, 관련 없는 문서도 많이 포함될 수 있습니다.
필요한 문서는 대부분 포함
하지만 불필요한 문서도 많이 포함
도서관에서 책을 찾는 상황으로 생각해볼 수 있습니다. 직원이 질문과 정확히 관련 있는 책 두 권만 가져왔다면 Precision은 높습니다. 하지만 실제로 필요한 책이 총 다섯 권이었다면 Recall은 낮습니다.
반대로 관련 있을 가능성이 있는 책을 스무 권 가져왔다면 필요한 다섯 권을 모두 포함할 수 있습니다. Recall은 높지만 나머지 열다섯 권이 불필요하다면 Precision은 낮아집니다. RAG도 비슷합니다.
필요한 문서를 놓치지 않는 것도 중요하지만 너무 많은 문서를 가져와 LLM에 모두 넣는 것이 항상 좋은 것은 아닙니다.
그래서 Precision@K와 Recall@K를 함께 확인해야 합니다.
RAG에서 K는 실제 동작과 연결됩니다
RAG에서 K는 단순히 평가할 때만 사용하는 숫자가 아닙니다. 실제로 질문을 받았을 때 몇 개의 문서나 청크를 가져올지도 K로 설정하는 경우가 많습니다.
예를 들어 다음과 같이 설정할 수 있습니다.
top_k = 5
이 설정은 질문과 가까운 검색 결과를 상위 5개까지 가져오겠다는 뜻입니다.
질문 입력
→ 관련 문서 검색
→ 상위 5개 선택
→ 선택한 문서를 LLM에 전달
→ 답변 생성
따라서 Recall@5는 단순한 평가용 숫자가 아닙니다.
실제로 LLM에 5개의 문서를 전달하는 시스템이라면 그 5개 안에 필요한 문서가 얼마나 들어 있는지를 보여줍니다.
실제 전달 문서 수: 5개
평가 기준: Recall@5, Precision@5
반대로 검색 단계에서 후보를 20개 가져온 뒤 그중 5개만 골라 LLM에 전달하는 구조도 있습니다.
1차 검색
→ 상위 20개 후보 검색
문서 순서 다시 정리
→ 질문과 가까운 문서 5개 선택
LLM
→ 최종 5개 문서를 바탕으로 답변 생성
이 경우에는 두 단계의 K가 서로 다릅니다.
후보 검색 단계
→ Recall@20 확인
최종 문서 선택 단계
→ Precision@5, Recall@5 확인
처음부터 관련 문서를 놓치지 않고 후보에 포함했는지, 그 후보 중 좋은 문서를 최종적으로 잘 골랐는지를 나눠서 볼 수 있습니다.
K가 크면 무조건 좋을까요?
K를 크게 설정하면 더 많은 문서를 가져올 수 있습니다. 그래서 필요한 문서를 찾을 가능성도 높아질 수 있습니다.
하지만 K를 계속 키우는 것이 항상 좋은 것은 아닙니다.
관련 없는 문서도 함께 늘어날 수 있습니다
검색 범위를 넓히면 필요한 문서뿐 아니라 관련 없는 문서도 추가될 수 있습니다.
상위 3개:
관련 문서 2개, 관련 없는 문서 1개
상위 10개:
관련 문서 3개, 관련 없는 문서 7개
이 경우 Recall은 높아질 수 있지만 Precision은 낮아집니다.
LLM에 전달하는 글의 양이 늘어납니다
문서가 많아질수록 LLM에 입력하는 글의 양도 늘어납니다.
입력 토큰이 많아지면 처리 비용과 응답 시간이 함께 증가할 수 있습니다.
서로 비슷한 문서가 반복될 수 있습니다
같은 내용을 조금씩 다르게 설명한 청크가 여러 개 검색될 수도 있습니다.
문서 수는 많지만 실제로 제공하는 정보는 거의 같을 수 있는 것이죠.
서로 다른 내용이 섞일 수 있습니다
질문의 기간이나 대상이 다른 문서가 함께 들어오면 LLM이 내용을 혼동할 수 있습니다.
예를 들어 2024년 실적과 2025년 실적 자료가 함께 전달되면 잘못된 연도의 수치를 사용할 가능성이 있습니다.
따라서 K는 클수록 좋은 숫자가 아니라 필요한 정보를 충분히 담으면서 불필요한 문서를 최소화하도록 조정해야 하는 값입니다.
어떤 K를 선택해야 할까요?
모든 RAG에 공통으로 적용할 수 있는 하나의 K 값은 없습니다.
문서의 길이, 질문의 종류, 사용하는 LLM의 입력 한도, 답변에 필요한 문서 수가 모두 다르기 때문입니다.
가장 현실적인 방법은 여러 K 값을 직접 비교하는 것입니다.
예를 들어 다음 값을 함께 측정할 수 있습니다.
Precision@3
Recall@3
Precision@5
Recall@5
Precision@10
Recall@10
결과가 다음과 같다고 가정해보겠습니다.
| K | Precision@K | Recall@K |
| 3 | 0.73 | 0.58 |
| 5 | 0.68 | 0.76 |
| 10 | 0.41 | 0.80 |
K를 3에서 5로 늘렸을 때 Recall이 0.58에서 0.76으로 크게 높아졌습니다.
Precision은 조금 낮아졌지만 필요한 문서를 더 많이 찾게 되었으므로 K를 5로 늘릴 가치가 있을 수 있습니다.
반면 K를 5에서 10으로 늘렸을 때 Recall은 0.76에서 0.80으로 조금만 높아졌습니다. 그런데 Precision은 0.68에서 0.41로 크게 낮아졌습니다.
이 경우에는 문서를 10개까지 가져오는 것보다 5개만 사용하는 편이 더 나을 수 있습니다. 보지 않고 다음 항목도 함께 확인하는 것이 좋습니다.
결국 K는 평가 점수와 실제 답변 품질을 함께 비교해서 정해야 합니다.
Python으로 직접 계산해보기
Precision@K와 Recall@K는 간단한 코드로 계산할 수 있습니다.
def precision_at_k(
retrieved_ids: list[str],
relevant_ids: set[str],
k: int,
) -> float:
if k <= 0:
raise ValueError("k는 1 이상이어야 합니다.")
top_k = retrieved_ids[:k]
if not top_k:
return 0.0
relevant_count = sum(
document_id in relevant_ids
for document_id in top_k
)
return relevant_count / len(top_k)
def recall_at_k(
retrieved_ids: list[str],
relevant_ids: set[str],
k: int,
) -> float:
if k <= 0:
raise ValueError("k는 1 이상이어야 합니다.")
if not relevant_ids:
return 0.0
top_k = retrieved_ids[:k]
relevant_count = sum(
document_id in relevant_ids
for document_id in top_k
)
return relevant_count / len(relevant_ids)
앞에서 사용한 예시를 넣어보겠습니다.
retrieved_ids = ["A", "B", "C", "D", "E", "F", "G"]
relevant_ids = {"A", "C", "E", "G"}
print("Precision@3:", precision_at_k(retrieved_ids, relevant_ids, 3))
print("Recall@3:", recall_at_k(retrieved_ids, relevant_ids, 3))
print("Precision@5:", precision_at_k(retrieved_ids, relevant_ids, 5))
print("Recall@5:", recall_at_k(retrieved_ids, relevant_ids, 5))
실행 결과는 다음과 같습니다.
Precision@3: 0.6666666666666666
Recall@3: 0.5
Precision@5: 0.6
Recall@5: 0.75
여러 질문을 평가할 때는 질문마다 점수를 계산한 뒤 평균을 내면 됩니다.
def average_metric(scores: list[float]) -> float:
if not scores:
return 0.0
return sum(scores) / len(scores)
예를 들어 질문이 100개라면 각 질문의 Precision@5를 계산하고 평균을 구해 전체 평가 점수로 사용할 수 있습니다.
계산할 때 헷갈리기 쉬운 부분
Precision@K의 분모는 K입니다
Precision@5는 상위 5개 중 관련 문서가 몇 개인지 계산합니다.
Precision@5
= 상위 5개에 포함된 관련 문서 수 / 5
다만 검색 결과가 실제로 5개보다 적다면 구현 방식에 따라 반환된 결과 수를 분모로 사용할 수 있습니다. 평가 규칙을 미리 정하고 모든 실험에 동일하게 적용해야 합니다.
Recall@K의 분모는 전체 관련 문서 수입니다
Recall@5의 분모는 5가 아닙니다.
Recall@5
= 상위 5개에 포함된 관련 문서 수 / 전체 관련 문서 수
전체 관련 문서가 네 개라면 분모는 4입니다.
K를 늘린다고 Precision이 항상 낮아지는 것은 아닙니다
검색 범위를 넓혔을 때 관련 문서가 연속으로 나온다면 Precision이 높아질 수도 있습니다.
예를 들어 다음과 같은 결과가 있다고 하겠습니다.
1위: 관련 없음
2위: 관련 있음
3위: 관련 있음
이 경우:
Precision@1 = 0 / 1 = 0
Precision@3 = 2 / 3 ≈ 0.67
따라서 K가 커지면 Precision이 반드시 낮아진다고 단정할 수는 없습니다.
K를 늘릴 때 어떤 문서가 추가되느냐에 따라 달라집니다.
Recall@K는 K가 커질수록 유지되거나 높아집니다
상위 결과의 범위를 넓힌다고 이미 찾은 관련 문서가 사라지지는 않습니다. 그래서 같은 검색 순서를 기준으로 하면 Recall@K는 K가 커질수록 그대로 유지되거나 높아집니다.
다만 관련 문서가 추가로 나오지 않으면 K를 늘려도 Recall은 변하지 않습니다.
Recall@5 = 0.75
Recall@10 = 0.75
이 경우 6위부터 10위 사이에는 새로운 관련 문서가 없었다는 뜻입니다.
정답 문서가 제대로 표시되어 있어야 합니다
Precision@K와 Recall@K를 계산하려면 어떤 문서가 질문과 관련 있는지 미리 정해두어야 합니다.
정답 문서 목록이 빠져 있다면 실제로 좋은 검색 결과가 나와도 관련 없는 문서로 처리될 수 있습니다.
평가 점수의 신뢰도는 정답 데이터의 품질에 영향을 받습니다.
중간 정리
| 개념 | 확인하는 내용 | 계산 방법 |
| K | 검색 결과를 몇 번째까지 볼 것인지 | 상위 K개 |
| Precision@K | 상위 K개가 얼마나 관련 문서로 채워졌는지 | 상위 K개의 관련 문서 수 ÷ K |
| Recall@K | 전체 관련 문서를 상위 K개에서 얼마나 찾았는지 | 상위 K개의 관련 문서 수 ÷ 전체 관련 문서 수 |
| 작은 K | 검색 결과의 앞부분을 집중해서 평가 | 실제 전달 문서가 적을 때 유용 |
| 큰 K | 더 넓은 검색 범위를 평가 | 후보 문서 검색 단계에서 유용 |
Precision@K와 Recall@K가 답하는 질문은 다음과 같습니다.
Precision@K
→ 상위 K개의 문서가 얼마나 알찬가?
Recall@K
→ 필요한 문서를 상위 K개 안에서 얼마나 찾았는가?
같은 검색 결과라도 K 값이 달라지면 평가 결과도 달라집니다. 그리고 RAG에서 K는 단순한 평가 기준이 아니라 실제로 몇 개의 문서를 가져와 LLM에 전달할지와 연결됩니다.
마치며
Precision@K와 Recall@K는 이름만 보면 복잡한 지표처럼 느껴지지만 핵심은 간단합니다.
검색 결과를 전부 평가하지 않고 상위 몇 개까지만 잘라서 확인하는 것입니다.
Precision@K는 상위 K개 결과에 관련 없는 문서가 얼마나 적은지를 보여줍니다. Recall@K는 답변에 필요한 문서를 그 안에서 얼마나 빠짐없이 찾았는지를 보여줍니다.
두 지표는 서로 다른 관점에서 검색 결과를 평가합니다.
Precision@K가 높음
→ 상위 결과에 불필요한 문서가 적음
Recall@K가 높음
→ 필요한 문서를 많이 찾음
어느 하나만 높다고 해서 검색 결과가 항상 좋은 것은 아닙니다.
필요한 문서를 모두 찾았더라도 불필요한 문서가 너무 많을 수 있고, 검색 결과가 깔끔하더라도 정답에 필요한 문서를 놓쳤을 수 있습니다.
RAG에서는 K의 의미가 더 중요합니다. K를 5로 설정했다면 실제로 상위 5개 문서만 LLM에 전달될 수 있습니다. 따라서 Recall@5가 낮다는 것은 정답 근거가 LLM에 도달하지 못할 가능성이 높다는 뜻입니다.
반대로 K를 지나치게 크게 설정하면 관련 없는 문서와 중복된 내용이 함께 전달될 수 있고, 입력 토큰과 응답 시간도 늘어날 수 있습니다.
결국 K는 크게 설정할수록 좋은 값이 아닙니다. 여러 K 값을 비교하면서 필요한 문서를 충분히 찾는지, 불필요한 문서가 얼마나 추가되는지, 최종 답변의 품질은 어떻게 달라지는지를 함께 확인해야 합니다.
검색 결과를 어디까지 볼 것인지 정하는 작은 숫자 하나가 RAG의 검색 품질과 최종 답변에 모두 영향을 줄 수 있습니다.
참고 자료
- Stanford - Introduction to Information Retrieval: Evaluation of Unranked Retrieval Sets
- Stanford - Introduction to Information Retrieval: Evaluation of Ranked Retrieval Results
- Google Machine Learning Glossary - Metrics
- Pinecone 공식 문서 - Retrieve Context Snippets
'AI' 카테고리의 다른 글
| [바미] RAG는 왜 틀린 답을 할까? (0) | 2026.07.26 |
|---|---|
| [바미] 좋은 RAG 평가는 좋은 문제에서 시작됩니다. (1) | 2026.07.24 |
| [바미] RAG가 틀렸을 때 RAG의 문제일까? LLM의 문제일까? (2) | 2026.07.23 |
| [바미] RAG 검색 성능은 어떻게 평가할까? - Precision부터 NDCG까지 (2) | 2026.07.22 |
| [바미] Claude Sonnet 5가 공개되었습니다. (0) | 2026.07.01 |