브라우저나 컴퓨터를 직접 조작하는 AI 에이전트를 강화학습으로 훈련하려면 모델과 보상 함수만 준비해서는 부족하다. 에이전트가 어떤 환경에서 어떤 도구를 호출했는지, 그 실행 결과가 어떤 토큰과 메타데이터로 학습기에 전달됐는지, 중간에 rollout 엔진이 멈췄을 때 실험을 어떻게 이어갈지까지 하나의 시스템으로 다뤄야 한다. radixark/miles는 바로 이 실행 경계와 post-training 파이프라인을 겨냥한 엔터프라이즈 지향 프레임워크다.
구조의 중심에는 SGLang과 Megatron-LM의 결합이 있다. SGLang은 고처리량 rollout을 맡고, Megatron-LM은 대규모 학습을 담당한다. 여기에 Harbor, HUD, NeMo Gym, OpenEnv, Verifiers용 커넥터와 AgentENV·Daytona·E2B·Modal task sandbox가 붙는다. 즉 환경을 단순한 외부 테스트 도구로 두지 않고, 에이전트 trajectory를 생산하는 rollout 레이어의 일부로 끌어들인다. README가 브라우저별 격리 구현을 설명하는 것은 아니지만, 컴퓨터 사용 에이전트를 실제 규모로 훈련하려는 방향은 분명하다.
속도와 일관성을 동시에 잡기 위한 장치도 구체적이다. Fully async RL은 rollout과 training 워커를 분리해 on-policy·off-policy 스케줄을 조절한다. TITO(token-in-token-out)는 두 단계 사이의 detokenize/retokenize 변환을 없애고, R3(Rollout Routing Replay)는 rollout 중 기록한 MoE expert routing을 trainer의 forward pass에서 다시 사용한다. 실행과 학습 사이의 작은 차이가 대형 MoE 모델의 불안정성으로 커지는 지점을 정면으로 겨냥한 설계다.
운영 상황을 가정한 기능도 눈에 띈다. SGLang router는 요청을 여러 엔진에 분산하고 요청별 메타데이터를 보존하며 fleet health를 확인한다. 엔진이 장애를 일으키면 Miles는 실행을 중단하고 처음부터 다시 시작하는 대신 in-place recovery를 내세운다. 새 가중치를 rollout 엔진에 전달하는 경로에는 P2P RDMA가 사용되며, README는 trillion-parameter 모델에서도 수 초 단위 업데이트를 설명한다.
그렇다고 도입 판단을 README의 기능 목록만으로 끝낼 수는 없다. 브라우저별 격리 수준, sandbox 권한 모델, 실패한 trajectory의 처리 방식, 환경별 관측 데이터 정책은 별도 검증이 필요하다. 실무 팀이라면 먼저 작은 computer-use task를 sandbox에서 재현한 뒤 metadata 보존, 엔진 장애 복구, 가중치 동기화, TITO 경로를 차례로 시험하는 편이 안전하다. Miles가 보여주는 변화는 알고리즘 하나의 추가가 아니다. 에이전트의 격리된 실행을 빠르고 재현 가능한 대규모 RL 학습으로 연결하려는 시스템 설계의 이동이다.