Back to Devoured - August 04, 2026
DEVOURED
Orchard (GitHub Repo)

Orchard (GitHub Repo)

AI GitHub
Microsoft released Orchard, a Kubernetes-native framework designed to standardize agentic research by decoupling environment services from training and inference logic.
What: Orchard provides a unified environment service that supports diverse agent domains like software engineering and browser navigation. It uses a REST API and Python SDK to manage isolated containers, allowing developers to reuse datasets and evaluation protocols across different projects.
Why it matters: By moving the sandbox environment into a stable, decoupled service layer, researchers can stop rebuilding infrastructure for every new experiment and better isolate model performance from environment instability.
Takeaway: If you are running agent evaluations, use the Orchard Env deployment scripts to provision sandboxes on AKS in about 20 minutes.
Deep dive
  • Features a Kubernetes-native sandbox service with REST API and Python SDK for lifecycle management.
  • Supports multi-turn agent-sandbox interaction via command execution, file I/O, and git patches.
  • Built-in support for popular harnesses like Codex, Claude, Pi, and Hermes.
  • Enables trajectory distillation and on-policy RL rollouts on a shared substrate.
  • Includes a dataset of 107K SWE trajectories and 3,070 GUI navigation rollouts.
  • Designed for low-latency execution by bypassing the Kubernetes API server hot path.
  • Roadmap includes stateful snapshots to enable pause, resume, and branching for advanced credit assignment research.
Decoder
  • Harness: A testing framework or environment setup used to evaluate how well an AI agent performs specific tasks.
  • Agentic Modeling: Research focused on creating autonomous systems capable of reasoning, planning, and executing tasks across multiple steps.
  • Trajectory Distillation: A technique where a model learns from the sequences of actions (trajectories) taken by another, often higher-performing model.
  • On-policy RL: Reinforcement learning where the agent learns from data generated by its own current version of the policy.
Original article

Orchard

Orchard is an open foundation for agentic modeling research. We build one shared substrate — Orchard Env — and then use it to explore agentic modeling recipes across domains: software engineering, browser navigation, computer use, and personal-assistant workflows.

The foundation exists to make the recipes possible. Because the environment layer is a stable service rather than a piece of a training stack, every recipe reuses the same substrate for trajectory distillation, on-policy RL rollouts, and evaluation — so datasets, training recipes, and evaluation protocols stay portable across harnesses, domains, and projects instead of being rebuilt for each new study.

Layer What it is
Recipes The research. Open SFT + RL recipes explored on top of the foundation — Orchard-SWE, Orchard-GUI, and Orchard-Claw — plus follow-on work such as OpenWebRL and OpenForge RL.
Orchard Env The foundation. A Kubernetes-native sandbox service + Python SDK that spins up thousands of isolated containers on demand and drives multi-turn agent ↔ sandbox interaction (exec, file I/O, git patches) over HTTP.
Trainer RL training stack — a vendored slime fork with Orchard rollout code.

News

  • [2026-07] 🎉 We are excited to release OpenForge RL, which extends Orchard to train agents inside their real deployment harnesses — ZeroClaw, OpenClaw, Codex — instead of the simplified reimplementations open training stacks usually require, removing the train–deploy mismatch. A lightweight proxy records the harness's own inference calls and reconstructs them into samples for any RL codebase, while Orchard Env launches each rollout as a remote container, so any harness pairs with any environment.

  • [2026-06] 🎉 We are excited to release OpenWebRL, which extends Orchard-GUI into a full online multi-turn RL study on live websites — covering supervised initialization, multimodal context management, trajectory-level success judging, and multi-turn policy optimization.

  • [2026-05] 📄 The Orchard paper is on arXiv, together with the microsoft/Orchard trajectory datasets and Orchard Env.

Recipes

Three studies from the Orchard paper — different domains, harnesses, and reward mechanisms, one environment service underneath.

Recipe Backbone Training data Key techniques Headline result
Orchard-SWE Qwen3.5-35B-A3B 107K distilled trajectories Credit-assignment SFT · Balanced Adaptive Rollout · on-policy distillation · rubric-based process reward · value-model reranking 73.0% SWE-bench Verified
Orchard-GUI Qwen3-VL-4B-Thinking 0.4k SFT + 2.2k RL tasks Distillation, then online RL on live websites 68.4% avg — 74.1 / 67.0 / 64.0
Orchard-Claw Qwen3-30B-A3B-Thinking 0.2k synthetic tasks Opus-synthesized tasks · training across two harnesses 59.6% pass@3, 73.9% under ZeroClaw

The common thread is generalization, not just peak score. Orchard-SWE keeps 51.0 on SWE-bench Multilingual (vs 28.7 for OpenSWE-32B) and still works under a harness never seen in training — 45.0 on SWE-bench Verified and 20.1 on Terminal-Bench 2.0 with Kimi-CLI, where OpenSWE-32B collapses to 3.6 and 0.0.

Orchard Env — the foundation

A thin, Kubernetes-native environment service exposing generic primitives — sandbox lifecycle, command execution, file I/O, network policy, and a REST API — with no assumptions about the harness, trainer, inference backend, or task domain sitting above it.

  • REST API for sandbox lifecycle (create / exec / files / patch / delete)
  • Sync and async Python SDK with auto-cleanup, retries, and context-manager ergonomics
  • In-pod agent for low-latency exec over Pod IP
  • Any base image — the agent is injected by an init container bundling its own self-contained Python interpreter
  • Any harness — codex, claude, pi, opencode, and hermes preinstalled on PATH in every sandbox
  • Multi-replica orchestrator with Redis-backed state and distributed locks
  • Network isolation via Calico NetworkPolicy (deny-egress by default), per-sandbox CPU / memory / timeout limits, TTL cleanup, and API-key auth

Quick start

pip install -e "orchard_env[dev]"

export SANDBOX_BASE_URL="http://your-orchestrator-host"
export SANDBOX_API_KEY="your-api-key"
from orchard_env import SandboxClient

with SandboxClient() as client:
    with client.create_sandbox("python:3.11-slim") as sandbox:
        result = sandbox.exec("echo 'Hello, Orchard!'")
        print(result.stdout)

Roadmap

Stateful sandboxes — pause, resume, and branching

The environment is currently linear: a sandbox is created, driven for N turns, and destroyed. Snapshotting makes that measurable directly instead. We are adding:

  • Pause / resume — checkpoint a sandbox's full state (filesystem, processes, environment) at any turn and restore it later.
  • Branching — fork k independent continuations from the same snapshot at turn t.
  • Prefix sharing — because a branched prefix is executed once instead of once per rollout, tree-structured search and per-turn advantage estimation get substantially cheaper.

Citation

@article{peng2026orchard,
  title={Orchard: An Open-Source Agentic Modeling Framework},
  author={Peng, Baolin and Yao, Wenlin and Wu, Qianhui and Cheng, Hao and
          Yu, Xiao and Yang, Rui and Ge, Tao and Sordoni, Alessandro and
          Yuan, Xingdi and Shen, Yelong and He, Pengcheng and Zhang, Tong and
          Yu, Zhou and Gao, Jianfeng},
  journal={arXiv preprint arXiv:2605.15040},
  year={2026},
  url={https://arxiv.org/abs/2605.15040}
}

License

MIT © Microsoft Corporation.

Explore all 45 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi