콘텐츠로 이동
DOC–00 TECHNICAL WHITEPAPER / PUBLIC RELEASE AUTHORIZED

MAGI Gate · 자율 교차 검증

MAGI Gate는 역할 간 데이터가 넘어갈 때(핸드오프) 그 산출물을 검증하고 나서 넘기도록 규정하는 장치다. 검증 강도는 핸드오프의 위험도에 따라 L0부터 L3까지 4단계로 나뉜다.

MAGI Gate와 Patrol은 2 · NERV-RASM 모형C5(위험비례 보증 게이트)·C7(거버넌스 제어면), 그리고 그 장의 보증 렌즈(MAGI 위험적응형)에 대응한다.

v1 종결 · v2 재정의 (2026-07-25)

이 장은 두 세대를 함께 기술한다. 둘을 섞어 읽지 않는 것이 중요하다.

  • v1 (2026-02~2026-07-25, 종결) — "모든 역할 간 핸드오프에 3대 LLM 교차검증을 자동 개입"시키는 설계 계약. 실행기(executor)는 끝까지 구현되지 않았다. 감사 결과 실행기 코드는 저장소 이력 전체에 존재한 적이 없고, 게이트가 개입할 자동 핸드오프 트래픽 자체도 0이었다. 아래 「4단계 검증 등급」·「핸드오프별 기본 등급」·「등급 결정 흐름」은 이 v1 설계 계약의 기록이다.
  • v2 (2026-07-25~, 현행) — 성격이 바뀌었다. 지어야 할 것의 명세가 아니라 돌고 있는 것의 등록부다. v1 감사에서 반대 방향의 사실이 함께 드러났기 때문이다 — 명세가 지목한 자리에 게이트 세 개가 이미 자라나 있었다. 아무도 v1을 구현하지 않았는데도, 필요에 의해. 등급 의미도 "심사 LLM 대수"에서 "검문 강도"로 재정의됐다.

v2 등록부의 게이트는 전부 결정론 구현체이며 LLM을 호출하지 않는다. 자동 개입 실행기는 앞으로도 만들지 않는다(NON-GOAL). 별도로 수행되는 LLM 교차 검증은 두 경로다.

  • magi-patrol — 12·18·23시 정기 자율 순찰. 설정·스키마·문서·코드 정합성을 점검한다.
  • agent-council — PI가 명시적으로 호출하는 MAGI 합의. 3대 LLM이 병렬 검토 후 의장이 합의를 도출한다.

v2 등록부 — 실제로 작동하는 게이트

게이트 핸드오프 강도 막는 것
conversion_quality document_processing_output L3 변환 품질 미달 문서가 요약·태깅·링크로 전파되는 것
evidence_map knowledge_management_output L3 원문에 없는 인용을 "검증됨"으로 위장한 요약의 전파
doi_status publishing_revision_output L3 감사에서 무효 판정된 DOI가 외부 이력서로 재유입되는 것

등재 기준 — 셋 다 충족해야 등록부에 오른다. 하나라도 없으면 적지 않는다.

  1. 구현 코드가 존재한다 (파일·행 번호 명시)
  2. 실제로 차단한다 (통과만 시키는 검사는 게이트가 아니다)
  3. 발화 이벤트를 로그에 남긴다

v2 등급 의미 (v1과 다름)

등급 v1 (종결) v2 (현행)
L3 3 LLM + 의장 미달 시 하류 전파 차단
L2 2 LLM + 의장 미달 시 표시만 (전파는 계속)
L1 의장 단독 로그만 기록
L0 로그만 검문 없음

목표 강도와 실제 강도의 차이

핸드오프 스키마가 규정한 목표 강도와 v2 등록부의 실제 강도는 다르다. 그 차이가 곧 미구현 갭이며, 이 백서는 그것을 지우지 않고 표로 드러낸다.

핸드오프 목표 실제
document_processing_output L1 L3 목표 초과
knowledge_management_output L1 L3 목표 초과
publishing_revision_output L3 L3 충족
writing_assistance_output L3 L0 미구현
literature_discovery_output L2 L0 미구현
analysis_review_output L2 L0 미구현
research_planning_output L2 L0 미구현
expert_system_output L2 L0 미구현
citation_network_output L1 L0 미구현
research_trend_output L2 L0 미구현

미구현 7종을 지을 계획은 없다. 해당 핸드오프들은 런타임 트래픽이 0으로 실측됐고, 자동 개입 실행기 신설은 NON-GOAL로 유지된다. 이 표는 "지어야 할 목록"이 아니라 명세와 현실의 거리를 적은 기록이다.

enabled 플래그 — 2026-07-26 true로 전환

설정값 magi_gate.enabled는 순서를 다 지킨 뒤에 켜졌다.

  1. (완료) 이벤트 기록기 + 게이트 3종 배선 + 본 등록부
  2. (완료) 2026-07-26 06:00 — doi_status 게이트가 차단 2건을 실제로 기록
  3. (완료) 2026-07-26 — 로그가 찬 것을 확인한 뒤 PI 판단으로 enabled: true

NERV 자체 린터에 "enabled:true인데 로그 산출이 0이면 위반" 규칙이 있어, 순서를 어기면 시스템이 스스로 잡는다. 게이트가 실재한다는 주장을 선언이 아니라 산출로 뒷받침하게 만드는 장치다.

다만 이 true가 뜻하는 범위는 좁다. 이 플래그에는 런타임 소비자가 없다 — 등록된 게이트는 결정론 코드이고 플래그와 무관하게 이미 돌고 있었다. 켜짐으로써 바뀌는 것은 선언의 정합과 대시보드 표기뿐이며, v1의 LLM 자동 개입 실행기가 가동된 것이 아니다(NON-GOAL, 여전히 미구현).

또한 발화 기록이 있는 게이트는 3종 중 2종이다(2026-08-20 갱신 — 종전 서술은 doi_status 1종뿐이었다). doi_status 10건(2026-07-26~08-16)에 더해 evidence_map이 2026-08-20 최초 발화하여 6건을 차단했다. conversion_quality는 등록·배선됐으나 여전히 로그 산출이 0이다. "등록됐다"와 "발화가 관측됐다"는 다르며, 가동의 증거가 되는 것은 후자다.

evidence_map 첫 발화 (2026-08-20) — 게이트는 작동했고, 판정기는 정밀하지 않았다

문헌 인제스트 배치에서 paper-summarizer가 생성한 요약 21편을 검증하는 중 6건이 차단됐다. 게이트가 막은 것은 요약이 verified_by_grep: true로 표기한 인용구가 원문에 없는 경우다. 로그 형식은 다음과 같다.

{"gate": "evidence_map", "level": "L3", "verdict": "block",
 "subject": "2025_Grigoriou_grigoriou2025",
 "detail": "1/3 verified, false_verified=['KC1', 'KC2']"}

차단은 설계대로였으나, 첫 발화가 곧바로 판정기의 한계도 드러냈다. 차단된 2건은 할루시네이션이 아니라 따옴표 표기 차이였다. 요약기가 원문의 "Uncanny Valley"를 YAML에 넣으며 'Uncanny Valley'로 치환했고, 235자 인용구가 130자까지 완전히 일치하다가 따옴표 한 쌍에서 갈라졌다. 판정기의 정규화가 곡선따옴표만 ASCII로 접고 ASCII '"의 차이는 흡수하지 않았기 때문이다.

교정은 요약을 다시 만드는 것이 아니라 판정기를 고치는 쪽이었다. 따옴표 종류는 인용의 진위를 가르지 않으며, 요약과 원문 양쪽에 같은 변환을 적용하므로 "없는 문장을 있다고 통과시키는" 경로는 생기지 않는다. 전체 요약 927편 전수 재판정 결과 실패 51 → 49, 해소 2건, 악화 0건으로 게이트가 느슨해지지 않았음을 확인했다.

남은 49건은 원인이 다르다 — 인용구에 생략 부호가 삽입되거나, 접두 일부만 일치하는 유형이다. 이 갭은 지우지 않고 관측 대기로 둔다. 첫 발화의 교훈은 게이트가 잡은 것을 곧바로 진실로 읽지 않는 것이다: 차단 6건 중 2건은 판정기 쪽 결함이었고, 그 구분은 원문 대조로만 났다.


v1 설계 계약 (종결 — 이력 기록)

아래는 v1의 기록이다. 현행 동작이 아니다. v1의 등급은 "몇 대의 LLM이 심사하는가"를 뜻했다.

MAGI 구성

MAGI는 서로 다른 계열의 대형 언어 모델 세 종과 의장(Chairman)으로 구성된다. 여기서 "독립"은 모델 계열이 다르다는 뜻이며, 통계적 독립성을 뜻하지 않는다. 공유 학습자료나 유사한 추론 경향 탓에 서로 다른 모델이 같은 오류에 함께 빠질 수 있고, 합의나 Chairman 판정도 진실이나 편향 감소를 보증하지 않는다. MAGI는 판정과 불일치를 함께 제시하는 보증 절차이지 진실의 판정자가 아니다.

구성원 역할
Claude (MELCHIOR) 1차 검증자
Codex / gpt-5.6 (CASPER) 2차 검증자
Gemini (BALTHASAR) 3차 검증자
Chairman 검증 결과를 종합해 통과/반려를 판정하는 의장

세 모델이 서로 다른 관점에서 산출물을 검토하고, 의장이 그 결과를 모아 최종 결정을 내린다. 검증 등급에 따라 참여하는 모델 수가 달라진다.

4단계 검증 등급

등급 참여 LLM 수 적용 대상
L3 Full Council 3 + Chairman 출판(publish), 역방향 핸드오프, 반복 반려
L2 Dual Review 2 + Chairman 생산(produce), 다중 소비자, 주요 Phase 전환
L1 Quick Check Chairman only 탐색(explore), 단일 소비자
L0 Audit Only 로그만 기록 역할 내부 파이프라인
  • L3 Full Council — 가장 엄격한 검증. 세 모델 전원과 의장이 참여하며, 출판물처럼 외부로 나가는 산출물이나 반복 반려된 작업을 다시 올릴 때 적용한다.
  • L2 Dual Review — 두 모델과 의장이 참여한다. 생산 단계 산출물이나 여러 역할이 동시에 소비하는 데이터에 적용한다.
  • L1 Quick Check — 의장만 빠르게 점검한다. 탐색 단계나 단일 소비자로 위험이 낮을 때 쓴다.
  • L0 Audit Only — 별도 검증 없이 로그만 남긴다. 한 역할 안에서 도는 내부 파이프라인에 적용한다.

핸드오프별 기본 등급

각 핸드오프 유형은 기본 검증 등급을 가진다. 조건에 따라 등급이 상향(승급)될 수 있다. 실제 등급은 기본 등급을 출발점으로, 작업 단계·소비자 수·역방향/반복 반려/행동 위험 같은 승급 요인 중 가장 높은 값을 채택하도록 규정한다(따라서 소비자 수가 같아도 위험 요인에 따라 등급이 달라질 수 있다). 다만 이 등급 체계의 자동 executor는 현재 미구현이며(설계 계약), 실제 교차 검증은 magi-patrolagent-council로 수행된다.

핸드오프 기본 등급 비고
writing_assistance_output L3 필수 MAGI PASS만 통과
publishing_revision_output L3 필수 역방향 = 항상 Full Council
literature_discovery_output L2 다중 소비자
citation_network_output L1 탐색 결과 빠른 점검
research_trend_output L2 다중 소비자
analysis_review_output L2 재현성 검증
research_planning_output L2 action 모드 → L3 승급
expert_system_output L2 실험 설계 변경 → L3 승급
document_processing_output L1 품질 점수 미달 시 → L2 승급
knowledge_management_output L1 taxonomy 변경 → L2 승급

설계 계약의 핵심 원칙은 두 가지다. 첫째, 출판용 글쓰기와 역방향 수정에는 L3 Full Council을 배정한다. 둘째, 기본 등급이 낮더라도 위험 신호가 감지되면 등급을 올린다. 예컨대 연구 계획이 단순 탐색이 아니라 실제 실행(action)을 지시하거나, 문서 변환 품질 점수가 기준에 미달하면 한 단계 위로 승급한다. 이 자동 배정·승급은 실행기 구현과 게이트 활성화 이후 적용될 예정이며, 현재는 위의 수동 검증 경로를 사용한다.

등급 결정 흐름

아래 도식은 자동 게이트가 구현·활성화된 뒤의 목표 흐름이다. L0는 감사 로그만 남기고 흐름을 계속하며, L1–L3만 합의 판정을 수행한다. 판정값은 PASS·REVISE·BLOCK 세 가지다.

핸드오프 발생
유형 · 소비자 수 · 방향 판정
검증 경로 분기
역할 내부 · L0
Audit Only · 로그 기록
검증 없이 내부 흐름 계속
역할 간 · L1–L3
위험 규칙에 따라 L1 · L2 · L3 배정
배정 등급으로 교차 검증
합의 판정
PASS
다음 역할로 전달
REVISE
재작업 후 재검토
BLOCK
Lab Director 에스컬레이션

함께 보기