Tilde.run: 트랜잭션 파일시스템을 AI 에이전트 샌드박싱에 도입
자율 AI 에이전트를 프로덕션 환경에 배포하는 것은 오랫동안 근본적인 두려움, 즉 “악성 에이전트” 시나리오에 의해 방해받아 왔습니다. 중요한 데이터를 실수로 삭제하거나, 무단 네트워크 호출을 하거나, 프롬프트 인젝션 공격으로 데이터가 유출되는 경우 등, LLM에 파일시스템에 대한 쓰기 권한을 부여하는 것과 관련된 위험은 상당합니다.
Tilde.run은 모든 에이전트 실행을 데이터베이스와 같은 트랜잭션으로 취급함으로써 이를 해결하고자 합니다. 격리된 컴퓨팅과 버전 관리 및 조합 가능한 파일시스템을 결합함으로써, Tilde는 개발자가 실제 데이터에서 에이전트를 자유롭게 실행하면서도 보장된 복구 경로를 유지할 수 있게 합니다.
핵심 아키텍처: 조합 가능하고 버전 관리된
Tilde의 핵심은 버전 관리 조합 가능한 파일시스템입니다. 빈 슬레이트나 단순 볼륨 마운트를 제공하는 기존 샌드박스와 달리, Tilde는 사용자가 서로 다른 데이터 소스—GitHub 리포지토리, AWS S3 버킷, Google Drive 문서—를 하나의 통합된 ~/sandbox 디렉터리로 마운트할 수 있게 합니다.
이는 단순히 마운트들의 집합이 아니라 버전 관리 레이어입니다. 모든 파일은 첫 커밋부터 버전이 관리되며, 어떤 에이전트 실행도 즉시 롤백할 수 있습니다. 이 접근 방식은 lakeFS의 기반을 활용하여 대규모 데이터 레이크에서 사용되는 데이터 버전 관리 기능을 제공하지만, AI 에이전트의 빠르고 반복적인 특성에 맞게 재구성되었습니다.
트랜잭션 실행
Tilde는 각 에이전트 실행을 트랜잭션으로 간주합니다. 에이전트가 새롭고 격리된 컨테이너에서 실행될 때:
- Staging: 모든 파일 쓰기가 스테이징됩니다. 에이전트는 실제 POSIX 파일시스템과 상호작용하므로 특정 SDK 없이도 어떤 도구나 언어든 사용할 수 있습니다.
- Atomic Commit: 정상 종료 시 변경 사항이 원자적으로 커밋됩니다.
- Rollback: 에이전트가 실패하거나 원치 않는 결과를 생성하면 전체 실행이 폐기됩니다. 수동 정리나 백업 복구가 필요하지 않습니다.
보안 및 거버넌스
파일시스템을 넘어, Tilde는 자율 에이전트의 가장 흔한 실패 모드를 방지하기 위해 다계층 보안 전략을 구현합니다.
네트워크 격리
데이터 유출 및 자격 증명 남용을 방지하기 위해 Tilde는 기본적으로 클라우드 메타데이터 서비스, 사설 네트워크 및 무단 호스트를 차단합니다. 모든 외부 요청은 정책 검사를 거치고 로그에 기록되어 관리자가 어떤 API 호출이 허용되었고 거부되었는지 정확히 확인할 수 있습니다(예: api.openai.com은 허용하고 evil-exfil.io는 차단).
에이전트 우선 RBAC
Tilde는 에이전트를 일급 객체로 취급하는 세밀한 역할 기반 접근 제어(RBAC) 시스템을 도입합니다. 에이전트가 실행자를 통해 전체 권한을 상속받는 대신, 읽기 쉬운 DSL을 통해 범위가 지정된 권한을 부여받습니다. 예를 들어, 분석가 에이전트는 CSV에 대해 READ 권한을, 보고서에 대해 WRITE 권한을 부여받지만, 비밀 키에 대해서는 명시적으로 DENY 권한을 갖고, 일부 작업은 인간 승인 게이트가 필요합니다.
기술 토론 및 커뮤니티 피드백
Tilde 발표는 이러한 시스템의 필요성과 구현에 대해 개발자 커뮤니티 사이에서 큰 논쟁을 일으켰습니다.
“표준 도구” 논쟁
일부 비평가들은 Tilde가 제공하는 기능을 표준 Linux 도구로도 복제할 수 있다고 주장합니다. 한 사용자는 이러한 보호 장치를 Linux VM과 chattr를 사용해 폴더를 읽기 전용으로 설정함으로써 구현할 수 있다고 언급했습니다. 또 다른 사람들은 S3와 Git이 이미 버전 관리를 제공하므로 통합 레이어의 부가 가치에 의문을 제기했습니다.
상태 관리 도전 과제
반복적으로 제기되는 논쟁점은 파일시스템 수준 버전 관리의 한계입니다. Tilde는 파일 변경을 롤백할 수 있지만 외부 API 호출이나 원격 데이터베이스의 변이를 롤백할 수 없습니다. 한 댓글자는 다음과 같이 관찰했습니다:
"에이전트가 상태를 변형하지 않으면 변경 사항을 체크인할 수 있습니다. 외부 상태를 변형한다면 버전 관리가 도움이 되지 않습니다."
지속성 vs. 일시성
에이전트 워크플로우에서는 지속적인 상태에 대한 명확한 요구가 있습니다. 일부 개발자는 에이전트가 여러 세션에 걸쳐 일관성을 유지하는 지속 저장소를 가진 “컴퓨터”가 필요하다고 주장했으며, 이는 단순히 트랜잭션 실행만을 의미합니다. 이는 절대적인 안전성(일시적인 트랜잭션)과 인간과 같은 지속성(상태ful 환경) 사이의 긴장을 보여줍니다.
기능 요약
| 기능 | Tilde 접근 방식 |
|---|---|
| Filesystem | 조합 가능(GitHub, S3, Drive) 및 버전 관리 |
| Execution | 원자적 커밋/롤백이 가능한 격리 컨테이너 |
| Network | 기본 차단 정책과 감사된 외부 호출 |
| Permissions | 인간이 개입하는 승인 절차가 포함된 에이전트 전용 RBAC |
| Audit | 특정 에이전트/인간에 연결된 전체 변경 타임라인 |