Ai! Jack!v2026.04.01-f12
← 홈HN Top

The VMs Powering Mobile Agents (Instinct, Claude Code)

원문 보기HN에서 보기
27 pointsby RohanAdwankar미국

AI 분석

•모바일에서 사용하는 에이전트의 원격 실행 환경 탐색 → Claude Code와 Instinct 비교 주제
•저자 관찰상 Claude Code는 Firecracker microVM과 Rust 기반 PID 1 제어 프로세스 사용
•사용자 공간 안의 제어 프로세스 격리가 핵심 검토 지점 → 공식 사양이 아닌 관찰 기록

검증 정보

출처
rohanadwankar.github.io
피드
HN Top
수집/분석 기준
2026. 9. 8. 오전 9:00
원문 확인
원문 열기

본문

The box an agent runs in — Rohan Adwankar The box an agent runs in ← Home ← Home Contents Claude Code on Your Phone Instinct Summary One awesome product evolution is that agents (Claude Code, Instinct, Poke, etc) are moving off our local computers so that we can use them on our phones. Ultimately this is great for the customer because that means the agent companies provide us with VMs for them to run on! Here's some notes on how the major platforms work based on looking around on ws-term . Claude Code on Your Phone Claude Code's box is its own Firecracker microVM , a KVM guest with its own kernel, booted straight into an init written in Rust: $ cat /proc/cmdline ... rdinit=/process_api ... --listen-vsock-port 2024 $ uname -r 6.18.5-fc-v20 # -fc- = Firecracker; a custom-built guest kernel $ ps -o comm -p 1 process_api # PID 1 is not systemd; it's a Rust/Tokio binary process_api is PID 1 and the host's control agent living inside your VM: it mounts the disks, then listens on vsock port 2024 so the host can drive the session from outside. That's the platform's defining trait: the operator lives inside your tenant space , and a lot of engineering goes into sealing it off (PID 1 is non-dumpable, /proc/1/mem is denied even with CAP_SYS_PTRACE , your shell is missing CAP_SYS_RESOURCE ). The disks split cleanly into yours (writable, persistent) and theirs (read-only, shared): $ lsblk -o NAME,SIZE,RO,MOUNTPOINT vda 256G 0 / # yours: writable, survives reclaim vdc 341M 1 /opt/claude-code # theirs: the 324 MB claude harness (Bun) vdd 45.6M 1 /opt/env-runner # theirs: the task launcher vde/vdf ... 1 /mnt/skills/... # theirs: skills The harness is the thing running your tool calls and is a 324 MB compiled Bun binary on a read-only disk. The model runs elsewhere; inference goes out as Server-Sent Events over HTTPS/2 (not a WebSocket) to /v1/messages , through an egress gateway that is 443-only and MITM'd ( CN = Egress Gateway ... (production) ), with api.anthropic.com pinned in /etc/hosts . There is no inbound at all ( 192.0.2.2 , an RFC-5737 test address). Auth is a host-minted OAuth token , cached root-only on disk and rotated per boot. Lifecycle is host-driven and measured from the inside: ~430 ms to init, ~6.4 s to the harness process. Spin-up is triggered by an inbound message (the host wakes the VM over vsock and runs --session-mode resume ); spin-down is idle reclaim decided by the host. When it's reclaimed, the processes die but vda detaches intact and reattaches on the next cold boot, which is why the conversation feels continuous even though the compute was destroyed. flowchart TB user(["your keystrokes"]) -->|http post| ingress["session-ingress"] ingress --> pa hostctl(["host control plane"]) -->|vsock port 2024| pa subgraph vm["Firecracker microVM"] pa["process_api, pid 1, Rust"] --> harness["claude, 324 MB Bun harness"] vda[("vda (rw), yours, persists")] --- harness ro[("vdc/vdd/vde/vdf (ro), theirs")] --- harness end harness -->|inference over SSE| gw["egress gateway, 443, mitm, api.anthropic.com"] Instinct Instinct is a new startup which launched recently and it does some very nice things on the memory side which gives that feel of it being a real assistant rather than a chatbot. $ hostname e2b.local $ cat /.e2b n038afjvewg7jnc9pwdz e2b.local means Instinct doesn't operate its own VM fleet; it rents E2B sandboxes ("sandbox-as-a-service"), a throwaway Ubuntu box you hand an agent so it has a computer: Ubuntu 22.04.5, 2 vCPU, 1.9 GB RA

댓글 6개

alexellisuk

I was hoping for a whole catalogue of providers - doesn't amp have their own offering here "Orbs"?

So, the interesting part for me was:

"Who runs the fleet Anthropic, its own E2B, rented, third party"

Like that's the only option, a bespoke platform or a rented SaaS for agent sandboxes.

Disclaimer: I am tooting my own horn here - we built SlicerVM.com (Firecracker + Apple Virtualization framework) so that people don't have to pick between those two options.

Especially when you have your own 1500-7000 USD MacBook right under your fingers.

For remote access, (and this happened by accident one night in January) we built superterm.dev - initially as a tmux manager, then as a way to run and monitor agents. Our team sits with 6-24 long running tasks with dictation available, great mobile experience, and can combine both for secure agents + high amounts of feedback.

If anyone's curious - Superterm has a CE edition - free for unlimited personal use. Slicer has a free trial and then a personal edition is available after that.

hypendev

It's always, firecracker all the way down!

Enjoyed the breakdown, honestly most of the things weren't really surprising.

What was surprising to me was that instinct was just "agent slapped on top of markdown files in git", especially after seeing people talk about it so much. I expected at least a database or a graph or something "smart", but alas, its just three markdowns in a trenchcoat.

RohanAdwankar

I took a look inside the VMs that a couple of the agent platforms are using. TLDR is they use firecracker with memory in git. I'm a big fan of the memory in git part it would be cool to see how the git history looks after I use it for a longer period of time. This is my first blog, I'm trying to document things publically as I learn, next I'll look more closely at the providers they are using under the hood (eg. e2b) so feel free to give advice on what to look for!

mlejva

Hey everyone, I'm the CEO of the E2B - the VMs that the article talks about.

Happy to answer your questions!

tensegrist

this reminds me that i'm long overdue for a weekend spent studying firecracker, the userfaultfd trick [0], and whatever zeroboot does

[0]: https://codesandbox.io/blog/how-we-clone-a-running-vm-in-2-s...

nycerrrrrrrrrr

Wondering how you determined the E2B sandbox is Firecracker and not some other micro VM?

관련 아이템