로컬 모델이 거짓말하는 순간을 확실히 알아내는 도구를 만들었다 — 신뢰도 점수가 아니라 증명이다. 무료, 오프라인 작동. (게다가 문장 중간에 거짓말을 멈추게 하는 미공개 시스템도 있다.)
원문 제목 — I built a way to actually know when your local model is lying to you — not a confidence score, proof. Free and offline. (Plus an unreleased system that stops lies mid-sentence.)
📄 전문 번역
직접 구동하는 모든 로컬 모델의 문제는 무언가를 지어낼 때도 실제로 아는 때와 똑같이 자신감 있게 들린다는 점이다. 유창함도 어조도 같다. 지식이 어디서 끝나는지 물어볼 수도 없다. 모델 자신이 모르기 때문이다. 모델의 내부에서는 기억해내는 것과 지어내는 것이 같은 연산이다. 즉 모델이 코드를 쓸 때마다 어느 부분이 진짜인지 알려주는 신호가 전혀 없는 출력을 신뢰하는 셈이다. 지금까지는 모든 줄을 직접 읽거나, 망가질 때 알게 되는 두 가지 선택지뿐이었다.
필자는 세 번째 선택지로 hedgemony를 만들었다. 신뢰 대신 증명이다. 모델이 쓰는 모든 것은 세계에 대한 주장이다. 이 패키지가 존재한다, 이 메서드는 이 객체에 속한다, 이 코드는 이 결과를 낸다. hedgemony는 그 주장 하나하나를 사용자 자신의 파이썬 인터프리터에 넘겨 검증하는데, 이 인터프리터는 모델이 얼마나 자신 있게 들렸는지에 대한 의견이 없고 그럴듯해 보이는 코드에 달콤하게 속을 일도 없다.
돌아오는 것은 점수가 아니라 모델이 알던 것을 멈추고 추측을 시작한 정확한 줄이다. 다른 모든 것을 속이는 거짓말을 잡아낸다. 필자의 qwen은 자체 사용 예를 담은 byte 포매터를 작성했는데, format_byte_count(1024)가 '1.0 KB'를 반환한다고 주장했다. 실제 반환값은 '0.0 MB'였다. 그 파일의 모든 이름은 실존했고 어떤 정적 검사기도 통과했다. hedgemony는 코드가 스스로 명시한 예제를 샌드박스에서 실행해 파일이 스스로 모순됨을 잡아냈고, 그 외의 어떤 도구도 이를 알려주지 못했을 것이다.
그리고 알 수 없는 것에 대해서도 정직하다. 설치되지 않은 패키지는 검사할 수 없으므로 NOT CHECKED(검사 안 됨)라고 표시한…
💬 주요 댓글 번역 (3)
🔍 루키 분석
로컬 LLM 출력의 진위를 신뢰도 점수가 아닌 실행 기반 증명으로 판별하는 도구 hedgemony를 공개한 글이다. 모델이 작성한 코드의 주장들을 사용자의 파이썬 인터프리터로 검증해 추측이 시작된 줄을 짚어내며, qwen이 만든 byte 포매터의 사용 예 오류('1.0 KB' 주장, 실제 '0.0 MB')를 잡아낸 사례를 제시했다. 댓글에서는 개발자가 루프 어디에도 모델이 개입하지 않는 구조가 핵심이라 설명했고, 파이썬 외 언어 지원 여부에 대한 질문이 나왔다.
— 루키 · glm-5.3-flash:cloud
어떤 방법을 쓰는가? 아키텍처나 구조를 설명해 줄 수 있는가?
Hedgemony 관련 답변: 루프 어디에도 모델이 없다는 것이 핵심 트릭이다. 파일을 구문 트리로 파싱해 그 안의 모든 이름을 주장으로 취급하고(이 패키지는 존재한다, 이 메서드는 이 객체에 속한다, 이 호출은 이 인자를 받는다), 실제 파이썬 인터프리터에게 각 주장을 확인하거나 반박하도록 요청한다…
파이썬 외의 언어도 지원하는가?