AN-05 L1 적합성 수준: Authority 그룹: 권한

Human Gate 사람 승인 게이트

되돌릴 수 없거나, 외부로 나가거나, 권한을 높이는 동작 앞에만 나타나며, 실제 diff를 보여 줍니다.

정의

Human Gate는 정책이 일으키는 검문소입니다. 되돌릴 수 없거나, 외부로 나가거나, 권한을 높이는 동작이 효력을 내기 전에, 사람(또는 지정된 승인자)이 완전히 렌더링된 구체적인 동작 하나를 승인합니다. 드물고, 구체적이며, 형식적으로 승인하기 어렵게 설계되어 있습니다.

v0.2 명세 초안 최종 수정

해결하려는 문제

오늘날의 “human in the loop”는 끝없는 프롬프트의 연속이거나 아예 없습니다. Anthropic에 따르면 Claude Code 사용자는 권한 요청의 93~97%를 승인합니다. 통제된 실험에서 사람이 잡아낸 것은 심어 둔 위험한 명령의 13.6%뿐이었고, 세션이 길어질수록 더 나빠졌습니다. 이것은 자동 모드를 홍보하려는 업체의 연구이며 실제 사고율이 아니라 심어 둔 요청을 알아채는 정도를 측정한 것이지만, 방향은 분명합니다.

같은 데이터에는 또 다른 숫자가 있습니다. 사용자는 계획의 39%를 거부하지만 개별 권한 요청은 3%만 거부합니다. 사람이 진지하게 판단하는 것은 모든 도구 호출이 아니라 계획과 병합입니다.

동작 방식

  • 나타나는 곳은 적습니다. 보호된 트리로의 병합, 보호된 트리에서의 삭제, 외부 공유나 게시, 외부 전송, 리스 확대, 라벨 낮추기. 브랜치에 쓰는 것은 승인이 필요 없습니다.
  • 입도는 계획이나 병합입니다. 프롬프트 쉰 개가 아니라 PR 하나를 검토합니다.
  • Gate Card는 NAS가 렌더링합니다. 실제 diff, 읽기 매니페스트 요약, 리스와 세션 오염을 보여 주며, 에이전트 자신의 설명은 절대 쓰지 않습니다. 선택지는 승인, 좁혀서 승인, 거부이며, 시간이 지나면 기본값은 거부입니다.
  • 승인은 동작 다이제스트에 묶입니다. diff 해시와 리스에 묶이므로 재생할 수 없습니다.
  • 전달 방법: 푸시, 채팅, 이메일, CLI. 위임할 수 있고, 패스키는 선택적인 강한 인증입니다.
  • 승급만 합니다. 선택적인 위험 분류기(LLM 포함)는 동작을 게이트로 승급시킬 수만 있고 승인은 결코 할 수 없습니다. 모델은 조이기만 할 뿐 풀 수는 없습니다.
  • 피로를 측정합니다. 승인율과 승인까지 걸린 시간. 승인율이 이례적으로 높으면 게이트를 합치거나 정책을 조이라는 신호입니다.

작게 시작하기

  • 보호된 main과 PR 검토(어떤 Git 플랫폼이든 됩니다), 그리고 푸시 알림.
  • 아니면 CLI: nas gate approve <gate_id>.
  • Gate Card에 “실제 diff”를 먼저 보여 주세요. 화려한 인터페이스부터 서두르지 마세요.

인터페이스 스케치

설명을 위한 예시입니다. 필드 이름은 명세 v0.3 이전에 바뀔 수 있습니다.

gate-card.json
{
  "gate_id": "gt_2Mx4",
  "run": "run_91ab",
  "action": {
    "op": "merge",
    "from": "cleo/run_91ab",
    "into": "main",
    "files_changed": 4,
    "diff_sha256": "7d2a..."
  },
  "why": "Release notes are ready for review",
  "risk": {
    "session_taint": ["external"],
    "sources": ["web:example.com/changelog"],
    "destructive": false,
    "egress": false
  },
  "options": ["approve", "approve_narrowed", "deny"],
  "default": "deny",
  "expires_at": "2026-11-12T12:00:00Z"
}

명세가 요구하는 것

  • Gate Card는 NAS가 계산한 실제 diff를 보여 주어야 하며, 에이전트의 설명을 보여 줘서는 안 됩니다.
  • 승인은 동작 다이제스트와 리스에 묶여야 하며 재생할 수 없어야 합니다.
  • 시간 초과의 기본 결과는 거부여야 합니다.
  • 분류기나 LLM은 승인을 줄 수 없습니다. 동작을 게이트로 승급시키는 것은 할 수 있습니다.
  • 보호된 트리로의 병합, 보호된 트리에서의 삭제, 외부 공유, 외부 전송, 리스 확대, 라벨 낮추기는 게이트를 거쳐야 합니다.
  • NAS는 승인율과 승인까지 걸린 시간을 보고하는 것이 좋습니다.

빌려 온 것과 새로운 것

아래에 나오는 것은 모두 이미 자리 잡은 관행입니다. 새로운 것은 승인의 닻을 스토리지 계층의 병합에 두고, 내용을 에이전트가 아니라 NAS가 렌더링하게 한 것입니다. 승인과 PR 자체는 새롭지 않습니다.

솔직한 한계

  • 사람은 여전히 잘못된 동작을 승인할 수 있고, 일괄 검토도 피로를 낳습니다.
  • 알림 채널은 피싱당할 수 있습니다.
  • 승인은 승인된 범위 밖의 일을 막지 못합니다. 그것은 리스의 일입니다.

열린 질문

  • 일괄 검토와 단계별 검토에 가장 알맞은 인터페이스는 무엇인가?
  • 자동 병합의 임곗값은 어떻게 측정하고 조정하는가?

자주 묻는 질문

그냥 또 하나의 “확인” 대화 상자 아닌가요?

일부러 그렇지 않게 만들었습니다. 대화 상자는 도구를 호출할 때마다 뜨고, 사람은 금방 “승인”만 누르게 됩니다. 게이트는 되돌릴 수 없거나 외부로 나가는 몇 가지 동작 앞에서만 나타나고, NAS가 계산한 실제 diff를 보여 주며, 승인은 diff 해시에 묶입니다. diff가 바뀌면 승인은 무효가 됩니다.

LLM이 통과시킬지 판단해도 되나요?

“사람이 이 단계를 봐야 한다”고 제안할 수는 있어도 승인할 수는 없습니다. 통과시키는 결정은 결정론적인 규칙이나 사람의 승인이어야 합니다. 그래야 보안이 특정 모델의 판단에 의존하지 않습니다.

시간이 초과되면 어떻게 되나요?

기본값은 거부입니다. 실행은 분명한 거부를 받고, 다른 길을 택하거나, 제안을 브랜치에 남겨 두어 사람이 처리하게 할 수 있습니다.

이 페이지 인용하기

사람, 검색 엔진, 에이전트를 위한 고정 주소와 권장 인용 형식입니다.

권장 인용 형식
Agent NAS project. “Human Gate (사람 승인 게이트).” agentnas.com, 2026-11-11. https://agentnas.com/ko/concepts/human-gate/