VibeSys: Generating Bespoke Systems with AI Agents
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.
Updates
- 2026-05 — VibeServe blog post: Let AI Agents Write Your Serving Stack with VibeServe.
- 2026-05 — Paper released on arXiv: 2605.06068.
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
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.mddescribes what to optimize and the constraints the result must preserve..vibesys/tasks/<task>/vibesys.input.tomlidentifies the problem domain and the programs that check correctness and benchmark performance.agent.tomloptionally 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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibesys-0.1.1-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: vibesys-0.1.1-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 51.0 MB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aacf9d3a80c772e50ddde07e7c8fe2afca24c71344a8f66635b19ad6e4aa29e4
|
|
| MD5 |
7447f237afc734d6e6951023b211d404
|
|
| BLAKE2b-256 |
0c13b08b992f037be5f71502f59fd2dd5ace973bd10ec29ad0cd2de63afda4a6
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibesys-0.1.1-py3-none-manylinux_2_28_x86_64.whl -
Subject digest:
aacf9d3a80c772e50ddde07e7c8fe2afca24c71344a8f66635b19ad6e4aa29e4 - Sigstore transparency entry: 2447978887
- Sigstore integration time:
-
Permalink:
uw-syfi/vibesys@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/uw-syfi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Trigger Event:
release
-
Statement type:
File details
Details for the file vibesys-0.1.1-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: vibesys-0.1.1-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 50.5 MB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a2b544bc9b99a032c94bcc6fc382770345ce46d6164564bcb18ee60f75bb5cf
|
|
| MD5 |
a2b1a3c205db7a71e602b040d0d10784
|
|
| BLAKE2b-256 |
3aab4b4ebf188671872eeb5f0d56375ccb8320a13077a3c8a03aba1c71f999e2
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibesys-0.1.1-py3-none-manylinux_2_28_aarch64.whl -
Subject digest:
7a2b544bc9b99a032c94bcc6fc382770345ce46d6164564bcb18ee60f75bb5cf - Sigstore transparency entry: 2447979242
- Sigstore integration time:
-
Permalink:
uw-syfi/vibesys@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/uw-syfi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Trigger Event:
release
-
Statement type:
File details
Details for the file vibesys-0.1.1-py3-none-macosx_13_0_x86_64.whl.
File metadata
- Download URL: vibesys-0.1.1-py3-none-macosx_13_0_x86_64.whl
- Upload date:
- Size: 33.8 MB
- Tags: Python 3, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83d73dbb066f9bc7eae09f929019ea5d4867dd6ac26250dbfccbcf46ca55d7e1
|
|
| MD5 |
a8ae24d64a472f537a2d8bccc300bc6a
|
|
| BLAKE2b-256 |
572047b9bed43dec79871a614bcb1aa3e09287bacab4fb7c93eca34dc91526c5
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibesys-0.1.1-py3-none-macosx_13_0_x86_64.whl -
Subject digest:
83d73dbb066f9bc7eae09f929019ea5d4867dd6ac26250dbfccbcf46ca55d7e1 - Sigstore transparency entry: 2447979114
- Sigstore integration time:
-
Permalink:
uw-syfi/vibesys@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/uw-syfi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Trigger Event:
release
-
Statement type:
File details
Details for the file vibesys-0.1.1-py3-none-macosx_13_0_arm64.whl.
File metadata
- Download URL: vibesys-0.1.1-py3-none-macosx_13_0_arm64.whl
- Upload date:
- Size: 31.5 MB
- Tags: Python 3, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8606805b58cdbb202311c143338f5817d546d66228df61ad5d4ffc1d6c2d30dc
|
|
| MD5 |
59d4fb36d513aed04a4f573b332be66b
|
|
| BLAKE2b-256 |
77469f0e8f693e79c0f4f82186f1d6e21e1a02e065896b12eea8fac5b861d67d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibesys-0.1.1-py3-none-macosx_13_0_arm64.whl -
Subject digest:
8606805b58cdbb202311c143338f5817d546d66228df61ad5d4ffc1d6c2d30dc - Sigstore transparency entry: 2447978684
- Sigstore integration time:
-
Permalink:
uw-syfi/vibesys@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/uw-syfi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@60b582fdc2938b0bbdfd789aa78a4cba59049c14 -
Trigger Event:
release
-
Statement type: