fix: "A보다 빠른가" 캐주얼 비교 표현을 isFactualInfoRequest가 못 잡던 문제
실제 사고(2026-08-11): "5060 보다 얼마나 빠르지 4080?"에 도구 호출
0건, 모델이 "RTX 5060은 아직 출시되지 않은 차세대 모델"이라고
완전히 지어냈다 — 실제로는 이미 출시돼 지서버가 쓰고 있는 카드
(RTX 5060 Ti)다. "성능"/"비교" 등 기존 키워드를 하나도 안 써서
이 파일 자체 주석이 경고하던 "casual paraphrases slip through
unmatched"가 실제로 뚫렸다.
"A보다 (얼마나) 빠른/느린/좋은/나은" 형태의 캐주얼 비교 표현을
형용사 목록으로 추가. 구현 중 발견: 빠르다/느리다는 러-불규칙
활용이라 관형형이 "빠르ㄴ"이 아니라 "빠른"으로 어간 자체가
바뀐다(느리다→느린도 동일) — 어간만 넣으면 이 활용형을 놓쳐서
테스트가 그대로 잡아냈다("이게 저것보다 느린가?"가 최초 버전에서
빠짐), 두 형태 다 등록해서 고쳤다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -152,7 +152,16 @@ export function isFactualInfoRequest(message: string): boolean {
|
||||
if (isExecutionLikeRequest(m) || isGreetingLikeMessage(m)) return false;
|
||||
if (isExemptFromVerification(m)) return false;
|
||||
return /\b(vs\.?|versus)\b/i.test(m)
|
||||
|| /(비교|차이점?|스펙|사양|성능|가격|버전|몇\s*(세대|개|년|만원)|추천해|어떤\s*(게|것|모델|제품|카드)|뭐가\s*있|무엇이\s*있|종류가)/.test(m);
|
||||
|| /(비교|차이점?|스펙|사양|성능|가격|버전|몇\s*(세대|개|년|만원)|추천해|어떤\s*(게|것|모델|제품|카드)|뭐가\s*있|무엇이\s*있|종류가)/.test(m)
|
||||
// 2026-08-11 실제 사고: "5060 보다 얼마나 빠르지 4080?"에 도구 호출 0건, "RTX 5060은 아직
|
||||
// 출시되지 않은 차세대 모델"이라고 완전히 지어냈다(실제로는 이미 출시돼 지서버가 쓰고 있는
|
||||
// 카드). "성능"/"비교" 같은 위 키워드를 하나도 안 썼고 "빠르지"라는 캐주얼한 비교 표현만
|
||||
// 썼다 — 위 주석의 "casual paraphrases slip through unmatched" 경고가 실제로 뚫린 사례.
|
||||
// "A보다 (얼마나) 빠른/느린/좋은/나은/강한" 형태의 비교 질문을 형용사 목록으로 넓게 잡는다.
|
||||
// 빠르다/느리다는 러-불규칙 활용이라 관형형이 "빠르ㄴ"이 아니라 "빠른"으로 어간 자체가
|
||||
// 바뀐다("느리다"→"느린"도 동일) — 어간 "빠르"/"느리"만 넣으면 이 활용형을 못 잡는다
|
||||
// (테스트로 실제로 잡아냄: "이게 저것보다 느린가?"가 최초 버전에서 빠졌었다).
|
||||
|| /보다\s*(얼마나\s*)?(빠르|빠른|느리|느린|좋|나은|낫|강|약)/.test(m);
|
||||
}
|
||||
|
||||
// Output-side counterpart to isFactualInfoRequest()/isLiveDataRequest(): those only catch
|
||||
|
||||
@@ -161,6 +161,16 @@ describe('isFactualInfoRequest — 검증이 필요한 질문 분류', () => {
|
||||
assert.equal(isFactualInfoRequest('hello'), false);
|
||||
assert.equal(isFactualInfoRequest(''), false);
|
||||
});
|
||||
|
||||
// [2026-08-11] 실제 사고: "5060 보다 얼마나 빠르지 4080?"에 도구 호출 0건, 모델이 "RTX 5060은
|
||||
// 아직 출시되지 않은 차세대 모델"이라고 완전히 지어냈다 — 실제로는 이미 출시돼 지서버가 쓰고
|
||||
// 있는 카드(RTX 5060 Ti). "성능"/"비교" 같은 기존 키워드를 하나도 안 써서 게이트를 그냥
|
||||
// 통과했다. "A보다 (얼마나) 빠른/느린/좋은" 캐주얼 비교 표현을 형용사로 넓게 잡는다.
|
||||
test('[2026-08-11] "A보다 빠른가" 캐주얼 비교 표현도 잡는다', () => {
|
||||
assert.equal(isFactualInfoRequest('5060 보다 얼마나 빠르지 4080?'), true);
|
||||
assert.equal(isFactualInfoRequest('이게 저것보다 느린가?'), true);
|
||||
assert.equal(isFactualInfoRequest('아이폰이 갤럭시보다 나은가'), true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('isNewsRequest / isLiveDataRequest', () => {
|
||||
|
||||
Reference in New Issue
Block a user