2026년 상반기 Coding Agent 구축 방식을 보면 한 가지 패턴이 어디에나 있습니다. 모델이 호스트 파일시스템을 직접 읽고 쓰지 않고, 팀은 그 사이에 가상 파일시스템(VFS)을 둡니다—Cursor 샌드박스 도구와 Claude Code 워크스페이스 추상화부터 OpenHands, E2B, Modal의 원격 샌드박스까지. Agent는 governable API 계층을 통해 디스크와 통신합니다.
이는 단순히 마운트 지점이 다른 것이 아닙니다. VFS는 격리, Token 예산, 스냅샷, 감사 가능한 변경 네 가지 역할을 동시에 담당합니다. 본문에서는 2026년에 VFS가 기본이 된 이유, Memory 레이어와의 조합, 팀이 고르는 구현, iOS / 크로스플랫폼 개발자가 VFS 샌드박스를 클라우드 Mac 빌드 환경에 연결하는 방법을 설명합니다.
* 일반적인 monorepo 실험과 벤더 권장 사례 기준. repo 구조에 따라 다릅니다.
Agent 가상 파일시스템이란?
기존 IDE 플러그인은 LLM이 read_file("/Users/...")를 호출하게 합니다—경로가 곧 권한입니다. Agent VFS는 모델과 스토리지 사이에 제어 API를 둡니다:
ls/tree: 요약만 반환, 전체 트리를 컨텍스트에 넣지 않음grep/glob: 줄 단위 히트가 있는 패턴 검색read: Token 예산이 있는 범위 읽기write/patch: 구조화된 diffsnapshot/rollback: 작업 단위 체크포인트
모델은 여전히 파일 트리를 봅니다. 플랫폼은 모든 I/O에서 계량, 스로틀, 감사, 경로 거부가 가능합니다. “repo를 컨테이너에 clone하고 bash 실행”과는 다릅니다.
2026년에 확산된 이유
세 가지 압력이 동시에 작용하며 VFS는 최적화에서 기본 아키텍처가 되었습니다.
보안: Agent는 머신을 소유하면 안 된다
Agent가 셸을 실행하고 설정을 편집하며 패키지를 설치하면 프롬프트 주입 한 번이 RCE로 이어질 수 있습니다. 2025–2026년 “Agent가 repo를 지웠다”, “실수로 ~/.ssh를 편집했다” 사건 이후 제품들은 샌드박스를 기본으로 채택했습니다:
- 경로 허용 목록: 프로젝트 루트와
/tmp하위만 - 네트워크 egress 제어: npm/pip는 프록시 경유, 임의 내부 curl 차단
- 자격 증명 격리: API 키는 VFS 밖, 게이트웨이가 주입
VFS는 단일 강제 지점—모든 도구에 if path.startswith를 흩뿌리는 것보다 깔끔합니다.
Token: 컨텍스트는 공짜 디스크가 아니다
실제 월간 AI 프로그래밍 비용에서 보여 준 것처럼, 10만 줄 monorepo를 프롬프트에 넣으면 호출당 수 달러가 듭니다. VFS는 “코드를 소유”를 “필요할 때 검색”으로 바꿉니다:
grep "class FooBar"로 위치 파악read path:42-80으로 함수 읽기patch는 diff만 반환
이는 DeepSeek, Claude Code, Cursor 선택을 보완합니다: 들어갈 수 있다 ≠ 넣어야 한다. VFS는 제품 수준의 Token 경제입니다.
스냅샷: 롤백과 재현성
열 번 파일을 편집한 뒤 빌드가 깨지면—사용자는 “5분 전으로 돌아가고 싶다”고 합니다. 각 write 전 VFS 스냅샷(오버레이 FS, git stash 등)은 작업 상태를 버전 관리합니다. 다음에 중요합니다:
- 팀이 공유하는 클라우드 Agent 세션
- PR을 무인으로 고치는 CI 봇
- 모델이 무엇을 바꿨는지 컴플라이언스에 보여야 하는 기업
Memory는 선호를 기억하고, VFS 스냅샷은 이번 실행에서 무엇이 바뀌었는지를 기억합니다—시간 축이 다릅니다.
누가 무엇을 쓰는가
| 제품 | VFS 형태 | 비고 |
|---|---|---|
| Cursor | 로컬 샌드박스 + read/grep 도구 | IDE 깊은 통합; .cursorignore가 정책 |
| Claude Code | 워크스페이스 + 승인 | 위험 작업은 human-in-the-loop |
| OpenHands | Docker 샌드박스 + repo 마운트 | 오픈소스, 셀프호스트 친화 |
| E2B / Modal | 원격 VM 수준 VFS | 강한 격리; 콜드 스타트 트레이드오프 |
| LangGraph / 커스텀 | 스토어 추상화 | 유연; grep 성능과 스냅샷은 직접 구현 |
공통점: 모델은 원시 open() 시스템 콜을 갖지 않음—스키마가 있는 도구 호출만. 그래서 Claude Code Skills는 안전하게 기능 팩을 배포할 수 있습니다: Skills가 허용 경로/도구를 선언하고 VFS가 강제합니다.
VFS vs Memory 레이어
VFS를 Mem0, Zep, TencentDB Agent Memory와 혼동하지 마세요:
| 차원 | VFS | Memory |
|---|---|---|
| 시간 축 | 단일 작업 / 세션 워크스페이스 | 세션 간 사실과 선호 |
| 저장 | 코드 트리, diff, 빌드 로그 버퍼 | 제약, 결정, 실패 요약 |
| API | read / grep / patch | add_memory / search |
| 실패 모드 | 스냅샷 롤백 시 편집 손실 | 오래된 사실은 시간적 무효화 필요 |
성숙한 스택은 3계층: VFS는 “지금 편집 중인 것”, Memory는 “이 사용자가 항상 원하는 것”, 실제 macOS는 “컴파일되고 출시되는가”.
구현 비교
빠른 선택
- 개인 로컬 개발 → IDE 내장 VFS(Cursor / Claude Code)
- 팀 공유 Agent → 세션당 OpenHands 또는 E2B
- 컴플라이언스 → VFS 감사 로그 + Zep 시간적 Memory
- 거대 도구 출력(
xcodebuild로그) → VFS 링 버퍼; 요약은 Memory로
직접 VFS를 만든다면 10만 파일에서 grep <2초와 원자적 patch를 우선하세요. 많은 팀은 아래에 git worktree, 위에 VFS를 정책 + Token 래퍼로 올립니다—실용적인 MVP입니다.
iOS / 크로스플랫폼 개발자를 위한 실전 경로
Flutter / React Native 팀은 VFS 샌드박스에서 flutter build가 통과하면 출시 준비가 끝났다고 가정하기 쉽습니다. 실제로는:
- VFS 샌드박스: Agent가 Dart/Swift 편집, 단위 테스트 실행, PR 문구 초안
- Memory: 테스트 기기 UDID, TestFlight 전용, 지난번 프로파일 만료
- 클라우드 Mac: 실제
xcodebuild, 아카이브, App Store Connect 업로드
RN / Flutter iOS 실기기 디버그와 App Store를 참고하세요. Apple 툴체인은 하드웨어와 macOS에 묶여 있습니다. VFS는 안전한 코드 편집, Zilmac 클라우드 Mac은 Apple 환경에서 컴파일·출시되는 빌드를 담당합니다.
권장 파이프라인: 로컬 또는 클라우드 VFS 샌드박스에서 feature 브랜치 완료 → Memory가 빌드 제약 기록 → webhook이 클라우드 Mac CI 트리거 → 실패 로그 요약이 다음 Agent 세션용 Memory에 기록.
권장 사항과 안티패턴
권장 사항
- 기본 deny-all 경로 정책; 디렉터리는 명시적으로 허용
- N KB를 넘는 도구 출력은 VFS 파일로; 컨텍스트에는 요약 + 경로만
- 작업 종료 시 병합되지 않은 핵심 diff를 Memory 또는 이슈에 동기화
- 빌드와 서명은 VFS와 물리적으로 분리—Agent가 프로비저닝 프로파일에 접근하지 않게
안티패턴
- ❌ VFS를 비즈니스 데이터 JSON DB로 사용—Memory나 실제 DB 사용
- ❌ Agent가
node_modules전체를read—Token 블랙홀 - ❌ 스냅샷 없는 얇은 호스트 경로 래퍼—롤백 불가
- ❌ VFS가 Xcode를 대체할 것으로 기대—서명과 실기기 디버그는 여전히 macOS 필요
FAQ
Agent VFS와 Docker 마운트의 차이는?
Docker는 실제 경로 의미를 유지합니다. Agent VFS는 Agent API에 Token 예산, 스냅샷, 허용 목록을 더합니다—컨테이너가 아니라 추상화 계층입니다.
Memory가 있으면 VFS가 필요 없나?
아니요—역할이 다릅니다. Memory는 세션 간 선호와 작업 이력, VFS는 단일 작업 내 코드 트리 읽기/쓰기와 도구 출력 버퍼입니다. 위 표를 참고하세요.
VFS가 Xcode 프로젝트 디렉터리를 대체할 수 있나?
서명과 빌드에는 아니지만, Agent가 코드를 편집할 때 안전성은 크게 높입니다. 실용적 조합: VFS 샌드박스 + 클라우드 Mac 빌드.
커스텀 Agent용 VFS는 어떻게 고르나?
프로토타입은 git worktree; 프로덕션은 격리 요구에 따라—OpenHands, E2B, 또는 커스텀 게이트웨이. grep 성능, 스냅샷, 멀티테넌트 격리를 벤치마크하세요.
VFS로 안전 편집, 클라우드 Mac으로 출시 가능한 빌드
가상 파일시스템으로 Agent는 Swift와 Flutter를 안전하게 편집하지만, TestFlight 서명과 xcodebuild에는 여전히 macOS가 필요합니다. Zilmac은 어떤 VFS + Memory 스택과도 연동—샌드박스 편집과 Apple Silicon 클라우드 빌드.
물리 Mac 없이 Apple 툴체인 실행. — 클라우드 Mac 요금제 보기