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.
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.
The framework factors the work along two axes:
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.
Install Python 3.12+, Git, and uv. Linux also
requires bubblewrap, and a kernel that lets it create an unprivileged user
namespace; macOS includes the required sandbox-exec command. Where user
namespaces are blocked and installing bubblewrap needs root you do not have,
VIBESYS_AGENT_SANDBOX=landlock selects a weaker but root-free backend (see
the CLI reference for what it stops enforcing). Tasks whose
candidate is a container topology, such as the microservices examples, also
need Docker Engine reachable without sudo (add your user to the docker
group) and a Go toolchain on PATH. 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"
# Optional. AgentShim is the default; Omnigent is an alternate runtime.
driver = "agentshim"
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/contributing/development.md.
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},
}
Python
69.2%
TypeScript
15.5%
Go
10.6%
Jinja
1.8%
Rust
1.7%
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.
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.
The framework factors the work along two axes:
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.
Install Python 3.12+, Git, and uv. Linux also
requires bubblewrap, and a kernel that lets it create an unprivileged user
namespace; macOS includes the required sandbox-exec command. Where user
namespaces are blocked and installing bubblewrap needs root you do not have,
VIBESYS_AGENT_SANDBOX=landlock selects a weaker but root-free backend (see
the CLI reference for what it stops enforcing). Tasks whose
candidate is a container topology, such as the microservices examples, also
need Docker Engine reachable without sudo (add your user to the docker
group) and a Go toolchain on PATH. 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"
# Optional. AgentShim is the default; Omnigent is an alternate runtime.
driver = "agentshim"
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/contributing/development.md.
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},
}
Python
69.2%
TypeScript
15.5%
Go
10.6%
Jinja
1.8%
Rust
1.7%