코드는 잘못된 숫자를 잡아냈지만, 나는 잘못된 이야기를 잡아내야 했다
요약
AI 시스템 구축 시 데이터의 수치적 오류를 넘어, 논리적 비약인 '잘못된 이야기'를 식별하는 방법론을 다룹니다. 이론부터 결과까지 이어지는 증거 계층(Evidence Tier)을 정의하여 시스템의 신뢰성을 검증하는 프레임워크를 제안합니다.
핵심 포인트
- 코드는 수치적 오류를 잡지만, 시스템은 논리적 비약을 잡아야 함
- 잘못된 이야기는 증거 없이 상위 단계의 결과를 주장하는 계층 상승 오류임
- 이론-움직임-영수증-증명-결과로 이어지는 5단계 증거 사다리 활용
- 주장에 맞는 적절한 증거 비용을 지불했는지 검증하는 프로토콜 필요
2026년 6월 21일, 나는 나의 AI 게이트(AI gate)를 실제 트레이딩 환경에 적용한 것에 대한 포스트를 게시했습니다.
게이트는 위험한 도구들을 차단했습니다.
스코어러(Scorer)는 나의 첫 번째 일반적인 신호 소스(generic signal source)를 제거했습니다.
검증 유니버스(validation universe)는 생존 편향(survivorship bias)을 드러냈습니다.
우위(Edge) 없음.
수익(Revenue) 없음.
그 부분은 힘들었지만, 적어도 측정은 가능했습니다.
그때 Nazar Boyko가 내가 아직 깔끔하게 압축하지 못한 부분을 지적하는 댓글을 남겼습니다:
코드가 잘못된 숫자를 잡아내는 것과 당신이 잘못된 이야기를 잡아내는 것 사이의 간극
이것이 바로 이 글이 다루고자 하는 문제입니다.
코드는 잘못된 숫자를 잡아낼 수 있습니다.
하지만 시스템에는 여전히 잘못된 이야기를 잡아낼 방법이 필요합니다.
그 이유는 구조적입니다.
잘못된 이야기는 보통 그것을 만들어낸 동일한 단계(pass)에서는 잡아낼 수 없습니다.
루프(loop) 외부에서의 관점이 필요합니다.
잘못된 이야기란 무엇인가
잘못된 숫자는 유형화(typed)되어 있습니다.
그것은 형태를 가집니다.
샘플이 임계값(threshold)을 통과했는가?
판결이 고정된 규칙(frozen rule)과 일치하는가?
해시 체인(hash chain)이 검증되었는가?
도구가 허용 목록(allowlist)에 속해 있는가?
이것들은 어려운 문제들이지만, 체크 가능한 것들입니다.
잘못된 이야기는 다릅니다.
"우리는 근접했습니다."
"이것이 마일스톤(milestone)입니다."
"영수증(receipts)이 그것을 증명합니다."
"시스템이 준비되었습니다."
이러한 문장들은 유효하지 않은 JSON처럼 보이지 않습니다.
그것들은 마치 추진력(momentum)처럼 보입니다.
그렇기 때문에 그것들이 빠져나가는 것입니다.
메커니즘은 이미 그곳에 있었다
6월 21일 포스트에서, 나는 다음과 같은 사다리를 사용했습니다:
- 이론 (Theory)
- 움직임 (Motion)
- 영수증 (Receipts)
- 증명 (Proof)
- 결과 (Outcome)
이론은 아이디어입니다.
움직임은 그 아이디어를 둘러싼 활동입니다.
영수증은 구체적인 무언가가 일어났음을 증명합니다.
증명은 영수증이 당신이 실제로 던진 질문에 답할 때 이루어집니다.
결과는 그 답이 현실 세계의 무언가를 변화시킬 때 이루어집니다.
이 사다리는 단순한 글쓰기 프레임이 아닙니다.
그것은 이야기 게이트(story gate)의 시작입니다.
잘못된 이야기란, 그 근거가 획득한 단계보다 사다리 위 더 높은 단계로 뛰어넘는 주장입니다.
"우리는 도구를 실행했다"는 영수증(receipt)입니다.
"그 도구가 가치를 창출했다"는 결과(outcome)에 대한 주장입니다.
그것들은 같은 문장이 아닙니다.
"채점자가 큐레이션된 세트를 전달했다"는 하나의 좁은 실행(run)에 대한 증거입니다.
"우리는 우위(edge)를 발견했다"는 훨씬 더 높은 수준의 주장입니다.
그것들 또한 같은 문장이 아닙니다.
실패는 단지 과장(hype)에 그치지 않습니다.
그것은 계층의 상승(tier escalation)입니다.
주장이 증거 비용(evidence cost)을 지불하지 않은 채 한 단계에서 다른 단계로 이동한 것입니다.
증거 계층 강제 프로토콜 (The Evidence-Tier Enforcement Protocol)
대략적인 스토리 게이트(story gate)는 문장이 자신감 있게 들리는지를 묻지 않습니다.
그것은 문장이 어떤 계층(tier)을 주장하고 있는지를 묻습니다.
| 주장 | 주장된 계층 | 요구되는 증거 | 상태 |
|---|---|---|---|
| "게이트가 주문 도구를 차단했다." | 영수증(Receipt) / 증거(Proof) | 명세(Manifest) + 정책(policy) + 거부 영수증(refusal receipt) | 지원됨 |
| ... |
확인 방법은 간단합니다:
증거가 문장이 점유하려는 계층을 뒷받침하는가?
만약 그렇지 않다면, 시스템은 문장이 변경 없이 통과되도록 두어서는 안 됩니다.
시스템은 그것을 강등(downgrade)시켜야 합니다.
다음에서:
우리는 전략을 증명했다.
다음으로:
우리는 한 번의 실행으로부터 영수증을 생성했다. 이것이 전략적 우위(strategy edge)를 증명하지는 않는다.
이것이 스토리 게이트(story gate)입니다.
검열(censorship)이 아닙니다.
어조 규제(tone policing)도 아닙니다.
증거 계층 강제(Evidence-tier enforcement)입니다.
외부 관점 (The Outside View)
이것이 사전 등록(pre-registration)이 중요한 이유입니다.
실행(run) 전에 작성된 고정된 규칙은 단순한 계획 노트가 아닙니다.
그것은 시간을 가로지르는 두 번째 관점(second view)입니다.
현재의 실행은 표류할 수 있습니다.
현재의 에이전트(agent)는 서술(narrate)할 수 있습니다.
현재의 인간은 결과가 실제 의미보다 더 큰 의미를 갖기를 원할 수 있습니다.
하지만 공개된 실행 전 약속(pre-run commitment)은 결과가 존재하기 전에 작성되었기 때문에 이들 모두와 여전히 의견이 다를 수 있습니다.
이는 실행 중인 시스템이 그것을 조용히 편집할 수 없을 때에만 작동합니다.
실행 중간에 변경할 수 있는 노트는 두 번째 관점이 아닙니다.
그것은 과거의 타임스탬프를 달고 있는 현재일 뿐입니다.
동일한 경계가 영수증(receipts)에서도 나타납니다.
영수증은 무언가가 일어났음을 증명할 수 있습니다.
변조 방지 영수증(tamper-evident receipt)은 기록이 사후에 변경되지 않았음을 증명할 수 있습니다.
하지만 기록을 작성할 때 생산자가 정직했는지는 증명할 수 없습니다.
머클 루트(Merkle root)는 영수증이 변경되지 않았음을 증명할 수 있습니다.
애초에 블랙박스 (black box)가 진실된 영수증을 작성했는지는 증명할 수 없습니다.
무결성 (Integrity)은 정직함 (honesty)이 아닙니다.
이 차이는 매우 중요합니다. 왜냐하면 스토리 게이트 (story gate)는 스토리의 저자가 스토리를 인증할 것이라고 신뢰할 수 없기 때문입니다.
스토리가 작성하지 않은 닻 (anchor)이 필요합니다.
인간은 여전히 게이트였다
이 지점이 바로 나의 시스템이 스스로의 철학에 실패한 부분입니다.
코드는 잘못된 숫자를 잡아낼 수 있었습니다.
그것은 변동 횟수 (variant-count) 문제를 잡아냈습니다.
그것은 풀링 전략 (pooled-strategy) 문제를 잡아냈습니다.
그것은 고정된 검증 유니버스 (validation universe)에서의 일반적인 RSI2 결과를 차단했습니다.
하지만 작업에 관한 스토리는 여전히 부풀려지기를 원했습니다.
영수증 (Receipts)은 증명 (proof)이 되려 했습니다.
증명 (Proof)은 결과 (outcome)가 되려 했습니다.
준비 (Preparation)는 진전 (progress)이 되려 했습니다.
그리고 나는 그것을 계속해서 막아야만 했습니다.
이는 시스템이 아직 자기 수정 (self-correcting) 중이 아니라는 것을 의미합니다.
그것은 인간에 의한 수정 (correction-by-human)이었습니다.
작성된 프로토콜 (protocol)은 에이전시 (agency, 주체성)가 아닙니다.
프로토콜은 인간이 개입해야 하기 전에 루프를 중단시킬 수 있을 때 비로소 에이전시가 됩니다.
빌더는 시스템의 일부이다
내가 스스로에게서 잡아내야 할 잘못된 스토리가 하나 더 있습니다.
프레임워크 (framework)를 설명할 수 있기 때문에 시스템을 이해하고 있다는 스토리입니다.
그것만으로는 충분하지 않습니다.
만약 내가 코드를 설명할 수 없다면, 나는 리스크 (liability)가 됩니다.
만약 고객이 특정 모듈이 무엇을 하는지, 병목 현상 (bottleneck)이 어디인지, 변경 시 무엇이 깨지는지 물었을 때, 내가 오직 철학으로만 대답할 수 있다면, 나는 여전히 블랙박스 (black box)에 의존하고 있는 것입니다.
그것을 정직하게 밝힌다면 사기는 아니겠지만, 그것은 공백 (gap)입니다.
그리고 나는 의존성을 주권 (sovereignty)인 척하면서 AI에 의존하는 회사를 만들고 싶지 않습니다.
따라서 이 게이트의 일부는 나에게 달려 있습니다.
나는 기계 (machine)를 배워야 합니다.
모든 언어를 말하는 것이 아닙니다.
모든 프레임워크를 말하는 것도 아닙니다.
바로 이 기계 말입니다.
매니페스트 게이트 (manifest gate).
정책 레이어 (policy layer).
영수증 체인 (receipt chain).
스코어러 (scorer).
판결 로직 (verdict logic).
만약 내일 AI 접근 권한이 사라지더라도, 그 방법론이 함께 사라져서는 안 됩니다.
그것 또한 자기 수정 (self-correction)의 일부입니다.
이것이 트레이딩 작업에서 바꾸는 것
이것은 라이브 트레이딩 (live trading)을 가리키는 것이 아닙니다.
에이전트 (agent)가 우위 (edge)를 가진 것처럼 가장하는 것을 가리키는 것도 아닙니다.
트레이딩 증명 (trading proof) 도메인의 경우, 이는 제 친구가 따르는 전략의 소스를 가져와 다음과 같은 명시적인 규칙으로 강제하는 것을 의미합니다:
- 셋업 (setup)
- 진입 (entry)
- 무효화 (invalidation)
- 청산 (exit)
- 리스크 상한 (risk cap)
- 진입 전 근거 (evidence before entry)
- 종이 결과 (paper outcome)
- 사후 해석 (post-hoc)으로 간주되는 것과 그렇지 않은 것
에이전트 (agent)의 첫 번째 진짜 임무는 신탁 (oracle)이 되는 것이 아닙니다.
그것은 신호 소스 (signal source)에 대한 규율을 강제하는 것입니다.
불분명한 호출은 거부해야 합니다.
리스크 규모를 조절해야 합니다.
모든 결과를 기록해야 합니다.
과장된 홍보 (hype)를 감사 가능하게 (auditable) 만들어야 합니다.
그것이 6월 21일 게시물이 이끄는 방향입니다.
"이제 AI가 트레이딩을 할 수 있다"가 아닙니다.
바로 이것입니다:
시스템이 이야기를 근거가 획득한 수준 (tier) 내에 유지할 수 있는가?
내가 하기 전에 나쁜 이야기를 멈출 수 있는가?
그리고 기계가 단지 나에게 더 나은 이야기를 들려주고 있을 뿐일 때, 그것을 알아차릴 수 있을 만큼 기계를 충분히 이해하고 있는가?
그것이 이 글이 가리키는 관문입니다.
코드에 대해서만 말하는 것이 아닙니다.
이야기에 대해서도, 그리고 빌더 (builder)에 대해서도 말하는 것입니다.
이 글은 6월 21일 게시물에 달린 공개 댓글 스레드에서 직접 파생되었습니다. Nazar Boyko는 "잘못된 숫자 / 잘못된 이야기" 사이의 간극을 명명했습니다. Mike Czerwinski는 이 작업의 측면을 형성한 외부 관점 (outside-view) 및 검증자 쇠퇴 (verifier-decay) 프레임을 밀어붙였습니다. Alex Shev는 사전 등록 (pre-registration) 포인트를 날카롭게 다듬었습니다. UnitBuilds는 고속 게이팅 (high-speed gating) 및 변조 방지 파일 (tamper-evident files)에 관한 작업을 통해 영수증/무결성 (receipt/integrity) 경계를 압박했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기