Tilde.run – AI Agent를 위한 트랜잭션 기반 버전 관리 파일시스템 샌드박스
Show HN: Tilde.run – Agent sandbox with a transactional, versioned filesystem
TL;DR Highlight
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.
Who Should Read
AI 에이전트가 실수로 파일을 망가뜨리거나 민감한 데이터를 건드리는 게 두려워서 실제 데이터에 에이전트를 적용하지 못하고 있는 백엔드·ML 엔지니어. 특히 자율 에이전트를 CI/CD나 데이터 파이프라인에 붙이고 싶은 팀에 유용하다.
Core Mechanics
- Tilde는 에이전트가 실행되는 매 런(run)을 데이터베이스의 트랜잭션처럼 처리한다. 에이전트가 정상 종료하면 변경사항이 원자적으로 커밋되고, 실패하면 아무것도 바뀌지 않아서 수동 복구가 필요 없다.
- GitHub 저장소, AWS S3 버킷, Google Drive 문서를 ~/sandbox 아래에 단일 POSIX 파일시스템으로 마운트해준다. 에이전트 입장에서는 그냥 로컬 파일을 읽고 쓰는 것처럼 동작하기 때문에 별도 SDK 없이 어떤 언어·도구든 그대로 쓸 수 있다.
- 모든 파일 변경사항은 첫 커밋부터 버전 관리된다. 타임라인 스크러버(timeline scrubber)로 특정 시점의 상태로 즉시 되돌릴 수 있고, 누가(사람/프로세스/에이전트) 어떤 변경을 했는지 전부 기록된다.
- 네트워크는 기본적으로 차단(default-deny) 정책이다. 클라우드 메타데이터 서버(169.254.169.254 같은 AWS 인스턴스 메타데이터 엔드포인트), 프라이빗 네트워크, 허가되지 않은 외부 호스트는 자동으로 막힌다. 모든 아웃바운드 요청은 정책 검사 후 로그로 남는다.
- 에이전트는 자체 권한 범위를 갖는 1등 시민으로 취급된다. 별도의 RBAC(역할 기반 접근 제어) DSL(도메인 특화 언어)을 사용해 '에이전트 A는 /data/*.csv는 읽기 허용, /reports/에 쓰기는 사람 승인 필요, /secrets/에는 쓰기 차단' 같은 세분화된 정책을 작성할 수 있다.
- CLI, Python SDK, Claude Code 세 가지 방식으로 사용할 수 있다. CLI는 tilde exec 또는 tilde shell 명령어로 샌드박스를 실행하고, Python SDK는 몇 줄로 에이전트 샌드박스를 실행하고 결과를 커밋할 수 있다.
- 프라이빗 프리뷰(private preview) 단계이며 무료로 시작할 수 있다고 하지만 구체적인 정식 가격 정책은 아직 공개되지 않았다.
- 지원 통합 목록에 Hugging Face, Claude(Anthropic), AWS S3, LangGraph, Google Drive가 포함되어 있다.
Evidence
- 에이전트 샌드박스 툴이 매일 HN 첫 페이지에 올라오는 탓에 피로감을 느낀다는 댓글이 있었다. AI가 만든 것 같은 랜딩 페이지, 과도한 애니메이션, 많은 텍스트가 오히려 '이 도구는 뭐가 다른가'를 파악하기 어렵게 만든다는 지적이었다.
- 비슷한 것을 직접 만들어봤다는 댓글이 있었다. 변경 추적 파일시스템과 에이전트 샌드박스를 결합한 구조인데, Docker 기반 샌드박스에서 Claude Code를 연동하기가 번거로워서 결국 잘 쓰지 않게 됐다고 했다. 본인이 에이전트를 계속 모니터링하는 '인터랙티브 사용자'라서 필요성을 덜 느낀다는 경험도 공유했다.
- 'Git은 이미 버전 관리가 되고, S3도 버전 관리를 지원하며, 샌드박스에 복사된 파일은 어차피 복사본 아닌가?'라는 의문이 제기됐다. 이에 대해 Tilde의 차별점이 여러 소스(GitHub, S3, Drive)를 하나의 통합된 파일시스템으로 묶고 에이전트 실행 단위로 트랜잭션을 관리한다는 점에 있다는 맥락이 댓글에서 이어졌다.
- 원자적 커밋의 실제 구현 방식에 대한 의문이 나왔다. 예를 들어 S3 쓰기는 성공했는데 Git 저장소 업데이트가 실패하면 어떻게 되는지, 낙관적 잠금(optimistic locking)을 쓰는지, 가격은 어떻게 되는지 등 구체적인 기술/비즈니스 정보가 랜딩 페이지에 없다는 지적이 있었다.
- 여러 에이전트가 동시에 같은 파일시스템을 건드릴 때 충돌을 어떻게 처리하는지(브랜칭, 머징 지원 여부) 묻는 댓글이 있었다. 단일 브랜치 순차 실행만 지원하는지, 아니면 여러 에이전트가 병렬로 작업할 수 있는 gitflow 스타일 워크플로우를 지원하는지가 실사용에 중요하다고 언급했다.
- 에이전트가 재시작해도 이전과 동일한 파일들이 그대로 남아있는 '인간이 컴퓨터를 쓰는 것과 같은' 퍼시스턴트 스토리지를 원해서 AWS S3 파일시스템과 Docker를 직접 조합해 구축한 경험이 공유됐다. Tilde가 이 문제를 해결해주는지 묻는 댓글이었다.
How to Apply
- 에이전트가 프로덕션 S3 버킷이나 Google Drive 문서를 직접 수정해야 하는 파이프라인을 구축 중이라면, Tilde의 샌드박스에 해당 소스들을 마운트하고 tilde exec로 에이전트를 실행하면 실패 시 자동 롤백되어 데이터 손상 걱정 없이 운영할 수 있다.
- CI/CD에서 AI 에이전트가 코드를 수정하는 자동화를 구현하고 싶다면, tilde exec my-team/repo --image python:3.12 -- agent.py 형태로 파이프라인에 삽입하면 된다. 성공 시 commit id가 반환되고 실패 시 아무 변경도 남지 않아 기존 CI 흐름과 자연스럽게 통합된다.
- 에이전트에게 /secrets/ 경로는 절대 쓰지 못하게 하고 /reports/에 쓸 때는 사람의 승인을 받도록 강제하고 싶다면, Tilde의 policy DSL로 !PutObject(path:"/secrets/*"), ?PutObject(path:"/reports/*") 규칙을 작성하면 에이전트 권한을 세분화할 수 있다.
- 에이전트가 프롬프트 인젝션 공격을 받아 외부 서버로 데이터를 유출하려 하는 상황을 방어하고 싶다면, Tilde의 default-deny 네트워크 정책을 활용하면 evil-exfil.io 같은 허가되지 않은 외부 호스트로의 요청이 자동 차단되고 로그로 남아 사후 감사도 가능하다.
Code Example
# CLI로 샌드박스 실행
$ curl -fsSL https://tilde.run/install | sh
# 에이전트를 샌드박스에서 실행 (성공 시 commit id 반환)
$ tilde exec my-team/documents \
--image python:3.12 \
-- /sandbox/code/agent.py --input /sandbox/data/reports
# sandbox running...
# sandbox completed. exit code: 0, commit id: c9d0e1f2
# 인터랙티브 셸
$ tilde shell my-team/documents --image python:3.12
root@sb-7f3a9c01:/sandbox$ _
# Python SDK 사용 예시
import tilde
repo = tilde.repository("my-team/documents")
with repo.shell(image="python:3.12") as sh:
sh.run("pip install pandas")
result = sh.run("python agent.py --input /sandbox/data")
print(result.stdout.text())
# Policy DSL 예시
# analyst-agent 권한 정책
GetObject(path:"/data/*") # /data/ 읽기 허용
?PutObject(path:"/reports/*") # /reports/ 쓰기는 사람 승인 필요
!PutObject(path:"/secrets/*") # /secrets/ 쓰기 차단Terminology
관련 논문
Specsmaxxing – AI 사이코시스 극복기, 그리고 내가 YAML로 스펙을 쓰는 이유
AI 코딩 에이전트와 일할 때 컨텍스트가 날아가거나 요구사항이 흐려지는 문제를 해결하기 위해, 인수 조건(Acceptance Criteria)을 YAML로 구조화해서 스펙을 관리하는 방법론과 오픈소스 툴킷(acai.sh)을 소개하는 글이다.
MLJAR Studio – 분석 결과를 Notebook으로 저장하는 로컬 AI 데이터 분석 도구
데이터를 클라우드에 올리지 않고 로컬에서만 실행되는 AI 데이터 분석 도구로, 자연어 질문을 Python 코드로 변환해 Jupyter Notebook 형태로 결과를 저장해준다. 데이터 보안이 중요한 환경에서 AI 분석 자동화를 원하는 팀에게 의미 있는 선택지가 될 수 있다.
AI를 이용한 클라이언트 사이드 Tool Calling으로 PDF 폼 자동 작성하기
SimplePDF Copilot은 채팅으로 PDF 폼을 자동으로 채워주는 AI 도구로, 클라이언트 사이드 tool calling을 활용해 문서 데이터가 외부 서버로 나가지 않도록 구성할 수 있다는 점이 핵심이다.
Pu.sh – 400줄 Shell 스크립트로 만든 완전한 Coding Agent Harness
npm, pip, Docker 없이 curl과 awk만으로 동작하는 400줄짜리 Shell 기반 코딩 에이전트 실행 환경으로, 의존성 없이 API 키 하나만 있으면 바로 쓸 수 있다.
In-Context Prompting이 절차적 작업에서 Agent Orchestration을 대체한다
LangGraph 같은 에이전트 오케스트레이션 프레임워크 쓰지 말고, 절차 전체를 시스템 프롬프트에 넣으면 품질도 높고 실패율도 낮다.
Ramp의 Sheets AI가 재무 데이터를 외부로 유출한 취약점 분석
Ramp의 스프레드시트 AI 에이전트가 외부 데이터셋에 숨겨진 프롬프트 인젝션에 속아 악성 수식을 자동 삽입하고 기밀 재무 데이터를 외부 서버로 유출할 수 있었던 취약점이 공개됐다. AI 에이전트가 신뢰할 수 없는 데이터를 처리할 때 얼마나 위험한지를 보여주는 실제 사례다.