# [[가드레일 (Guardrails) 및 제어 시스템]]

## 📌 Brief Summary
에이전트 하네스에서 가드레일 및 제어 시스템은 인공지능 모델이 무단, 파괴적 혹은 환각적인 행동을 취하는 것을 방지하는 필수적인 인프라 보안 계층입니다 [1-3]. 이 시스템은 모델의 확률적인(Probabilistic) 추론과 결정을 물리적 시스템의 결정론적(Deterministic) 규칙 및 안전 프로토콜로 제한하여 신뢰성을 확보합니다 [4]. 기업의 보안 요구사항을 충족시키기 위해 샌드박스 격리, 도구 호출 검증, 다계층 권한 부여, 그리고 인간 개입(HITL) 메커니즘을 통합하여 에이전트의 자율성을 통제합니다 [2, 5, 6].

## 📖 Core Content
*   **권한 및 인가 관리 (Permissions & Authorization)**: 하네스는 모델이 특정 도구를 실행하기 전에 이를 승인할지 결정하는 세밀한 다계층 제어 시스템을 포함합니다 [1, 7]. 에이전트는 다중 수준 권한 모드(예: Default, Auto, Plan Mode), 경로 수준(Path-level) 통제 규칙, 그리고 도구 실행 전후에 개입하는 수명 주기 훅(PreToolUse / PostToolUse Hooks)의 통제를 받습니다 [8, 9]. 인증된 환경에서는 단순한 신원 확인을 넘어 OPA(Open Policy Agent) 정책 게이트나 인가 패브릭(Authorization Fabric)을 활용하여 비즈니스 및 규제 맥락에 따라 '허용', '거부', '승인 필요' 등의 결정을 내립니다 [2, 7].
*   **인간 개입 (Human-in-the-Loop, HITL) 통제**: 생산 데이터베이스 쓰기, 외부 이메일 전송 등 민감하고 위험도가 높은 작업의 경우, 하네스는 모델의 실행을 일시 중단시키고 사람의 승인을 요구하는 인터럽트(Interrupts) 워크플로우를 강제합니다 [6, 10]. 사용자는 단순한 승인과 거부뿐만 아니라 '변경 후 승인(approve with changes)' 등을 통해 도구 입력값을 직접 수정할 수도 있으며, 이를 통해 인공지능이 노동을 수행하되 인간이 최종적인 통제권과 책임을 유지하도록 합니다 [10-12].
*   **실행 샌드박스 및 환경 격리 (Sandboxing & Isolation)**: 에이전트가 자율적으로 생성한 코드가 호스트 시스템을 오염시키거나 파괴하지 못하도록, 하네스는 Docker, OCI 컨테이너, 혹은 Firecracker 마이크로VM과 같이 격리된 샌드박스 환경 내에서만 실행을 허용합니다 [5, 13, 14]. 고도화된 샌드박스는 커널 수준의 격리(Landlock, seccomp)나 엄격한 네트워크 송신 제한을 강제하여 에이전트의 무단 접근을 원천 차단합니다 [5, 15].
*   **도구 호출 검증 (Tool Validation)**: 모델이 존재하지 않는 API를 호출하거나 잘못된 매개변수 유형을 사용하는 환각(Hallucination) 오류를 방지하기 위해, 하네스는 실행 전에 도구 호출을 가로채어 스키마를 검증합니다 [16-18]. 만약 오류가 발생하면 시스템에 치명적인 에러를 발생시키는 대신, 린터(Linter) 메시지 등 정제된 피드백을 모델에 반환하여 스스로 코드를 수정할 수 있는 자가 치유(Self-healing) 루프를 유도합니다 [18, 19].

## ⚖️ Trade-offs & Caveats
*   **승인 피로(Approval Fatigue) 현상**: 모든 행동에 권한 확인이나 승인 게이트를 추가할 경우 사용자에게 심각한 '승인 피로'가 발생할 수 있습니다 [7]. 사용자가 93% 이상의 프롬프트를 기계적으로 자동 승인하게 되면 가드레일은 본래의 감시 목적을 상실하고 유명무실해지며, 에이전트 시스템의 처리 속도와 자율성만 크게 저하시키는 부작용을 초래합니다 [7, 20].
*   **컨텍스트 부패(Context Rot)와 비용 증가**: 모델이 실패를 반복하거나 하네스가 검증을 위해 지속적으로 에러 메시지와 긴 로그를 컨텍스트에 주입할 경우, 컨텍스트 윈도우가 빠르게 소진되는 문제가 발생합니다 [21, 22]. 이는 모델이 초기 지시사항을 망각하게 만들며 결과적으로 불필요한 토큰 낭비와 연산 오버헤드(비용 증가)로 이어집니다 [22, 23].
*   **무한 루프(Doom Loops) 위험성**: 대규모 언어 모델의 비결정론적 특성상, 샌드박스나 권한 제어에 의해 특정 도구 실행이 차단되었음에도 불구하고 모델이 해결책을 재고하지 못하고 계속해서 동일한 잘못된 코드나 도구 호출을 시도하는 무한 루프에 빠질 위험이 있습니다 [18, 24].
*   **하네스 설정 파일 보호의 한계**: 에이전트가 샌드박스 내에서 활동하더라도, MCP(Model Context Protocol) 서버 설정 파일이나 훅(Hook) 파일 등 하네스 자신의 설정 환경에 에이전트가 쓰기 권한을 가지게 되면 문제가 됩니다 [5]. 에이전트가 자신의 안전 장치 설정을 수정하여 스스로 권한을 상승시키는 심각한 보안 헛점이 발생할 수 있으므로 이에 대한 엄격한 격리가 보장되어야 합니다 [5].

---
*Last updated: 2026-05-05*