Skip to main content

VibeSys: Generating Bespoke Systems with AI Agents

arXiv

An agentic framework that generates bespoke systems from application requirements, workload characteristics, and the underlying hardware.

One of VibeSys's first initiatives is VibeServe, which asks whether AI agents can generate a bespoke LLM serving system for each model, workload, and hardware target. The figures, blog post, and paper below document that initiative.

Generic serving today vs. VibeServe's per-target bespoke systems

Updates

Introduction

VibeSys explores a broader approach to systems development: use application requirements, workload characteristics, and hardware capabilities as the inputs to an agentic search process that creates a purpose-built system. Each target defines its own implementation contract, correctness checks, and performance benchmark, allowing VibeSys to work across domains rather than assuming a single runtime, programming language, or deployment shape.

The framework is organized as a multi-agent optimization loop. An outer loop plans the search over system designs using persistent state such as issues, memory, and git history, while an inner loop implements candidates, validates correctness against target-specific requirements, and measures performance on the target workload and hardware. VibeServe is the first substantial initiative built on this approach; its serving-focused results include predicted-output decoding, hybrid prompt caching, streaming ASR, constrained JSON decoding, multimodal inference, and Apple Silicon deployment.

Architecture

VibeServe architecture: outer loop dispatches per-round tasks to an inner loop of Implementer / Accuracy Judge / Performance Evaluator agents

The framework factors the work along two axes:

  • Outer loop — a fresh designer selects one falsifiable causal hypothesis from git history, profiling evidence, and durable roadmap/progress memory, then hands it off until it is proven, disproven, or otherwise terminated.
  • Inner loop — a hypothesis-scoped implementer session edits the candidate, chooses targeted experiments and parameter ranges, and reports whether to continue or nominate the result.
  • Independent judge — a fresh, read-only reviewer checks the implementation, activation evidence, invariants, and reward-hacking risks at a sparse cadence. After a PASS, the framework—not an agent—runs and records the canonical accuracy and benchmark commands.
  • Performance evaluator — profiles the implementation (Nsight Systems, PyTorch profiler) and feeds bottleneck hints into future design decisions.
  • Skills library — Agent Skills entries distilled from existing serving engines and research literature (continuous batching, paged-KV, FlashInfer/FlashAttention, MLX, hybrid-cache management, …). New model families, hardware platforms, and optimization techniques are added by writing a skill, not by modifying the framework.
  • Execution environment: an isolated runtime view where candidate source is writable while evaluator-owned inputs and framework metadata are read-only and integrity-checked. It exposes the target hardware (local CUDA, Modal, Docker, or Apple Silicon) plus profilers.

Each round is recorded in git and a framework-owned audit. Provisional rounds remain explicitly unreviewed; only judge-approved candidates receive official accuracy and performance results.

Quickstart

Install Python 3.12+, Git, and uv. Linux also requires bubblewrap; macOS includes the required sandbox-exec command. Then install VibeSys:

uv tool install vibesys

Install and authenticate a supported coding-agent CLI. For Codex CLI, run codex login; see the CLI reference for other supported agents.

From the root of the project you want to optimize, add a named task under .vibesys/tasks/:

  • .vibesys/tasks/<task>/OBJECTIVE.md describes what to optimize and the constraints the result must preserve.
  • .vibesys/tasks/<task>/vibesys.input.toml identifies the problem domain and the programs that check correctness and benchmark performance.
  • agent.toml optionally selects the coding agent, model, and hardware backend. Keep it untracked.

For example:

[model]
name = "gpt-5.4"

[agent]
backend = "cli"
cli_provider = "codex"

[backend]
name = "cpu"

See examples/ for complete objectives and manifests across data structures, model serving, and microservices.

Run from the project root:

cd /path/to/my-project
vibesys validate --task my-task
vibesys --task my-task --max-rounds 4

The directory must be its Git repository root, or outside Git so VibeSys can initialize a repository. An existing repository needs a baseline commit and a clean worktree. See Running VibeSys for copied projects, legacy input bundles, Docker, Modal, remote repositories, resume, and alternate search loops. The CLI reference documents every flag. Contributor setup belongs in docs/development.md.

Citation

If you use the VibeServe initiative in your research, please cite:

@misc{kamahori2026vibeserveaiagentsbuild,
      title={VibeServe: Can AI Agents Build Bespoke LLM Serving Systems?},
      author={Keisuke Kamahori and Shihang Li and Simon Peter and Baris Kasikci},
      year={2026},
      eprint={2605.06068},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2605.06068},
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vibesys-0.1.1-py3-none-manylinux_2_28_x86_64.whl (51.0 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

vibesys-0.1.1-py3-none-manylinux_2_28_aarch64.whl (50.5 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

vibesys-0.1.1-py3-none-macosx_13_0_x86_64.whl (33.8 MB view details)

Uploaded Python 3macOS 13.0+ x86-64

vibesys-0.1.1-py3-none-macosx_13_0_arm64.whl (31.5 MB view details)

Uploaded Python 3macOS 13.0+ ARM64

File details

Details for the file vibesys-0.1.1-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vibesys-0.1.1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aacf9d3a80c772e50ddde07e7c8fe2afca24c71344a8f66635b19ad6e4aa29e4
MD5 7447f237afc734d6e6951023b211d404
BLAKE2b-256 0c13b08b992f037be5f71502f59fd2dd5ace973bd10ec29ad0cd2de63afda4a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibesys-0.1.1-py3-none-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on uw-syfi/vibesys

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibesys-0.1.1-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vibesys-0.1.1-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a2b544bc9b99a032c94bcc6fc382770345ce46d6164564bcb18ee60f75bb5cf
MD5 a2b1a3c205db7a71e602b040d0d10784
BLAKE2b-256 3aab4b4ebf188671872eeb5f0d56375ccb8320a13077a3c8a03aba1c71f999e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibesys-0.1.1-py3-none-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on uw-syfi/vibesys

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibesys-0.1.1-py3-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for vibesys-0.1.1-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 83d73dbb066f9bc7eae09f929019ea5d4867dd6ac26250dbfccbcf46ca55d7e1
MD5 a8ae24d64a472f537a2d8bccc300bc6a
BLAKE2b-256 572047b9bed43dec79871a614bcb1aa3e09287bacab4fb7c93eca34dc91526c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibesys-0.1.1-py3-none-macosx_13_0_x86_64.whl:

Publisher: publish.yml on uw-syfi/vibesys

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibesys-0.1.1-py3-none-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for vibesys-0.1.1-py3-none-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 8606805b58cdbb202311c143338f5817d546d66228df61ad5d4ffc1d6c2d30dc
MD5 59d4fb36d513aed04a4f573b332be66b
BLAKE2b-256 77469f0e8f693e79c0f4f82186f1d6e21e1a02e065896b12eea8fac5b861d67d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibesys-0.1.1-py3-none-macosx_13_0_arm64.whl:

Publisher: publish.yml on uw-syfi/vibesys

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.1 This release

4 files

0.1.0

4 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page