예전에는 AI 에이전트가 S3에서 파일을 가져오고 슬랙에 메시지를 보내려면 각각의 서비스 전용 SDK(소프트웨어 개발 키트)나 MCP(모델 컨텍스트 프로토콜)를 따로 익혀야 했다. 지금은 이 모든 백엔드를 단일 파일시스템 트리로 마운트해 표준 bash 도구만으로 자유롭게 오갈 수 있다. 달라진 건 다양한 외부 리소스를 로컬 디스크처럼 보이게 만드는 가상 파일시스템 'Mirage'의 등장이다.
에이전트 입장에서는 복잡한 API 호출 대신 ls나 cat 같은 익숙한 명령어로 데이터를 탐색한다. 비유하자면, 전 세계에 흩어진 서류함들을 내 책상 위 하나의 폴더로 합쳐놓은 것과 같다. 이는 LLM(거대언어모델)이 이미 방대한 양의 bash 코드를 학습했다는 점을 활용한 전략이다. 별도의 새로운 어휘를 가르칠 필요 없이, 에이전트는 마치 자신의 컴퓨터에 있는 파일을 다루듯 S3의 객체나 지메일의 메일을 처리하게 된다. 서비스 간의 데이터 이동 역시 로컬 디스크에서 파일을 옮기듯 자연스러운 파이프라인으로 구성된다.
Mirage, S3부터 슬랙까지 잇는 통합 마운트와 프레임워크 지원
AI 에이전트가 S3에서 파일을 가져오고 슬랙에 메시지를 보내려면 지금까지는 서비스마다 제각각인 API를 일일이 배워야 했다. Mirage는 이 파편화된 연결 통로를 단일 루트라는 하나의 입구로 통합했다. 비유하자면 여러 개의 외장 하드와 클라우드 저장소를 하나의 가상 폴더 안에 모두 집어넣은 것과 같다. S3(아마존 웹 서비스의 객체 저장소), R2(클라우드플레어의 저장소), OCI(오라클 클라우드 인프라), Supabase(오픈소스 데이터베이스 플랫폼), GCS(구글 클라우드 저장소) 같은 저장소는 물론 Gmail, 구글 드라이브, 구글 문서, 구글 시트, 구글 슬라이드 같은 구글 워크스페이스 도구들이 한곳에 모인다. 여기에 깃허브(GitHub), 리니어(Linear, 이슈 추적 도구), 노션(Notion), 트렐로(Trello) 같은 협업 툴과 슬랙(Slack), 디스코드(Discord), 텔레그램(Telegram), 이메일 같은 통신 수단, 그리고 몽고DB(MongoDB, 문서 지향 데이터베이스)와 SSH(원격 접속 프로토콜)까지 단일 루트 아래에 나란히 배치한다. 쉽게 말하면 AI가 복잡한 API 호출 코드를 짜는 대신 윈도우 폴더를 뒤지듯 데이터를 다룰 수 있게 된 구조다.
이러한 통합 환경은 개발자가 사용하는 기존 AI 도구들과도 매끄럽게 연결된다. OpenAI Agents SDK를 비롯해 타입스크립트 기반의 Vercel AI SDK, 랭체인(LangChain, LLM 애플리케이션 프레임워크), Pydantic AI, CAMEL, 오픈핸즈(OpenHands, 오픈소스 AI 소프트웨어 엔지니어) 같은 주요 프레임워크를 모두 지원한다. 특히 주목할 점은 앱 임베드 기능이다. 파이썬(Python)과 타입스크립트(TypeScript) SDK를 제공해 패스트에이피아이(FastAPI)나 익스프레스(Express) 같은 비동기 런타임 내부에서 가상 파일시스템을 직접 부여할 수 있다. 비유하자면 별도의 외부 프로그램을 실행해 연결하는 방식이 아니라 앱의 심장부에 저장 시스템을 직접 이식하는 방식이라 별도의 프로세스를 띄울 필요가 없다.
작업 환경의 이식성도 높였다. Mirage의 워크스페이스는 단순한 설정 파일 묶음이 아니라 하나의 상태 값으로 관리된다. 덕분에 현재의 환경을 그대로 복제하는 클론(clone)이나 특정 시점을 저장하는 스냅샷(snapshot), 그리고 변경 이력을 관리하는 버전(version) 기능이 가능하다. AI 에이전트가 작업하던 환경을 통째로 캡처해 다른 머신으로 옮겨도 재시작이나 재구성 과정 없이 즉시 작업을 이어갈 수 있다. 이러한 유연한 구조는 아파치 2.0(Apache-2.0, 오픈소스 소프트웨어 라이선스) 라이선스로 공개되어 누구나 자유롭게 활용하고 확장할 수 있다.
bash 명령어로 제어하는 2계층 캐시와 커맨드 확장 구조
개발자가 바로 체감하는 변화는 응답 속도보다 제어권이다. Mirage(미라주, 다양한 백엔드를 단일 파일시스템으로 통합하는 가상 시스템)는 단순한 파일 읽기를 넘어 새로운 명령어를 직접 정의하는 커맨드 확장 기능을 제공한다. 쉽게 말하면 운영체제에 없는 나만의 단축키를 만드는 것과 같다. 예를 들어 아래와 같이 `summarize`라는 명령어를 등록하면 모든 마운트된 리소스에서 이를 사용할 수 있다.
ws.command('summarize', ...)여기서 한 걸음 더 나아가 특정 조건에서만 다르게 동작하게 만드는 커맨드 오버라이드(Command Override, 기존 명령어를 특정 상황에 맞게 덮어쓰는 기능)도 가능하다. 비유하자면 일반적인 읽기 명령을 내렸을 때 상대가 외국인이라면 자동으로 번역해서 읽기로 동작하게 설정하는 식이다. S3(에이전트가 접근하는 클라우드 저장소)의 Parquet(파케이, 대용량 데이터 처리에 최적화된 열 지향 저장 형식) 파일을 `cat` 명령어로 읽을 때 원시 바이트 데이터 대신 읽기 편한 JSON 행으로 출력하도록 설정하는 것이 대표적이다.
ws.command('cat', { resource: 's3', filetype: 'parquet' }, ...)성능 최적화의 핵심은 API 호출 횟수를 줄이는 2계층 캐시 구조에 있다. 먼저 인덱스 캐시(Index Cache)는 디렉토리 목록이나 파일 크기 같은 메타데이터를 기억한다. 도서관에서 책을 찾을 때 매번 사서에게 묻지 않고 미리 적어둔 도서 목록 리스트를 확인하는 것과 비슷하다. 처음 탐색할 때는 API를 호출해 정보를 가져오지만 이후에는 설정된 TTL(Time To Live, 데이터 유효 기간)이 만료되기 전까지 캐시된 응답을 즉시 내놓는다. 그 다음 단계인 파일 캐시(File Cache)는 실제 파일의 내용인 오브젝트 바이트를 저장한다. 첫 읽기 시에는 원본 데이터를 스트리밍으로 가져오고 이후 동일한 파일에 접근하는 파이프라인에서는 저장된 캐시를 읽어 처리 속도를 높인다.
이러한 캐시 데이터를 어디에 저장할지는 플러그어블 백엔드(Pluggable Backends, 저장소를 자유롭게 교체할 수 있는 구조) 설정을 통해 결정한다. 기본값인 RAM(램, 휘발성 메모리)을 사용하면 파일 캐시 512MB와 인덱스 TTL 10분이라는 빠른 속도의 임시 저장 공간을 갖게 된다. 하지만 시스템을 재시작해도 데이터가 유지되어야 하거나 여러 워커와 프로세스 그리고 머신 간에 캐시를 공유해야 한다면 Redis(레디스, 고성능 키-값 저장소)를 선택할 수 있다. 이는 개인용 메모장에서 공유 화이트보드로 저장 공간을 옮기는 것과 같다. 이를 통해 에이전트는 매번 무거운 API 호출을 반복하지 않고도 가상 파일시스템 위에서 로컬 디스크를 다루는 것과 같은 매끄러운 성능을 경험한다.
SDK 학습 비용 제거가 가져올 AI 에이전트의 실무 적용 가속화
지금까지 AI 에이전트가 구글 드라이브에서 파일을 가져와 슬랙에 올리려면 각 서비스가 제공하는 서로 다른 SDK(소프트웨어 개발 키트, 특정 서비스의 기능을 쓰기 위해 제공되는 도구 모음) 사용법을 일일이 익혀야 했다. 에이전트가 도구를 사용하려면 해당 서비스의 API 구조를 정확히 이해하고 그에 맞는 명령어를 생성하는 별도의 학습 과정이 필수적이었다. 하지만 이제는 서비스별 SDK나 MCP(모델 컨텍스트 프로토콜, AI 모델과 외부 데이터 소스를 연결하는 표준 규격)를 새로 배울 필요가 없다. 유닉스 계열의 bash(명령줄 인터페이스) 도구만으로 모든 백엔드 시스템을 제어할 수 있게 되었기 때문이다.
비유하자면 예전에는 서로 다른 국가의 언어를 쓰는 사람들과 대화하기 위해 매번 새로운 외국어를 배워야 했다면, 이제는 모두가 공용어 하나로 소통하기로 합의한 셈이다. 쉽게 말하면 복잡한 API 호출 과정이 사라지고 로컬 컴퓨터에서 폴더 사이로 파일을 옮기는 것처럼 단순해진다. S3의 데이터를 읽어 슬랙으로 보내는 워크플로우가 마치 내 컴퓨터의 C 드라이브에서 D 드라이브로 파일을 복사하는 것과 같은 논리로 작동한다. 데이터 파이프라인 구축이 단순한 파일 경로 지정 문제로 바뀌면서 실무 도입을 가로막던 기술적 문턱이 급격히 낮아진다.
이러한 변화는 Claude Code나 Codex 같은 코딩 에이전트에게 특히 강력한 무기가 된다. 이들은 이미 bash 명령어 체계에 매우 능숙하게 학습된 모델들이다. 별도의 추가 학습 없이도 마운트된 리소스에 즉시 접근해 파일을 읽고 수정할 수 있다. 에이전트가 새로운 서비스 연동법을 배우느라 시간을 허비하는 대신 실제 비즈니스 로직을 처리하는 데 온전히 집중하게 된다. 개발자는 에이전트에게 수백 페이지의 API 가이드를 읽히는 대신 그냥 bash로 처리하라고 명령하면 그만인 환경이 조성된다.
실행 환경을 옮길 때 발생하는 운영상의 번거로움도 사라진다. 기존에는 에이전트를 다른 머신으로 이전하려면 환경 변수를 다시 설정하고 라이브러리를 재설치하는 재구성 과정이 필요했다. 이제는 워크스페이스 자체를 스냅샷으로 찍거나 복제하는 방식으로 이식할 수 있다. 비유하자면 게임의 세이브 파일을 옮기듯 현재의 연결 상태와 설정 그대로 다른 환경에서 즉시 실행하는 구조다. 재시작이나 재구성 없이도 에이전트가 즉각적으로 업무에 투입될 수 있어 기업의 인프라 운영 효율과 확장성이 동시에 극대화된다.




