Files
Liti-agent-Development/업데이트연구/질문답변_3.md
T

279 lines
21 KiB
Markdown

## 질문
> 청구개요서.md에서 `C-004: 사해행위취소 및 가액배상 청구 (주공아파트 - 박수용)`의 `청구취지`는 "1. 피고 김수경과 피고 박수용 사이에 2017. 8. 31. 체결된 서울 강남구 개포동 715 주공아파트 2차 203동 202호에 관한 매매계약을 원고들의 피보전채권 합계액의 한도에서 취소한다. 2. 피고 박수용은 원고 우방캐피탈 주식회사에게 금 2억 8,000만 원을, 원고 우방신용보증 주식회사에게 금 2억 2,000만 원을 각 지급하라."이다.
>
> 그런데 앞에서 언급한 법조인은 이 내용을 아래와 같이 수정할 것을 권고하였다.
> `원고들과 피고 박수용 사이에서,
> 가. 피고 박수용과 피고 김수경 사이에 별지 목록 기재 제2부동산에 관하여 2017.8.31. 체결된 매매계약을 220,000,000원의 한도 내에서 취소한다.
> 나. 피고 박수용은, 1) 원고 우방캐피탈 주식회사에게 110,000,000원 및 이에 대한 2017. 9. 1.부터 이 사건 변론종결일까지 월 1%의 비율에 의한 금원과 각 이에 대한 이 판결확정일 다음날부터 다 갚는 날까지 연 5%의 비율에 의한 금원을 지급하고, 2) 원고 우방신용보증보험 주식회사에게 220,000,000원 및 이에 대한 이 판결확정일 다음날부터 다 갚는 날까지 연 5%의 비율에 의한 금원을 지급하라.`
> 에이전트(LLM)가 법조인이 제시한 청구취지 내용처럼 청구취지 내용이 작성하도록 하려면, stage 2 프롬프트(특히 stage 2의 Task A)에 어떤 내용을 추가하는 것이 좋은가? Task A 프롬프트를 어떻게 개선하면 좋을지 제안하라.
## 답변
> 이번 차이는 C-003보다 더 미세합니다. C-004는 단순히 “가액배상형이냐 말소등기형이냐”가 아니라, **취소 한도액, 공동원고별 안분, 지연손해금의 발생시점과 이율 구조**를 어떻게 분해하느냐의 문제입니다.
>
> 지금 보이는 핵심 오류는 세 층위입니다. 에이전트는 C-004에서 **(1) 취소 한도액**, **(2) 원고별 가액배상 귀속액**, **(3) 지연손해금의 발생 구조**를 모두 하나의 단순 템플릿으로 처리했습니다.
이번 C-004의 차이는 C-003보다 한 단계 더 구조적입니다.
여기서는 단순히 “가액배상형을 쓸 것인가”의 문제가 아니라, **사해행위취소 + 가액배상 청구에서** 다음 네 요소를 어떻게 계산·문안화하느냐의 문제입니다.
1. **취소 한도액**을 얼마로 쓸 것인가
2. **복수 원고별 가액배상액**을 어떻게 나눌 것인가
3. **사해행위 이후 변론종결시까지의 이자·지연손해금**을 피보전채권액에 어떻게 반영할 것인가
4. **판결 확정 후의 지연손해금 문구**를 어떻게 붙일 것인가
현재 에이전트의 C-004 문안은 이 네 요소를 전부 생략하거나 뭉뚱그렸습니다. `청구취지`는 “원고들의 피보전채권 합계액의 한도에서 취소”라고 추상적으로 쓰고, 이어서 우방캐피탈 2억 8,000만 원, 우방신용보증 2억 2,000만 원을 그대로 병렬 지급시키고 있습니다.
그런데 같은 산출물 안의 경제성 평가에서는 오히려 **“부동산 시가 5억, 선순위 담보채무 공제 후 잔여 가액 약 5천만 원 이상 추정”**이라고 적고 있습니다. 즉, 내부적으로는 공제 필요를 인식했으면서도, 최종 `relief_summary`에서는 그 계산을 반영하지 못했습니다.
더 결정적인 것은, stage2_1 자체가 이미 **“C-004 가액배상액 산정 시 선순위 근저당권 피담보채권액 공제 필요 - 사해행위 당시 존재하던 근저당권 채권액 기준으로 공제 후 배상액 산정해야 함”**이라는 경고를 남기고 있다는 점입니다. 다시 말해, 모델은 문제가 있다는 사실은 감지했지만, Task A가 그 경고를 **강제적인 재산정·재작성 단계**로 연결하지 않았습니다.
이 현상은 프롬프트 설계상 자연스러운 결과입니다. Task A는 `relief_summary`에 대해, 사해행위취소청구의 경우 `사해행위취소청구_청구고려사항.md`의 기준을 “반드시 적용”하라고만 하고, 실제로는 **어떤 순서로 계산하고, 계산이 끝나기 전에는 청구취지를 쓰지 말라**는 강제 규칙이 없습니다. 즉, “법리를 참조하라”는 지시는 있지만, “산식과 검증표를 먼저 만들라”는 지시는 없습니다.
그런데 `사해행위취소청구_청구고려사항.md`는 C-004 같은 사건에 매우 중요한 규칙을 이미 담고 있습니다.
- 복수 채권자가 있는 경우, **원고별 피보전채권액과 회복범위를 개별적으로 특정**해야 한다고 합니다. 즉, “원고들의 피보전채권 합계액”처럼 한 줄로 뭉개는 방식은 애초에 부정확합니다.
- 저당권이 설정된 부동산이 사해행위로 양도된 뒤 그 저당권이 소멸한 경우에는 **원물반환이 아니라 가액배상**으로 간다고 정리합니다. C-004는 바로 그 구조입니다.
- 가액배상액을 산정할 때는 **부동산 가액에서 말소된 저당권뿐 아니라 여전히 남은 저당권의 피담보채권액도 공제**해야 하며, 일부 변제 후 잔액이 아니라 **사해행위 당시의 피담보채권액**을 기준으로 공제해야 한다고 명시합니다.
- 가액배상의 상한은 **공동담보가액, 피보전채권액, 수익자 취득이익** 중 가장 적은 금액이며, 여기서 말하는 피보전채권액에는 **사해행위 이후 사실심 변론종결시까지 발생한 이자 및 지연손해금**도 포함된다고 적고 있습니다.
즉, 법조인이 제시한 문안이 현재 산출물과 다른 이유는 결국 다음과 같습니다.
### 1. 에이전트는 “법리 참조”만 했고 “산식 강제”는 하지 않았다
현재 Task A는 법리를 읽게는 하지만,
**공동담보가액 계산 → 원고별 피보전채권 계산 → 취소 한도액 산정 → 원고별 가액배상액 산정 → 이자문구 부착**
이라는 순서를 강제하지 않습니다. 그 결과, 모델은 쉬운 템플릿인
“매매계약 취소 + 원고 A 얼마 + 원고 B 얼마 지급”
으로 흘러갔습니다.
### 2. 에이전트는 복수 원고 사건에서 원고별 특정 규칙을 강제하지 않았다
문서상 기준은 원고별 피보전채권액과 회복범위를 개별적으로 특정하라고 되어 있는데, 실제 출력은 `원고들의 피보전채권 합계액`이라는 집합 표현을 사용했습니다. 이 때문에 “취소 한도액”과 “원고별 지급액”의 구조가 무너졌습니다.
### 3. 에이전트는 가액배상액 산정을 위한 공제 규칙을 경고로만 남기고 청구취지에 반영하지 않았다
stage2_1은 스스로 공제 필요를 경고했지만, 그 경고가 `relief_summary` 재작성의 트리거가 되지 않았습니다. 이 때문에 “공제해야 한다”는 인식과 “공제하지 않은 청구취지”가 동시에 존재하는 모순이 생겼습니다.
### 4. 에이전트는 사해행위취소의 가액배상에서 이자 구조를 별도 템플릿으로 취급하지 않았다
법조인 문안은 우방캐피탈 부분에 대해
- 사해행위 다음날인 `2017. 9. 1.`부터
- `이 사건 변론종결일까지` 월 1%
- 그 뒤 `판결확정일 다음날부터` 연 5%
라는 식으로, **피보전채권액의 확장 구간**과 **판결 후 지급지체 구간**을 분리합니다. 이는 사해행위취소의 가액배상에서 피보전채권액에 사해행위 후 변론종결시까지의 이자·지연손해금이 포함된다는 자료와, 실제 판례 예시가 “판결 확정일 다음날부터 연 5%” 형식으로 적는 점과 맞닿아 있습니다. ([Law.go.kr](https://www.law.go.kr/LSW/precInfoP.do?precSeq=64500&utm_source=chatgpt.com))
------
## 다만, 110,000,000원과 220,000,000원의 정확한 산식은 현재 산출물만으로는 완전 복원되지 않습니다
이 부분은 분명히 말씀드려야 합니다.
**110,000,000원이라는 숫자가 어떻게 나왔는지에 대한 정확한 산식은, 현재 stage 1·2 산출물만으로는 강한 증거를 가지고 완전히 역산하기 어렵습니다. 이것은 제가 제시하는 추론이며, 입력 파일만으로는 강한 증거가 충분하지 않습니다.**
그 이유는 두 가지입니다.
첫째, Task A가 실제로 읽는 입력에는 `evidence_indexed.json`이 포함되어 있지 않고, 계산에 필요한 **등기순위, 사해행위 당시 피담보채권액, 변론종결시 가액, 담보부족분, 원고별 무담보 부분**을 구조적으로 저장한 필드가 없습니다. Task A는 `BO.json`, `Fact_Ledger.json`, `client_goal.json`, `적격피고자제외조건.md`, `사해행위취소청구_청구고려사항.md`, 그리고 선택적으로 `evidence_contradictions.json`만 읽습니다.
둘째, 현재 산출물은 오히려 `C-004 가액배상액 산정 시 ... 공제 필요`라는 경고만 남기고 끝났습니다. 즉, 계산해야 할 필요성은 인식했지만, 실제 계산 결과를 데이터로 남기지 않았습니다.
따라서 법조인의 110,000,000원은, 매우 개연성 높게 보아 **우방캐피탈의 피보전채권 중 사해행위 시점 기준 무담보 부분의 원금 상당액**을 잡고, 그 위에 사해행위 다음날부터 변론종결시까지의 약정 지연손해금을 붙인 것으로 보입니다. 반면 우방신용보증은 220,000,000원의 구상금 원금만 인정하고, 판결확정 후 법정이율만 붙인 것으로 보입니다. 그러나 이 산식 전체를 현재 파일만으로 확정적으로 재구성할 수는 없습니다. 이 점은 명시적으로 남기는 것이 맞습니다.
------
# Task A를 어떻게 고쳐야 하는가
결론부터 말하면, Task A에 **“사해행위취소 + 가액배상 계산표(remedy worksheet)”를 강제하는 블록**을 추가해야 합니다.
지금처럼 `relief_summary`를 곧바로 쓰게 하면 안 됩니다. 먼저 계산표를 내부적으로 완성하고, 그 다음에만 청구취지를 쓰게 해야 합니다.
핵심 개선점은 다음 다섯 가지입니다.
## 1. 복수 원고 사건에서는 “합계액” 표현을 금지해야 합니다
현재 가장 직접적인 오류는 `원고들의 피보전채권 합계액의 한도`라는 집합 표현입니다.
Task A에 다음 규칙을 넣는 것이 좋습니다.
- 사해행위취소청구에서 원고가 복수인 경우, **원고별 피보전채권액, 원고별 회복범위, 원고별 가액배상액을 각각 계산**한다.
- `원고들의 피보전채권 합계액`이라는 표현은 원칙적으로 금지한다.
- 취소 한도액을 하나의 숫자로 적더라도, 그 숫자가 **무엇을 기준으로 산정된 것인지**를 내부 계산표에 반드시 남긴다.
이 규칙은 문헌의 “원고별로 각자의 피보전채권액과 원상회복청구의 범위에 상응하도록 개별적으로 특정”하라는 지시와 직접 연결됩니다.
## 2. 가액배상형 청구에서는 계산표를 먼저 만들게 해야 합니다
사해행위취소의 가액배상형에서는 다음 항목을 내부적으로 반드시 채우게 해야 합니다.
- `property_value_at_close_of_arguments`
- `mortgages_existing_at_fraudulent_act[]`
- `mortgages_still_existing_at_close[]`
- `lease_deposit_deductibility`
- `non_deductible_attachment_claims[]`
- `common_collateral_value`
- `plaintiff_preserved_claim_principal`
- `plaintiff_preserved_claim_interest_until_close`
- `plaintiff_preserved_claim_total`
- `beneficiary_gain`
- `plaintiff_recovery_cap`
그리고 **이 항목들 중 하나라도 비어 있으면 `relief_summary`를 보수적으로 축소하거나 `VALIDATION WARNING`을 남기고 숫자 확정을 유보**하게 해야 합니다.
## 3. “경고”가 나오면 청구취지를 다시 쓰게 해야 합니다
현재는 경고만 남고 청구취지는 그대로 출력됩니다. 이 구조가 문제입니다.
따라서 Task A에 다음 문장을 넣는 것이 좋습니다.
- `validation_warning`가 **가액배상액 산정, 피보전채권 범위, 선순위 담보 공제**와 관련된 경우, `relief_summary`를 최종 확정하기 전에 반드시 재산정 단계를 1회 더 수행한다.
- 재산정 후에도 수치가 확정되지 않으면, 구체 금액 대신 **“추후 정정 필요”**가 아니라 **보수적 최저치**또는 **null + warning** 전략을 사용한다.
## 4. 사해행위취소 가액배상에는 별도 이자 템플릿을 둬야 합니다
C-001 같은 단순 금전채권 청구와, C-004 같은 사해행위취소 가액배상 청구는 **이자 문구가 다릅니다**.
따라서 Task A는 이를 별도 템플릿으로 분리해야 합니다.
- **단순 금전채권 청구**: 원금 + 기산일 + 소장 송달 전후 이율 구조
- **사해행위취소 가액배상 청구**:
- 피보전채권의 원금 부분
- 사해행위 다음날부터 변론종결시까지의 이자·지연손해금 포함 여부
- 판결 확정 후 지연손해금 문구
자료에는 피보전채권액에 **사해행위 이후 사실심 변론종결시까지의 이자 및 지연손해금이 포함**된다고 되어 있고, 국가법령정보센터 판례 예시도 사해행위취소 가액배상에서 **“이 판결 확정일 다음날부터 다 갚는 날까지 연 5%”** 형식을 사용하고 있습니다. ([Law.go.kr](https://www.law.go.kr/LSW/precInfoP.do?precSeq=64500&utm_source=chatgpt.com))
## 5. Task A는 `evidence_indexed.json` 또는 별도 계산용 JSON을 읽게 해야 합니다
현재 입력 구조로는 법조인 수준의 수치 계산이 어렵습니다.
그러므로 두 가지 중 하나가 필요합니다.
- **A안**: Task A의 필수 입력에 `evidence_indexed.json` 추가
- **B안**: stage 1 또는 stage 1.5에서 `actio_pauliana_calc.json` 같은 계산용 파일 생성
저는 B안을 권합니다. 왜냐하면 사해행위취소 사건에서는 단순 요약보다 **수치 구조화**가 훨씬 중요하기 때문입니다.
예컨대 다음 필드를 가진 JSON을 별도로 두면 좋습니다.
```json
{
"claim_cluster_id": "AP-004",
"property_id": "제2부동산",
"fraudulent_act_date": "2017-08-31",
"property_value_at_close": 500000000,
"secured_claims_at_fraudulent_act": [
{"creditor": "우리은행", "amount": 300000000},
{"creditor": "하나은행", "amount": 50000000},
{"creditor": "최상수", "amount": 100000000},
{"creditor": "국민은행", "amount": 130000000}
],
"still_existing_secured_claims_at_close": [
{"creditor": "국민은행", "amount": 100000000}
],
"lease_deposit": {
"amount": 100000000,
"deductible": false,
"reason": "선순위 근저당권에 대항 불가"
},
"non_deductible_claims": [
{"creditor": "신용보증기금", "amount": 20000000, "reason": "가압류채권"}
],
"plaintiff_claims": [
{
"plaintiff": "우방캐피탈 주식회사",
"base_principal": 110000000,
"pre_close_interest_rule": "월1%",
"pre_close_interest_start": "2017-09-01"
},
{
"plaintiff": "우방신용보증보험 주식회사",
"base_principal": 220000000,
"pre_close_interest_rule": null,
"pre_close_interest_start": null
}
]
}
```
이런 구조가 없으면, LLM은 언제든 다시 “원고들의 합계액” 같은 뭉툭한 문구로 후퇴합니다.
------
# Task A에 바로 넣을 수 있는 개선 문안
아래 블록을 Task A의 `relief_summary` 작성 규칙 바로 아래에 추가하는 것이 가장 효과적입니다.
```text
### [사해행위취소 + 가액배상 청구의 relief_summary 작성 규칙 — 필수]
1. 사해행위취소청구가 부동산에 관한 것이고, 저당권이 설정된 상태에서 사해행위가 이루어진 후 그 저당권이 소멸하여 원상회복 방법이 가액배상으로 정리되는 경우, `relief_summary`를 작성하기 전에 반드시 내부 계산표(`remedy_worksheet`)를 먼저 완성한다.
2. `remedy_worksheet`에는 최소한 다음 항목을 포함한다.
- fraudulent_act_date
- property_value_at_close_of_arguments
- secured_claims_existing_at_fraudulent_act[]
- secured_claims_still_existing_at_close[]
- lease_deposit_deductibility
- non_deductible_attachment_claims[]
- common_collateral_value
- beneficiary_gain
- plaintiffs[]:
- plaintiff_name
- preserved_claim_principal
- preserved_claim_interest_until_close
- preserved_claim_total
- recovery_cap
- pre_close_interest_basis
- pre_close_interest_start_date
3. 복수 원고가 존재하는 경우:
- 절대로 `원고들의 피보전채권 합계액`이라는 표현만으로 취소 범위를 뭉뚱그려 쓰지 않는다.
- 각 원고별 피보전채권액과 회복범위를 개별적으로 특정한다.
- 취소 한도액이 하나의 숫자로 제시되는 경우에도, 각 원고별 가액배상액과 논리적으로 모순되지 않는지 반드시 검증한다.
4. 가액배상액 산정 규칙:
- 부동산 가액은 원칙적으로 사실심 변론종결시를 기준으로 한다.
- 공제할 피담보채권액은 원칙적으로 사해행위 당시의 피담보채권액을 기준으로 한다.
- 여전히 존속하는 다른 저당권의 피담보채권액도 함께 공제한다.
- 가압류채권자의 채권액은 공제 대상에서 제외한다.
- 임차보증금은 대항력/우선변제권 등 특별한 사정이 입증된 경우에만 공제 여부를 검토한다.
- 최종 가액배상 상한은 공동담보가액, 각 원고의 피보전채권액, 수익자 취득이익의 범위를 대조하여 보수적으로 산정한다.
5. 담보부족 상태의 피보전채권 범위:
- 담보가 일부 존재하는 채권자의 경우, 사해행위취소권을 행사할 수 있는 피보전채권액이 단순한 전체 미회수액과 동일한지 자동으로 가정하지 않는다.
- 담보범위를 초과하는 무담보 부분과 그에 대한 사해행위 이후 변론종결시까지의 이자·지연손해금을 구분하여 산정한다.
- 산정 근거가 불충분하면 숫자를 임의로 확정하지 말고 VALIDATION WARNING을 남긴다.
6. 이자 문구 규칙:
- 사해행위취소에 따른 가액배상 청구에서는, 각 원고별 피보전채권에 관하여 사해행위 다음날부터 사실심 변론종결시까지 포함되는 이자·지연손해금 여부를 별도로 판단한다.
- 그 판단 근거가 명확한 원고에 한해서만 pre-close 이자 문구를 붙인다.
- 판결 확정 후 지연손해금 문구는 value-compensation 전용 템플릿으로 작성한다.
- 금전채권 일반청구에 사용하는 송달일 기준 템플릿을 기계적으로 재사용하지 않는다.
7. value-compensation 전용 템플릿:
"원고들과 피고 [수익자명] 사이에서,
가. 피고 [수익자명]과 피고 [채무자명] 사이에 [부동산 표시]에 관하여 [계약일] 체결된 [매매/증여/대물변제]계약을 [취소 한도액]의 한도 내에서 취소한다.
나. 피고 [수익자명]은,
1) 원고 [A]에게 [A 원금] 및 이에 대한 [A 기산일]부터 이 사건 변론종결일까지는 [A 이율]의 비율에 의한 금원과, 각 이에 대한 이 판결 확정일 다음날부터 다 갚는 날까지는 [판결 후 이율]의 비율에 의한 금원을 지급하고,
2) 원고 [B]에게 [B 원금] 및 [필요한 경우 동일 구조]의 금원을 지급하라."
8. 출력 전 강제 검증:
- 취소 한도액과 원고별 지급액이 서로 양립하는지
- 경제성(reason)에서 적시한 공동담보가액과 relief_summary의 숫자가 서로 충돌하지 않는지
- validation_warning에 "공제 필요"가 있는데도 relief_summary에 반영되지 않았는지
- 반영되지 않았다면 relief_summary를 반드시 재작성한다.
```
------
# 한 줄로 요약하면
C-004에서 에이전트가 법조인 수준의 문안을 만들지 못한 이유는,
**Task A가 “사해행위취소 + 가액배상 + 복수 원고” 사건에서 필요한 계산을 ‘법리 참조’ 수준으로만 두고, ‘산식 완성 없이는 청구취지 작성 금지’라는 하드 게이트를 두지 않았기 때문**입니다.
그래서 모델은 법리를 읽고도, 실제 청구취지는 가장 단순한 템플릿으로 써 버렸습니다.
원하시면 다음 답변에서 제가 위 내용을 반영하여 **`Legal_Agent_V4.yaml`의 Task A 전체를 바로 교체할 수 있는 개정 프롬프트 원문**으로 정리해 드리겠습니다.