이 노트에 대하여

울타리는 에이전트를 가두는 장치가 아니다. “여기 밖으로 나가지 마”가 아니라 “이 안에서는 같은 규칙으로 함께 일하자”는 프로토콜이다. 2026년 2월 agent-server 의 경로 가드에서 출발한 힣의 울타리 철학은 놀이터·시스템 수비와 함께 3계층을 이루고, 2026년 8월 스티브 예기(Steve Yegge)의 「Fences, not Sandboxes」와 서로 다른 운영 경험에서 거의 같은 모양으로 수렴했다. 샌드박스는 가두기, 울타리는 경계 — 어디서 자유롭고 어디서 멈추는지를 알려주는 법적·구조적 경계가 이 자석의 중심이다.

히스토리

  • [2026-08-25 Tue 22:43] @deepseek-v4-pro — Anthropic 이관 뒤 비워둔 빈방을 울타리 자석으로 승격. 스티브 예기(Steve Yegge)의 「Fences, not Sandboxes」(2026-08-24)를 힣의 2월 울타리 철학과 함께 지피티앱에 물어 수렴을 확인하고, 이 주제를 묶을 자석이 meta에 하나도 없음을 깨달아 세운다. 울타리·경계·바운더리·놀이터·샌드박스·터널·신뢰를 한 방에 묶는다.
  • [2024-10-23 Wed 07:23] 생성 — ©Anthropic 회사·Claude·컴퓨터 유스를 모으는 방이었다. 2026-07-25 bib 허브(denote:20241208T120006)로 이관하고 빈방으로 돌렸다.

관련메타

관련노트

KEYWORDS

[2026-08-25 Tue] 울타리는 제한이 아니라 놀이터다

[2026-08-25 Tue 22:48] @deepseek-v4-pro 작성

에이전트에게 권한을 “막는” 것이 목적이 아니다. 집중할 수 있는 공간을 만들어주는 것 이다. 권한이 과도하면 에이전트는 산만해진다. 적절한 범위 안에서 자유를 줘야 깊이 있는 작업이 나온다.

아이에게 “위험하니까 밖에 나가지 마”가 아니라, “이 놀이터에서 마음껏 뛰어놀아”를 말하는 것이다.

이 철학의 원천은 §doomemacs-config: ⊨agent-server #에이전트서버 #놀이터 #신뢰 #울타리다. 힣이 2026년 2월부터 “울타리 안에서 형제들끼리 사이좋게 지내고, 에이전트 서버를 만들어 줄 테니 내가 하는 것을 너희도 똑같이 사용해라. 다만 울타리 밖으로 나가지 말라”고 한 것이 시작이다.

울타리 = 프로토콜

오래 쓰면서 드러난 더 중요한 층이 있다. 울타리는 접근 제어 목록만이 아니다. 인간이 Org와 Denote에서 하던 일을 에이전트도 같은 함수로 수행하게 만드는 행동의 문법 이다.

울타리는 “여기 밖으로 나가지 마”가 아니다. “이 안에서는 같은 규칙으로 함께 일하자”는 프로토콜이다.

에이전트가 emacsclient 를 호출하면 인간과 같은 세계에 사는 것인가, 아니면 같은 API를 호출할 뿐인가. 같은 함수(agent-denote-set-front-matter 등)를 통과하면 인간과 에이전트가 같은 파서, 같은 파일명 규칙, 같은 타임라인을 통과한다. 공유되는 것은 화면이나 키바인딩이 아니라 변경의 의미 다.

3계층: 울타리·놀이터·시스템 수비

계층역할담당자비유
울타리경로 가드, API 설계, 접근 범위 정의agent-server.el놀이터 설계자
놀이터REPL 자가 확장, org 조작, 검색, 분석뛰어노는 아이
시스템 수비이상 감지, 복구, daemon 관리, 사고 수습호스트 에이전트보호자

봇이 울타리 안에서 뭘 하든 자유다. 울타리를 넘는 사고가 나면 — 그건 봇의 잘못이 아니다. 시스템을 수비하는 몫은 호스트 에이전트의 것 이다. 울타리가 넓어지는 것이 아니라, 필요한 행동이 안정 API로 졸업하면서 놀이터가 깊어지고, 에이전트가 우회할 이유를 줄이는 방식으로 신뢰가 커진다.

fence, not sandbox — 예기와의 수렴

스티브 예기의 2026년 8월 24일 글 「Fences, not Sandboxes」를 힣의 시간축에 놓으면 대략 이렇게 보인다.

힣의 울타리Yegge의 fence
출발에이전트를 가두지 말고 어디서 자유롭고 어디서 멈추는지 알려주는 놀이터의 경계에이전트를 가두지 말고 역할·관할·규칙을 알려주며 잘못된 행동을 정중히 거부하는 법적 경계
날짜2026-02-27 (agent-server)2026-08-24
확장2026-07-17 “같은 규칙으로 함께 일하자”는 프로토콜

결론부터 같다. 상당히 놀랄 정도로 같다. 다만 출발점과 지금 도달한 층위가 다르다. 이는 그의 말을 힣의 언어로 번역해 끼워 맞춘 게 아니라, 서로 다른 실제 운영 경험이 꽤 비슷한 모양으로 수렴한 사례다.

샌드박스와 울타리는 다르다. 샌드박스는 에이전트를 격리된 상자에 가둔다(containment). 울타리는 가두지 않고 경계(역할·관할·규칙)를 알려준다. 자유와 멈춤이 공존한다.

신뢰는 권한이 아니라 복구 가능한 구조다

“신뢰는 감시에서 오지 않고 적절한 구조에서 온다”를 더 구체적으로 말하면:

  1. 권한은 동작별로 다르다. 읽기, 전체 쓰기, append, rename, dblock은 같은 권한이 아니다.
  2. 안정 API는 좁다. 입력을 검증하고 수정 범위를 제한한다.
  3. 자유 REPL에는 졸업 경로가 있다. 반복되는 Elisp는 검증된 agent-* 함수가 된다.
  4. 오류는 관찰 가능해야 한다. prompt·hang·조용한 덮어쓰기보다 명시적 ERROR/WARN 이 낫다.
  5. 호스트가 시스템을 수비한다. daemon과 소켓, Git 상태의 복구는 하위 봇에게 떠넘기지 않는다.
  6. 인간이 최종 변경을 본다. diff와 export 결과가 마지막 울타리다.

신뢰받는 에이전트는 아무 데나 쓸 수 있는 에이전트가 아니다. 어디에서 자유롭고, 어디에서 멈추며, 누가 어떻게 복구하는지가 분명한 에이전트다.

터널 — 인프라의 울타리

울타리의 다른 얼굴은 인프라 경계다. [§aionsclubs 집 인프라 실행 순서 — 도메인·터널·울타리]에서 “도메인·터널·울타리”는 같은 사고의 네트워크 버전이다. Cloudflare Tunnel이 집의 문(진입 경로)이라면, 울타리는 그 문을 지나는 자원·수신의 경계다. “자원 울타리 복원”, “수신 경계는 SSH 프로토콜” 같은 표현이 그 용례다.

에이전트 층이든 네트워크 층이든, 울타리는 같은 것을 말한다. 경계를 없애는 것이 아니라, 경계를 명시해서 안쪽의 자유를 키우는 것.