상위: 07_00_MOC
처방 — “컨텍스트 = 슬롯 계약” 4계층 거버넌스 모델
이 노트는 저자 견해(opinion)다. 아래 4계층 모델은 “컨텍스트 = 슬롯 계약(slot contract)“이라는 직관을 본 챕터의 출처들과 정렬해 하나의 처방으로 재구성한 것이다. 각 주장에는 근거 출처가 달려 있고, 모델의 층 구획과 필드 설계는 저자의 종합이다.
07_02-근본원인-권위와-출처-메타데이터-부재가 짚은 근본 원인은 하나였다. 컨텍스트의 모든 슬롯이 권위 메타데이터 없이 한 평면에 놓인다는 것. 그래서 처방도 한 곳으로 모인다. 모든 슬롯을 “계약(contract)“으로 다뤄라. 어떤 슬롯이든 세 가지, 쓰기권한(write authority)·출처귀속(provenance)·만료정책(expiry)을 명시적으로 선언해야 한다.
선행연구 귀속. 이 모델의 슬롯 계약 필드(authority·provenance·immutable·expiry)는 Michael Hannecke(2026)의 Memory Contracts와 동형(isomorphic)이며 그 직접 계승이다. Memory Contracts는 각 메모리 슬롯에 “카테고리 + 상승된 검증 요건”을 바인딩하는 프리미티브다(01_09-처방-방어전략). 저자의 기여는 세 갈래로 한정된다. (a) Hannecke의 단일 메모리 계약을 4계층 권위 위계(authority hierarchy)로 확장하고, (b) 각 층에 집행 메커니즘(layer1=Hook 하드집행, layer2=Attestation, layer4=IPI 검역/CaMeL taint)을 바인딩하며, (c) 07_01-문제정의-룰침범과-기준재정의의 룰 침범(공간축)과 기준 재정의(시간축) 두 축에 동시에 대응한다. 필드 설계의 출처는 Hannecke이고, 층 구획·위계·집행 바인딩·두 축 정렬이 저자의 종합이다.
1. 핵심 원리 — 슬롯 계약 필드
각 컨텍스트 슬롯에 붙는 계약:
slot:
authority: system | verified | agent | unknown # 누가 정할 자격이 있나
provenance: managed-policy | attested | agent-gen | tool/web # 어디서 왔나
immutable: true | false # 재정의 가능한가
expiry: none | on-source-invalidation | task-end | immediate # 언제 만료되나
trust: 5 | 3 | 1 | 0 # 신뢰등급
write_by: [deployer] | [verifier] | [worker] | [none] # 쓰기 주체불변 규칙은 하나다. 하위 계층은 상위 계층을 재정의할 수 없다. 이 한 줄이 07_01-문제정의-룰침범과-기준재정의의 두 축을 동시에 막는다. 룰 침범은 계층 경계를 넘는 쓰기를 막아서, 기준 재정의는 만료 정책 없는 변형을 막아서 차단된다.
expiry는 정량 트리거를 갖는다. expiry는 범주(none·on-source-invalidation·task-end·immediate)에 더해 정량 재검증 주기를 함께 가진다. 첫째, layer2(검증된 사실)는 제약 준수율이 임계 아래로 떨어지는 구간마다 출처 링크로 재검증·재주입한다. 실측 준수율이 턴5 73%에서 턴16 33%로 무너지므로(07_01-문제정의-룰침범과-기준재정의) 실무에서는 약 15턴을 재주입 주기로 잡는다. 둘째, /compact 직후에는 layer1·layer2를 디스크(루트 CLAUDE.md, 출처 원본)에서 강제 재주입한다. 중첩 CLAUDE.md가 압축 후 재주입되지 않는 함정(07_01-문제정의-룰침범과-기준재정의)을 메우기 위해서다. 이 두 트리거는 07_09-실전-체크리스트-오염거버넌스 E항(시간축·감사)의 “준수율 저하 대비 메모리 완화·원본 링크”, “/compact 이후 중첩 CLAUDE.md 미재주입 대비”와 정합한다.
2. 4계층
계층 1 — 불변 헌법층 (Immutable Constitution)
- authority system · immutable true · expiry none · trust 5 · write_by 배포자만
- 내용: 절대 안전 제약, 조직 정책, 핵심 불변 규칙
- 구현: Managed Policy CLAUDE.md(배제 불가) + PreToolUse Hook 하드 집행 +
--append-system-prompt. 텍스트만으로는 안 되고 집행 계층이 반드시 따라야 한다(07_04-불변규칙-쓰기보호-CLAUDE-AGENTS-Constitutional). - 근거: “Managed policy CLAUDE.md files cannot be excluded”(Anthropic 2025); Constitutional AI 명시 규범(Bai et al. 2022).
계층 2 — 검증된 사실층 (Verified Facts)
- authority verified · immutable 준불변 · expiry 출처 무효화 시 · trust 3 · write_by Verifier 통과 시
- 내용: 검증된 발견, 확정된 프로젝트 결정, 신뢰된 도구 결과
- 구현: Attested Identity로만 승격한다(자기보고 금지, 곧 프로베넌스 역설). 출처 링크를 유지하고 요약이 불충분하면 원본으로 에스컬레이션한다(TierMem). 여기에 belief-layer 검증(신념 레이어 검증)을 승급·유지 조건으로 더한다. Verifier는 산출물 spec 검증에 더해 그 전제(premise)의 출처가
attested인지 확인하며, attested가 아닌 전제에 의존한 사실은 layer2로 승급할 수 없다. layer2에 안착한 사실은 의미론적 체크섬(semantic checksum)을 주기적으로 떠, 검증 이벤트 없이 값이 변한 신념을 잡아낸다(belief drift detection → 01_09-처방-방어전략, 01_08-적대적-오염-위협지형). 행동·쓰기 게이트만으로는 이미 권한을 받은 손상된 신념이 그대로 통과하므로, 신념 레이어를 따로 떠야 한다. - 근거: “Attested routing achieved near-optimal outcomes”(Prakash 2026); TierMem 출처링크(Zhu et al. 2026); “Existing defenses … fail because they detect malicious actions, not corrupted beliefs”(Hannecke 2026).
계층 3 — 작업 가설층 (Working Hypotheses)
- authority agent · immutable false · expiry 태스크 종료 · trust 1 · write_by 워커
- 내용: 에이전트의 중간 추론, 가정, 미검증 산출물
- 구현: 격리된 스크래치에 둔다. 핸드오프할 때 독립 Verifier가 spec과 대조해 검증한 뒤에만 계층 2로 승격한다. 충돌은 SCF의 Policy-Authority-Temporal로 해소한다(07_07-충돌해소와-합의-안전성-비합성성).
- 근거: “Actions carry implicit decisions”(Yan 2025). 가정은 검증 전까지 가설로만 둔다.
계층 4 — 휘발 스크래치층 (Volatile Scratch)
- authority unknown · immutable false · expiry 즉시/검증 후 · trust 0 · write_by 도구/웹
- 내용: 도구 반환값, 검색된 웹 콘텐츠, 외부 입력 일체
- 구현: IPI 검역을 거친 뒤에만 쓰고, 계층 1·2와 같은 평면에는 절대 두지 않으며, 신뢰 경계로 격리한다(AgentSentry). 여기에 CaMeL식 capability/taint 집행을 더한다(01_09-처방-방어전략 CaMeL 상세). layer4 데이터는 진입 즉시 taint(오염) 태그를 달고, 그것이 도구 인자(수신 주소, 셸 명령 등)나 제어 흐름(if/while 조건, 함수 선택)에 들어가는 순간 capability 기반 정책이 구조적으로 차단한다. 그래서 layer4의 “검역”은 탐지가 아니라 구조적 집행(structural enforcement)으로 재정의된다. 오염 데이터가 권한 있는 행위로 변환되는 경로 자체를 봉쇄하는 것이다.
- 집행 강도 구분: 같은 4계층 안에서도 집행 강도는 다르다. layer1은 사전(pre) 하드 집행으로, PreToolUse Hook이 위반 행위를 실행 전에 결정론적으로 차단한다. layer4는 두 갈래다. CaMeL taint가 사전 구조적 집행을 맡고, AgentSentry가 신뢰 경계에서 이상 행동을 관측한 뒤 격리하는 사후(post) 탐지를 맡는다. layer1이 “절대 통과 불가”의 하드 게이트인 반면, layer4의 탐지 부분은 확률적 잔여 위험을 남긴다. CaMeL taint를 결합해야 layer4도 사전 집행 강도에 가까워진다.
- 근거: “Attacker-controlled context … silently steers agent actions”(Zhang et al. 2026); CaMeL “control and data flows … untrusted data can never impact the program flow”(Debenedetti, Carlini et al., Google DeepMind, 2025).
graph TD subgraph SC["Context = Slot Contract"] L1["계층 1 · 불변 헌법층<br/>system · immutable · trust 5<br/>write_by: 배포자 · expiry: none"] L2["계층 2 · 검증된 사실층<br/>verified · 준불변 · trust 3<br/>write_by: Verifier · expiry: 출처무효화"] L3["계층 3 · 작업 가설층<br/>agent · 가변 · trust 1<br/>write_by: 워커 · expiry: 태스크종료"] L4["계층 4 · 휘발 스크래치층<br/>unknown · 가변 · trust 0<br/>write_by: 도구/웹 · expiry: 즉시"] end L1 ==>|"하향 구속(재정의 불가)"| L2 ==> L3 ==> L4 L3 -.->|"Verifier 통과시 승격"| L2 L4 -.->|"IPI 검역 통과시만"| L3 VE["Verifier / 권한 게이트"] VE -->|"무조건 수용"| L1 VE -->|"검증 후 승격"| L2 VE -->|"spec 검증"| L3 VE -->|"신뢰경계 검역"| L4 style L1 fill:#FF4444,color:#fff style L2 fill:#4488FF,color:#fff style L3 fill:#44AA44,color:#fff style L4 fill:#888888,color:#fff style VE fill:#FF8800,color:#fff
3. 두 축이 어떻게 닫히는가
| 실패 | 차단 메커니즘 |
|---|---|
| 룰 침범(공간) | 워커(계층 3)는 헌법층(계층 1)·검증 사실층(계층 2)에 쓸 수 없다. 침범 경로 자체가 없다. |
| 기준 재정의(시간) | 계층 1은 expiry none과 집행 계층으로 고정된다. 후속 명령(계층 3)이 최근성으로 덮어쓸 수 없다. |
| 압축 오염 | 계층 2가 출처 링크를 유지하므로(TierMem) 요약 오류를 원본으로 되돌릴 수 있다. |
| 자기보고 역선택 | 계층 2 승격은 Attested만 허용해 프로베넌스 역설을 차단한다. |
| IPI | 계층 4(trust 0) 검역을 강제하고 CaMeL taint로 구조 집행하므로, 외부 입력이 헌법층과 섞이지도 제어 흐름을 조종하지도 못한다. |
세 번째 한계는 belief-layer 오염이다. 이 모델은 본질적으로 행동·쓰기 거버넌스(action/write governance)로, 누가 무엇을 쓸 수 있는가를 닫는다. 그러나 Hannecke(2026)가 지적하듯 기존 방어는 “악의적 행동은 탐지해도 손상된 신념(corrupted belief)은 탐지하지 못한다.” layer4 검역과 layer2 attestation을 모두 통과한 사실이 그 뒤 압축·재요약 과정에서 조용히 왜곡되면, 그 신념은 이미 권한을 받은 상태로 행동을 유도한다. 그래서 이 한계는 슬롯 계약 바깥의 belief drift 탐지, 즉 별도 모니터링 레이어로 메워야 한다 → 01_08-적대적-오염-위협지형(신념 레이어 사각지대), 01_09-처방-방어전략(Belief Drift Detection).
4. 실무 구현 — HTML 주석 메타데이터
각 CLAUDE.md/AGENTS.md 상단에 HTML 주석으로 슬롯 계약을 적는다. Claude Code는 블록 HTML 주석을 컨텍스트 주입 전에 제거하므로, 토큰 비용 없이 사람 관리자만 읽는 메모로 남길 수 있다.
<!-- layer: 1 | authority: managed | immutable: true | provenance: MDM | trust: 5 | write_by: devops -->이를 로드 우선순위 자동 적용, InstructionsLoaded hook 감사 로그와 결합하면 슬롯에 권위 메타데이터를 부여하는 실용 구현이 완성된다.
5. 트레이드오프 — 이 모델의 비용
저자 견해. 슬롯 계약은 공짜가 아니다. 비용은 분명하다.
- 유연성 손실: 4계층 구획은 적응적 에이전트의 자기편집(MemGPT)을 제약한다. 빠른 실험이나 프로토타이핑에는 과하다.
- 운영 오버헤드: Verifier·Attestation·Hook을 유지보수하는 비용이 든다. 단일 선형 에이전트로 충분한 작업에는 필요 없다.
- 불완전성: SCF 미탐지 약 35%(Acharya 2026)와 안전성 비합성성(de Witt 2025)이 보여주듯, 이 모델도 모든 오염을 막지는 못한다. 잔여 위험은 인간 감사(계층 사법)로 메운다.
적용 기준은 이렇다. trust 0 외부 입력을 다루거나, 수십 턴을 넘는 장기 실행이거나, 다중 워커가 공유 산출물을 만드는 경우, 이 셋 중 하나라도 해당하면 슬롯 계약을 도입하라. 셋 다 아니면 07_03-공유-vs-격리-컨텍스트-트레이드오프의 단일 선형으로 충분하다. 이 판단 기준은 본 챕터 전체 출처를 종합한 것이다.
참고문헌
- Claude Code Memory — CLAUDE.md and Auto Memory — Anthropic, 2025, 공식 문서.
- Constitutional AI: Harmlessness from AI Feedback — Yuntao Bai et al. (Anthropic), 2022, arXiv.
- The Provenance Paradox in Multi-Agent LLM Routing — Sunil Prakash, 2026, arXiv.
- From Lossy to Verified: A Provenance-Aware Tiered Memory for Agents (TierMem) — Qiming Zhu et al., 2026, arXiv.
- AgentSentry: Mitigating Indirect Prompt Injection — Tian Zhang et al., 2026, arXiv.
- Don’t Build Multi-Agents — Walden Yan (Cognition), 2025, 블로그.
- Agent Memory Poisoning: The Attack That Waits — Michael Hannecke, 2026-01-25, Medium. (Memory Contracts · Belief Drift Detection 프리미티브의 출처 — 본 모델 슬롯 계약 필드의 선행연구.)
- CaMeL: Defeating Prompt Injections by Design — Edoardo Debenedetti, Nicholas Carlini et al. (Google DeepMind), 2025, arXiv:2503.18813. (layer4 capability/taint 구조 집행의 근거.)