Practical overview
When it fits
Use AICI when developing controller strategies that need to influence generation in real time, particularly when the work combines output constraints, dynamic edits or parallel-generation logic.
Who it is for
- Developers experimenting with custom rules for LLM generation.
- Teams building inference systems that need controller logic integrated with model decoding.
- Developers exploring parallel generation coordination or dynamic prompt and text editing.
Documented uses
- Constrain generated output during token-by-token decoding.
- Modify prompts or generated text dynamically during a request.
- Coordinate execution across multiple parallel generations.
Requirements & limits
The project repository specifies an MIT license.
- Controllers are WebAssembly modules running on the same machine as the inference engine.
- The README lists integrations with llama.cpp, HuggingFace Transformers and rLLM; vLLM is described as in progress.
- Controllers can be written in languages that compile to Wasm, including Rust, C and C++, or interpreted within Wasm, including Python and JavaScript.
- The quickstart describes AICI as a prototype.
- For constrained decoding alone, the README recommends LLGuidance.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare the AICI development environment
Set up the documented tools needed to compile AICI components and create the Python controller used in its quickstart.
Before you start
- Rust, Rustup and Cargo
- The wasm32-wasi Rust target
- Python 3.11 or later
- Git, CMake and ccache, plus the other build packages listed for the chosen environment
Steps
Use Linux, macOS or Windows through WSL2 or the included devcontainer; on macOS, install Xcode command-line tools.
Install the repository's build tools and Rust toolchain.
Add the wasm32-wasi Rust target.
Install the Python packages listed for the quickstart controller and scripts.
Expected outcome
A development environment prepared for compiling AICI components and working with the quickstart's Python controller.
Guide limitations
- This covers environment setup, not building or running the server and controller.
- The CUDA build has additional libtorch requirements; the README recommends the included devcontainer.
- Native Windows support is not the documented route; use WSL2 or the devcontainer.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- microsoft/aici · Official homepage title · retained in its source language
Related options
LLGuidance — The AICI README calls LLGuidance an actively maintained evolution and specialization of AICI, recommended when the need is constrained decoding alone.

