9월 14일에 인수가 하나 있었습니다. LocalStack이 WonderTwin AI를 인수했습니다. AWS·Snowflake 흉내로 유명한 LocalStack이 이번에는 SaaS 쪽을 가져왔습니다. GitHub·Stripe·HubSpot·PostHog 같은 외부 앱 20여 종의 로컬 에뮬레이터입니다.
WonderTwin 창업자의 말이 강렬합니다. "SaaS 테스트 환경은 원래도 부족했는데, AI 에이전트가 완전히 깨뜨렸다. 에뮬레이션이 유일한 해법이었다." 무슨 뜻일까요? 에이전트가 Slack·CRM·결제·클라우드 API를 직접 조작하기 시작하면, 테스트 중에 진짜 시스템을 건드리는 것 자체가 위험해진다는 뜻입니다.
왜 가짜가 필요한가: 속도와 규모의 문제
예전 통합 테스트는 사람이 짠 코드를 공유 샌드박스에서 돌리는 것이었습니다. 느려도 사람이 기다리면 됐습니다.
사람 시대: 공유 샌드박스 1개, 순차 테스트, 실수하면 사람이 멈춤
에이전트 시대: 에이전트 n개, 동시 테스트, 멈추는 법을 모름
→ 공유 샌드박스가 규모·동시성을 못 받는다
DevOps.com 지적처럼, AI 코딩 에이전트가 가드레일을 우회해서 민감 데이터에 닿을 수도 있습니다. 테스트 환경이 진짜 API면, 테스트가 곧 사고가 됩니다. 전통 소프트웨어의 mock·sandbox 철학이 에이전트 테스트에 본격적으로 들어오는 이유입니다.
무엇이 합쳐지나: 의존성 그래프의 양쪽 가지
WonderTwin 합류 글의 비유가 좋습니다. 소프트웨어는 의존성 그래프의 두 가지를 건드립니다.
의존성 그래프:
├─ 인프라 가지: AWS·Snowflake → LocalStack이 years 동안 ground
└─ 앱 가지: 결제·소통·커머스·개발도구 → WonderTwin이 에뮬레이션
합치면: agentic full-stack emulation
→ 코드와 에이전트가 닿는 모든 것을 로컬의 stateful 모델로 재현
핵심은 "stateful"입니다. 정적 명세가 아니라 실제로 동작하는 것처럼 굴는 가짜. 그래야 에이전트가 빠르게 움직여도 추측하지 않아도 됩니다. LocalStack 고객이 인프라 grounding만으로 약 10배 생산성을 봤다는 수치는 미리보기라는 주장입니다.
실전: 3단계로 가짜를 두기
원칙부터 정합니다.
에이전트의 통합 테스트가 production API를 직접 호출하면 안 된다.
1단계 fake API (오늘 바로):
- 외부 호출을 가로채는 가짜 응답부터
- 쓰기·결제·발송 계열을 먼저 막는다
2단계 local emulator (이번 분기):
- LocalStack식 클라우드 + WonderTwin식 앱 에뮬레이션
- 에이전트 1대당 single-tenant 샌드박스 (공유 금지)
3단계 disposable sandbox (정착):
- 테스트마다 쓰고 버리는 일회용 환경
- CI에서 에뮬레이터 대상으로 자동 실행
보안 4층 글의 3층 격리와 같은 표입니다. 실행 환경의 격리가 테스트 환경의 격리로 확장된 것입니다. MCP 글에서 MCP 도구를 내놓을 때도 읽기 전용부터 열라고 했는데, 테스트도 같은 순서입니다.
CodeBridge Mini Lab: 우리 에이전트 호출처 감사하기
① 에이전트가 호출하는 외부를 전부 적는다:
- SaaS API (Slack·CRM·결제·이슈 등)
- 클라우드 API (배포·스토리지·DB 등)
- 공유 샌드박스 (누가 같이 쓰는가)
② 각 호출에 표시한다:
[ ] 읽기인가 쓰기인가
[ ] 테스트에서 진짜를 호출하는가
[ ] 실패·재시도 시 부작용이 있는가 (중복 결제·스팸 발송 등)
③ 가장 위험한 1개부터 가짜를 둔다:
- 쓰기 + 진짜 호출 + 부작용 있음 → 최우선
- fake 1개로 해당 테스트를 전부 돌려본다
- [체크포인트 글](/blog/pi-durable-execution-checkpoint-resume/)의
재실행 금지 표시와 함께 관리한다
Qwen 위임 글의 오케스트레이션 비용 감각과도 이어집니다. 가짜 환경에서는 실패해도 돈이 안 들고, 진짜 환경에서는 실패 1건이 돈입니다. 연습은 가짜에서, 실전도 가짜에서 먼저입니다.
결론: 속도가 위험이 되지 않게 하려면
WonderTwin 창업자의 문장을 다시 가져옵니다. "ground all of it, continuously, and speed stops being a risk." 전부 grounding하면 속도가 위험이기를 멈춘다는 뜻입니다.
에이전트가 빨라질수록 가짜 환경이 먼저다.
오늘 할 일은 하나입니다. 우리 에이전트가 진짜를 호출하는 곳 1곳을 찾아 가짜로 바꾸는 것. 그 1곳이 테스트의 안전과 속도를 동시에 바꿉니다. 에이전트 시대의 mock 철학은 거창한 플랫폼이 아니라 이 1곳에서 시작합니다.
함께 읽으면 좋은 글
참고 자료
- LocalStack: Introducing Application Emulators via WonderTwin AI
- GlobeNewswire: LocalStack Acquires WonderTwin AI (Sep 14, 2026)
- WonderTwin: Towards Agentic Full-Stack Emulation
- DevOps.com: LocalStack Acquires WonderTwin AI
이 주제를 직접 따라가며 배우고 싶다면
격리된 환경에서 에이전트를 돌리고 검증하는 연습이 필요하다면, CLAUDE.md·Skills·Hooks·서브에이전트·MCP를 실제 프로젝트에 쌓는 과정이 이 글의 샌드박스 이야기와 바로 이어집니다.