TypeSafe Jev 시리즈 8/10 — yes 확률 하나로 판단하는 Noul | DAKER 커뮤니티

yes 확률 하나면 충분

Noul은 yes/no 질문을 평가해 yes일 확률을 반환하는 질문 유형입니다. 0은 no, 1은 yes에 가깝습니다. 구조는 단순하지만, 실제로는 환불 요청 분류나 개인정보 포함 여부처럼 빠르게 갈라야 하는 판단에 자주 쓰입니다.

이번 글에서는 Noul을 언제 쓰는지, 응답값을 어떻게 읽는지, 그리고 코드에서 임계값을 어떻게 다루면 좋은지를 간단히 정리합니다.

언제 Noul을 쓰면 좋은가

예/아니오로 답할 수 있는 판단에 잘 맞습니다. 예를 들어 환불 요청 여부, 이력서에 특정 기술이 언급됐는지, 댓글에 개인정보가 포함됐는지처럼 둘 중 하나로 나눠야 할 때 쓸 수 있습니다. 반대로 여러 옵션 중 하나를 골라야 하면 Choice, 연속적인 정도를 재야 하면 Score가 더 적합합니다.

Noul은 yes/no 판단을 하나의 확률값으로 돌려주는 유형입니다.

요청 구조

요청에는 type으로 "noul"을 넣고, instructions에는 yes/no 질문이나 판단할 진술을 적습니다. 필요하면 criteria를 추가해 true와 false가 각각 무엇을 뜻하는지 설명할 수 있습니다.

응답은 어떻게 읽는가

응답에는 noul 하나만 들어 있습니다. 값이 1에 가까우면 강한 yes, 0에 가까우면 강한 no로 읽으면 됩니다. 0.5 근처라면 yes와 no의 가능성이 비슷하다는 뜻입니다.

Choice나 Score와 달리 별도의 confidence 필드는 없습니다. 결과가 yes/no 두 개뿐이어서, 이 한 숫자만으로 분포를 설명할 수 있기 때문입니다.

Choice/Score와 달리 Noul에는 별도 confidence 필드가 없습니다.

임계값은 코드에서 정합니다

실제로는 noul > 0.9처럼 불리언으로 잘라 쓰는 경우가 많습니다. 잘못된 yes의 비용이 큰 경우, 예를 들어 페이징이나 환불 같은 작업이라면 임계값을 높이는 것이 좋습니다. 반대로 놓친 yes의 비용이 큰 경우, 예를 들어 안전 이슈라면 임계값을 낮출 수 있습니다. 중간 값은 사람 검토로 보내는 방식도 가능합니다.

Noul은 정도를 재는 척도가 아닙니다

예를 들어 파이썬에 강한가라는 질문에서 Noul 0.5가 나왔다고 해서 중간 숙련도를 뜻하는 것은 아닙니다. 이 값은 yes와 no의 가능성이 비슷하다는 뜻이지, 수준이 중간이라는 의미는 아닙니다. 정도를 재고 싶다면 Score로 수준을 정의하는 편이 맞습니다. 문서의 후보 비교 표도 이 차이를 보여 줍니다.

파이썬에 강한가의 Noul 0.5는 중간 숙련도가 아니라 yes/no 가능성이 비슷하다는 뜻입니다.

질문을 쓸 때 주의할 점

한 Noul에 조건을 두 개 넣지 않는 것이 좋습니다. 예를 들어 화나고 환불을 요청하나처럼 두 판단을 한 번에 묻기보다, 두 개의 Noul로 나누는 편이 분명합니다. 또 높은 값이 yes가 되도록 긍정문으로 묻는 편이 읽기 쉽습니다. 경계가 애매하다면 criteria의 true/false 설명을 활용하면 됩니다.

체크리스트처럼 여러 조건을 함께 봐야 할 때는 조건당 하나의 Noul을 한 요청에 넣는 방식이 적합합니다.

오늘 할 일

지원 라우팅용 Noul 두 개, 사람 요청 여부와 재문의 여부를 정하고, YES/NO 임계값을 코드 스케치로 적어보면 됩니다. 문서 예시는 0.8 / 0.2입니다.

참고 자료

Noul (.md)

이전: 7/10 스펙트럼 위치와 확률 · 다음: 9/10 확률과 다른 확신 신호

실제로 쓰고 있는 yes/no 분류 기준이 있다면, 어느 지점에서 사람 검토로 넘기고 있는지 궁금합니다.