판례 시연: 프레임워크(Framework) vs 법원¶
각 판례는 세 부분으로 구성됩니다:
- 식별 — 당사자와 행위를 Haskell 값(value)으로 대응
- 사실 변환 — 판례 사실관계를 프레임워크 인코딩(encoding)으로 대응
- 판단 비교 — 실제 법원 판시사항 vs 프레임워크 출력
python3 scripts/generate-cases.py 실행 후 python3 scripts/assemble-cases.py로 생성됩니다.
프레임워크 출력은 순수하게 기계적입니다 — 사실관계가 대응되면, 인간의 판단은 개입하지 않습니다.
파이프라인(Pipeline) 요약¶
인식된 사실관계 (자연어)
│
│ ← 사람/LLM 판단 (유일한 비기계적 단계)
▼
신원 + 사실 변환 (위 표 참조)
│
│ ← 순수 기계적 처리 (evaluateAll + renderJudgment)
▼
프레임워크 출력 (위 표의 오른쪽 열)
│
│ ← LLM 하위 에이전트(subagent) (고정 지시문, 컨텍스트 없음)
▼
매칭 검증 (match.yaml)
사례 1: 미성년자의 신용구매 (대법원 2005다71659)¶
판정: ⚠ 부분 일치 — 최종 결론(유효)과 근거 조문(제5조)은 일치하나, 판례의 핵심 논증인 묵시적 동의·처분허락 법리(§6)와 신의칙(§2) 항변 배척 논의를 프레임워크가 전혀 다루지 못하고 있다. 프레임워크는 제5조 제1항만 인용하며 단순히 '유효'라고 결론짓고 있어, 동의 존부에 대한 판단 과정이 누락되어 있다.
당사자¶
| ID | 역할 | Haskell |
|---|---|---|
minor |
미성년자 (만 19세, 신용구매계약 체결자) | PersonId "minor" |
guardian |
법정대리인 | PersonId "guardian" |
merchant |
신용카드 가맹점 (상대방) | PersonId "merchant" |
contract |
신용구매계약 | ActId "contract" |
사실관계 번역¶
- 계약 체결자는 미성년자이다
- 미성년자에게 법정대리인이 있다
- 법정대리인의 묵시적 처분허락이 소득 범위 내에서 인정됨
IsMinor minorHasGuardian minor guardianHasConsent guardian contract
판결 비교¶
주문¶
상고를 기각한다. 상고비용은 원고가 부담한다.
판결요지¶
[1] 법정대리인의 동의 없이 신용구매계약을 체결한 미성년자가 그 동의 없음을 이유로 위 계약을 취소하는 것이 신의칙에 위배되지 않음
[2] 미성년자의 법률행위에 대한 법정대리인의 동의는 묵시적으로도 가능함
[3] 미성년자의 법률행위에 있어서 법정대리인의 묵시적 동의나 처분허락의 인정 여부를 판단할 때, "미성년자의 연령·지능·직업·경력, 법정대리인과의 동거 여부, 독자적인 소득의 유무와 그 금액, 경제활동의 여부, 계약의 성질·체결경위·내용, 기타 제반 사정을 종합적으로 고려"하여야 하며, 신용카드 구매와 현금구매를 달리 볼 필요 없음
[4] 만 19세 이상 미성년자가 월 소득범위 내에서 신용구매계약을 체결한 경우, 스스로 얻은 소득에 대하여는 법정대리인의 묵시적 처분허락이 있었다고 봄
이유¶
"행위무능력자 제도는 사적자치의 원칙이라는 민법의 기본이념, 특히 자기책임 원칙의 구현을 가능케 하는 도구로서 인정되는 것이고, 거래의 안전을 희생시키더라도 행위무능력자를 보호하고자 함에 근본적인 입법취지가 있는 것인바"에 비추어, ... 미성년자가 이러한 신뢰에 반하여 취소권을 행사하는 것이 정의관념에 비추어 용인될 수 없는 정도라고 보기 어려움. ... 그러나 "미성년자가 법률행위를 함에 있어서 요구되는 법정대리인의 동의는 언제나 명시적이어야 하는 것은 아니고 묵시적으로도 가능한 것이며", ... 원고는 1982년 8월 26일생으로 사건 당시 만 19세 2개월 내지 4개월의 성년에 거의 근접한 나이였고, 월 60만 원 이상의 소득을 얻고 있었으며, ... 원고가 스스로 얻은 소득에 대하여는 법정대리인의 묵시적 처분허락이 있었다고 봄.
사례 2: 통정허위표시 — 선의 제3자 심리 미진 (대법원 94다12074)¶
판정: ⚠ 부분 일치 — 프레임워크는 §108①(통정허위표시 무효)과 §108②(선의의 제3자 보호)를 정확히 적용하여 법률행위를 유효로 판단하였고, 이는 대법원이 설시한 법리(선의의 제3자에 대해서는 허위표시도 표시된 대로 효력이 있다)와 일치한다. 다만 대법원은 피고들이 실제로 선의인지 여부에 대한 사실심리가 필요하다고 보아 파기환송한 반면, 프레임워크는 선의를 전제로 곧바로 유효라고 결론내려 사실인정의 조건부 판단이 누락되어 있다.
당사자¶
| ID | 역할 | Haskell |
|---|---|---|
corp |
소외 회사 (태영공영, 부동산 원소유자) | PersonId "corp" |
sooe1 |
소외 1 (허위 가등기 명의인) | PersonId "sooe1" |
defendants |
피고들 (소외 2로부터 양수한 자, 선의 여부 미심리) | PersonId "defendants" |
sham-act |
소외 회사-소외 1 간 허위 매매예약 | ActId "sham-reservation" |
사실관계 번역¶
- 소외 회사와 소외 1 간 매매예약은 통정허위표시이다
- 소외 1은 허위임을 알고 있었다
- 피고들의 선의 여부는 미심리 (환송 사유)
HiddenIntentionCounterpartyKnewBonaFideThirdParty 여부 미확인
판결 비교¶
주문¶
원심판결을 파기하고 사건을 서울고등법원에 환송한다.
판결요지¶
[1] 상대방과 통정한 허위의 의사표시는 무효이나, "허위표시에 의하여 외형상 형성된 법률관계를 토대로 실질적으로 새로운 법률상 이해관계를 맺은 선의의 제3자에 대하여는 허위표시의 당사자뿐만 아니라 그 누구도 허위표시의 무효를 대항하지 못"한다.
[2] 통정한 허위의 가등기 및 본등기로 인하여 원고의 소유권이전등기가 말소된 후, 다시 그 본등기에 기하여 피고가 부동산을 양수하여 소유권이전등기를 마친 경우, 피고가 선의의 제3자라면 원고는 허위표시의 무효를 주장할 수 없다.
이유¶
원심판결이 선의의 제3자에 대한 허위표시의 효력에 관한 법리를 오해하고 심리를 미진하여 판결에 영향을 미친 위법이 있다. 따라서 원심판결을 파기하고 사건을 환송한다.
사례 3: 통정허위표시 — 제3자 지위 부정 (대법원 2019다280375)¶
판정: ❌ 불일치 — 프레임워크는 제108조 제2항을 기계적으로 적용하여 선의의 제3자 보호에 의해 유효라고 판단하였으나, 대법원은 후속 등기권리자들이 허위의 가등기 자체가 아닌 원인무효의 본등기를 신뢰 기반으로 삼았으므로 제108조 제2항의 제3자에 해당하지 않는다고 판시하여 무효라고 결론지었다. 프레임워크의 결론(유효)과 법원의 결론(무효)이 정면으로 모순된다.
당사자¶
| ID | 역할 | Haskell |
|---|---|---|
gap |
갑 (부동산 소유자) | PersonId "gap" |
eul |
을 (허위 가등기 수령자) | PersonId "eul" |
mu |
무 (최종 매수인, 제3자 해당 여부 쟁점) | PersonId "mu" |
sham-act |
갑-을 간 허위 매매예약 | ActId "sham-reservation" |
사실관계 번역¶
- 갑과 을의 매매예약은 통정한 허위의 의사표시이다
- 을은 허위 의사표시임을 알고 있었다 (통정)
- 무는 선의의 제3자에 해당하지 않는다 (법원 판단)
HiddenIntentionCounterpartyKnewBonaFideThirdParty 부재
판결 비교¶
주문¶
원심판결을 파기하고, 사건을 서울동부지방법원 합의부에 환송한다.
판결요지¶
[1] 상대방과 통정한 허위의 의사표시는 무효이며, 이러한 무효를 선의의 제3자에게 대항하지 못하게 한 취지는 "이를 기초로 하여 별개의 법률원인에 의하여 고유한 법률상의 이익을 갖는 법률관계에 들어간 자를 보호"하기 위한 것. 제3자의 범위는 형식적이 아닌 "실질적으로 새로운 법률상 이해관계를 맺었는지 여부에 따라" 판단해야 함.
[2] 가등기의 명의인이 통정한 허위의 의사표시가 철회된 후 일방적으로 마친 본등기는 "원인무효의 등기"이며, 부동산등기에 공신력이 없는 우리 법제하에서는 특별한 사정이 없는 한 무효. ... 후순위 등기인들은 "허위 가등기 자체를 기초로 하여 새로운 법률상 이해관계를 맺은 제3자"로 볼 수 없음.
이유¶
소외 1 명의의 본등기는 "통정한 허위의 의사표시 자체에 기한 것이 아니라, 이러한 통정한 허위의 의사표시가 철회된 이후에" 마쳐진 등기. 가등기의 설정행위와 본등기의 설정행위는 "엄연히 구분"되므로, 후순위 등기인들의 신뢰 대상은 가등기가 아닌 본등기에 불과함. 따라서 이들이 "허위 가등기 자체를 기초로 하여 새로운 법률상 이해관계를 맺은 제3자"로 볼 수 없다.
사례 4: 착오 + 중대한 과실 + 상대방 이용 (대법원 2013다49794)¶
판정: ⚠ 부분 일치 — 프레임워크와 판결 모두 민법 제109조를 적용하여 착오에 의한 의사표시의 취소 문제를 다루고 있으나, 프레임워크는 중대한 과실 시 취소 불가라는 원칙만 적용하여 '유효'로 결론을 내렸다. 반면 대법원은 상대방이 착오를 알고 이용한 경우 중과실이 있더라도 취소가 가능하다는 예외 법리를 제시하여, 프레임워크가 포착하지 못한 핵심 예외가 존재한다.
당사자¶
| ID | 역할 | Haskell |
|---|---|---|
declarant |
표의자 (착오로 의사표시를 한 자) | PersonId "declarant" |
counterparty |
상대방 (착오를 알고 이용한 자) | PersonId "counterparty" |
declaration |
의사표시 (착오 있는 법률행위) | ActId "declaration" |
사실관계 번역¶
- 표의자에게 중대한 과실이 있었음
- 상대방이 표의자의 착오를 알고 이를 이용하였음
GrossNegligenceCounterpartyKnew
판결 비교¶
주문¶
상고를 기각한다. 상고비용은 피고가 부담한다.
판결요지¶
[1] 민법 제109조는 의사표시에 착오가 있는 경우 이를 취소할 수 있도록 하여 표의자를 보호하면서도, 그 착오가 법률행위의 내용의 중요 부분에 관한 것이 아니거나 표의자의 중대한 과실로 인한 경우에는 그 취소권 행사를 제한하는 한편, 표의자가 의사표시를 취소하는 경우에도 그 취소로 선의의 제3자에게 대항하지 못하도록 하여 거래의 안전과 상대방의 신뢰를 아울러 보호하고 있다. 이러한 민법 제109조의 법리는 그 적용을 배제하는 취지의 별도의 규정이 있거나 당사자의 합의로 그 적용을 배제하는 등의 특별한 사정이 없는 한 원칙적으로 모든 사법(私法)상의 의사표시에 적용된다고 보아야 한다. ...
[2] 민법 제109조 제1항 단서는 의사표시의 착오가 표의자의 중대한 과실로 인한 때에는 그 의사표시를 취소하지 못한다고 규정하고 있는데, 위 단서 규정은 표의자의 상대방의 이익을 보호하기 위한 것이므로, 상대방이 표의자의 착오를 알고 이를 이용한 경우에는 그 착오가 표의자의 중대한 과실로 인한 것이라고 하더라도 표의자는 그 의사표시를 취소할 수 있다.
이유¶
민법 제109조의 법리는 원칙적으로 모든 사법상 의사표시에 적용되며, 금융투자상품시장 거래도 별도의 배제 규정이 없으면 민법 제109조가 적용된다는 원심의 판단을 수긍. 상대방이 표의자의 착오를 알고 이를 이용한 경우 중대한 과실이 있더라도 취소 가능하다는 원심의 판단이 정당. 사건에서 피고 직원이 비정상적 주문가격을 확인한 후 이를 이용해 단시간 내 반복적으로 매도주문을 한 것으로 인정.
사례 5: 상대방 대리인의 사기 (제3자 사기 부정) (대법원 98다60828)¶
판정: ❌ 불일치 — 프레임워크는 §110(2)를 적용하여 제3자 사기 상황으로 판단하고 법률행위가 유효하다고 결론지었으나, 대법원은 출장소장이 상대방(은행)과 동일시할 수 있는 자이므로 제3자에 해당하지 않아 §110(2)의 제한이 적용되지 않고 취소 가능하다고 판시하였다. 프레임워크가 '상대방과 동일시할 수 있는 자'의 법리를 반영하지 못한 것이 핵심 오류이다.
당사자¶
| ID | 역할 | Haskell |
|---|---|---|
bank |
원고 은행 (상대방) | PersonId "bank" |
defendants |
피고들 (사기에 의해 약정한 자) | PersonId "defendants" |
branch-mgr |
출장소장 (은행과 동일시되는 자, 사기 행위자) | PersonId "branchMgr" |
agreement |
금전소비대차 및 연대보증 약정 | ActId "agreement" |
사실관계 번역¶
- 출장소장이 피고들을 기망하여 약정 체결
- 출장소장은 제3자가 아니라 은행과 동일시되는 자 (법원 판단)
ThirdPartyFraudCustom: AgentIdentifiableWithCounterparty (ADT 미지원)
판결 비교¶
주문¶
상고를 기각한다. 상고비용은 원고의 부담으로 한다.
판결요지¶
[1] 상대방 있는 의사표시에 관하여 제3자가 사기나 강박을 한 경우에는 상대방이 그 사실을 알았거나 알 수 있었을 경우에 한하여 그 의사표시를 취소할 수 있으나, "상대방의 대리인 등 상대방과 동일시할 수 있는 자의 사기나 강박은 제3자의 사기·강박에 해당하지 아니한다."
[2] 은행의 출장소장이 어음할인을 부탁받자 그 어음이 부도날 경우를 대비하여 담보조로 받아두는 것이라고 속이고 금전소비대차 및 연대보증 약정을 체결한 후 그 대출금을 자신이 인출하여 사용한 사안에서, 위 출장소장의 행위는 "은행 또는 은행과 동일시할 수 있는 자의 사기일 뿐 제3자의 사기로 볼 수 없으므로," 은행이 그 사기사실을 알았거나 알 수 있었을 경우에 한하여 위 약정을 취소할 수 있는 것은 아니라고 본 사례.
이유¶
소외 1은 원고 은행 출장소장으로서 피고들에게 위 어음들이 부도날 경우를 대비하여 담보의 의미로 받아두는 것이라고 거짓말하고 이에 속은 피고들로 하여금 ... 금전소비대차약정서 등 대출관련 서류에 서명·날인하게 한 다음 ... 그 금원을 인출, 임의 사용하였다. ... 소외 1의 사기는 원고 또는 원고와 동일시할 수 있는 자의 사기일 뿐 제3자의 사기로 볼 수 없으므로, 원고가 소외 1의 사기사실을 알았거나 알 수 있었을 경우에 한하여 피고가 위 약정을 취소할 수 있다고 볼 것은 아니다.
사례 6: 무권대리 + 표현대리 불성립 (대법원 91다32190)¶
판정: ❌ 불일치 — 법원은 고객유치·투자상담 등의 업무위임이 사실행위에 불과하여 기본대리권이 될 수 없다고 보아 제126조 표현대리 성립을 부정하였으나, 프레임워크는 제126조를 그대로 적용하여 유효라고 판단하였다. 프레임워크가 기본대리권의 성질(법률행위 위임 vs 사실행위 위임)을 구별하지 못한 것이 불일치의 원인이다.
당사자¶
| ID | 역할 | Haskell |
|---|---|---|
principal |
증권회사 (본인) | PersonId "principal" |
agent |
사실상 투자상담사 (무권대리인) | PersonId "agent" |
counterparty |
고객/투자자 (상대방) | PersonId "counterparty" |
contract |
예탁금 수령 및 위탁매매계약 | ActId "contract" |
사실관계 번역¶
- 대리인이 권한을 넘어 계약 체결
- 위임받은 업무는 사실행위에 불과하여 기본대리권 부정
ExceededScopeCustom: NoBasicAgencyAuthority (ADT 미지원)
판결 비교¶
주문¶
각 상고를 기각한다. 상고비용은 상고인 각자의 부담으로 한다.
판결요지¶
가. 증권회사의 직원이 아니면서도 사실상 투자상담사의 역할을 하는 자에게 유가증권 매매의 위탁 권유 등과 관련하여 증권회사를 대리하여 예탁금을 수령하거나 위탁매매계약을 체결할 권한이 있고 또 그것이 증권업계의 일반적인 관행이라고 볼 수 없다고 한 사례.
나. 민법 제126조의 표현대리가 성립하기 위하여는 무권대리인에게 법률행위에 관한 기본대리권이 있어야 하는데, 증권회사로부터 위임받은 고객의 유치, 투자상담 및 권유, 위탁매매약정실적의 제고 등의 업무는 사실행위에 불과하므로 이를 기본대리권으로 하여서는 권한초과의 표현대리가 성립할 수 없다.
이유¶
원심은 소외 강명복이 투자상담사로서 등록을 하지 아니한 채 피고 회사 장안동지점장의 묵인하에 사실상 투자상담사로서 근무하면서 고객을 유치하고 고객들을 상대로 투자상담 등의 업무를 한 사실이 인정되나 위 강명복이 피고 회사를 대리하여 고객으로부터 예탁금을 수령할 권한이 있는 자로는 볼 수 없다고 판단하였다. ... 증권회사로부터 위임받은 고객의 유치, 투자상담 및 권유, 위탁매매약정실적의 제고 등의 업무는 사실행위에 불과하므로 이를 기본대리권으로 하여서는 권한초과의 표현대리가 성립할 수 없다.
분석: 현재 한계와 확장성¶
현재 상태¶
대법원 판례 6건을 대상으로 검토한 결과, 프레임워크는 조문을 정확히 인코딩하고 있으나 판례법리 — 판례를 통해 확립된 법관 해석론 — 는 아직 반영하지 못하고 있다.
| 사건 | 일치 여부 | 누락된 법리 |
|---|---|---|
| 2005다71659 | ⚠️ 부분 일치 | §6 묵시적 동의(처분허락)에 대한 추론 경로 |
| 94다12074 | ⚠️ 부분 일치 | 사실관계 확정에 따른 조건부 판단 (선의 여부) |
| 2013다49794 | ⚠️ 부분 일치 | 상대방의 기망이 중과실 항변을 번복 (§109 판례법리) |
| 2019다280375 | ❌ 불일치 | 등기 연쇄의 유효성 분석 (등기법 layer) |
| 98다60828 | ❌ 불일치 | 대리인이 상대방과 동일시되는 경우 ≠ 제3자 (§110②) |
| 91다32190 | ❌ 불일치 | 사실행위 위임 ≠ 기본대리권 (§126 전제요건) |
이것이 의미하는 바¶
위 불일치는 설계상의 한계가 아니라 인코딩 범위의 공백이다. 프레임워크의 핵심 엔진은 이 공백을 메우는 데 필요한 메커니즘을 이미 갖추고 있다: 계층화된 번복 가능 추론(defeasible reasoning).
각 법률 규칙은 하위 계층의 판단을 번복할 수 있으며, 번복 경로 전체가 타입 수준의 증명 항(proof term)으로 보존된다:
-- Base rule application
JBase :: Verdict → ArticleRef → Text → Judgment '[l]
-- Higher layer overrides lower layer's verdict
JOverride :: Judgment prev → Verdict → ArticleRef → Text → Judgment (l ': prev)
-- Higher layer delegates (does not override)
JDelegate :: Judgment prev → Judgment (l ': prev)
위에서 식별된 공백을 메우려면 다음과 같이 확장한다:
98다60828 — AgentIdentifiableWithCounterparty 사실을 추가한다.
이 사실이 존재하면, 새로운 계층이 §110②의 제3자 사기 제한을 번복한다.
기존 §110 규칙은 수정하지 않는다.
2013다49794 — CounterpartyExploitedMistake 사실을 추가한다.
이 사실이 존재하면, 새로운 계층이 §109의 중과실 항변을 번복한다.
기존 §109 규칙은 수정하지 않는다.
91다32190 — DelegatedFactualActOnly 사실을 추가한다.
이 사실이 존재하면, 전제조건 단계에서 §126 표현대리의 적용을 차단한다.
기존 §126 규칙은 수정하지 않는다.
각 확장은 기존 규칙을 수정하지 않고 새로운 사실 유형과 새로운 계층을 추가한다. 이것이 번복 가능 추론 엔진이 설계된 대로 작동하는 방식이다.
검증 파이프라인을 개발 도구로 활용하기¶
이 비교 파이프라인은 프레임워크가 어디를 보완해야 하는지를 기계적으로 식별해 준다:
- 판례의 사실관계를 사실(fact)로 인코딩한다
- 프레임워크 출력을 생성한다 (순수 기계적)
- 사전 맥락 없는 LLM이 출력과 실제 판결을 비교한다
- 각 불일치 항목이 곧 다음으로 인코딩할 법리이다
불일치 ≠ 실패. 불일치 = 다음 작업 항목.
부록: 검증 방법론(Verification Methodology)¶
일치 검증 하위 에이전트(Match Verification Subagent)¶
각 사례는 LLM 하위 에이전트(subagent)가 프레임워크 출력과 실제 법원 판결을 비교하여 검증합니다. 하위 에이전트는 다음 제약 조건 하에서 동작합니다:
- 모델(Model): Claude (claude-opus-4-6 via Claude Code Agent tool)
- 제공되는 맥락(Context): 없음 —
fulltext.md와framework-output.md만 제공 - 지시문(Directive):
scripts/directives/verify-match.md
하위 에이전트는 프로젝트 구조, Haskell 코드, 또는 다른 사례에 대한 사전 지식이 없습니다. 지정된 두 파일만 읽고 YAML 형식의 판정 결과를 출력합니다.
일치 기준(Match Criteria)¶
- true: 프레임워크의 최종 판단이 법원의 판시 사항과 본질적으로 일치함
- partial: 일부 쟁점에서는 일치하나 다른 쟁점에서는 불일치함
- false: 프레임워크의 결론이 법원의 결정과 모순됨