AI Agent가 프로덕션 저장소에 직접 write / rm을 실행하면 환각 한 번으로 데이터 삭제·키 유출·반쯤 쓰인 설정이 될 수 있습니다. Virtual File System(VFS)은 에이전트를 버릴 수 있고, 검토·롤백 가능한 뷰에 가두고, 사람 또는 CI 승인 후에만 실제 디스크에 병합합니다.
1. 직접 쓰기가 위험한 이유
코딩 Agent는 자신 있게 대량 실행하고 무인 루프에서 재시도합니다. 경로 탈출, rm -rf, 중간 실패로 인한 반쯤 쓰기, diff 없는 shell 편집이 대표적입니다.
원칙: 기본 권한은 「읽기 위주, 쓰기는 반드시 롤백 가능」.
2. VFS 3계층
- Base(읽기 전용):깨끗한 스냅샷
- Overlay(쓰기):모든 변경은 여기에만
- Publish:검토·테스트 후 병합
3. 네 가지 구현 패턴
Git worktree, OverlayFS/컨테이너, 원격 샌드박스, IDE 가상 계층. 장시간 자율 Agent는 전용 머신 + 고정 샌드박스가 적합합니다.
4. 권한·화이트리스트
$WORKSPACE/**만 쓰기 허용.env*,secrets/기본 거부- 파일 API + shell 이중 게이트
5. 원자 쓰기와 diff
overlay 스테이징 → unified diff → rename 또는 단일 commit → run_id 롤백.
6. 비밀 경로 격리
런타임 플레이스홀더, 로그/diff 마스킹, egress 제한.
7. 샌드박스 예제
def safe_resolve(path: str) -> Path:
p = (SANDBOX / path).resolve()
if not str(p).startswith(str(SANDBOX)):
raise PermissionError("path escape")
return p
8. 프로덕션 체크리스트
- ☐ 무제한 shell 금지
- ☐ 쓰기 경로 화이트리스트
- ☐ 실행별 롤백
- ☐ 상주 Agent는 전용 호스트
9. FAQ
VFS가 느린가요?
overlay 오버헤드는 ms 단위로 LLM 왕복보다 가볍습니다.
소규모 팀 최소 구성?
브랜치 + PR만, main 직접 push 금지.
Docker와 충돌?
코드는 읽기 전용 마운트, 변경은 쓰기 레이어에.
병렬 multi-agent?
Agent마다 worktree, integrator가 병합.
Cursor가 VFS?
제어된 도구 + 워크스페이스 규칙의 동일 추상화입니다.
클라우드 Mac과의 관계?
APFS 스냅샷·전용 FS가 장시간 Agent에 유리합니다.
스냅샷 가능한 전용 Agent Runner
Nuvcloud 클라우드 Mac mini M4—요금 보기.