Agents

MC-AIXI and AIQI in the current codebase.

Two planners, one environment layer, one repo.

MC-AIXI

The repository implements the classic Monte Carlo AIXI approximation and exposes it through the same infotheory aixi <config.json> command used by the rest of the agent stack [veness2011_mcaixi]. In the current codebase, planner: "mc-aixi" is the default planner.

In practice, the planner is not tied to one single world model. The implementation is built around a shared predictor interface, so CTW/FAC-CTW remain the canonical choices from A Monte-Carlo AIXI Approximation, while other backends can still be plugged in where appropriate.

MC-AIXI can also take a full rate_backend object using the same backend schema used by the library, CLI, Python bindings, and browser workspace, including nested mixture configurations.

For mixture families, Bayes and Convex are exposed directly from On Ensemble Techniques for AIXI Approximation [veness2012_aixiens], while Switching follows the fixed-share update from On Ensemble Techniques for AIXI Approximation with a constant switch-rate alpha. FadingBayes, Mdl, and Neural remain available as extensions. Recursive zpaq backends are intentionally rejected in generic rate_backend configurations because they cannot roll predictor state backward after hypothetical actions, which is the reversible action-conditioning requirement used by A Monte-Carlo AIXI Approximation.

AIQI

AIQI is present as a first-class planner, not a note for future work. The implementation follows the model-free H-step return framing from A Model-Free Universal AI [kim2026_aiqi] and validates the constraints used there directly in configuration: N >= H, discount_gamma in (0, 1), and baseline_exploration in (0, 1].

The direct configuration matching A Model-Free Universal AI [kim2026_aiqi] is algorithm: "ac-ctw" or algorithm: "ctw". The codebase also extends AIQI to other compatible predictors, including generic rate_backend mixtures, while intentionally rejecting ZPAQ-backed predictors because AIQI needs exact frozen predictor states during planning.

Shared environment layer

Both planners sit on top of the same environment abstraction. That shared layer matters for benchmarking because it means the same built-in environments can be used while swapping only the planner.

Today the repository includes built-in environments such as coin-flip, Kuhn poker, extended tiger, tic-tac-toe, and biased rock-paper-scissors, with optional Nyx VM-backed environments when the vm feature is enabled.

Python parity

The Python extension crate exposes both planners too. That matters for reproducible experiments, quick scripting, and external baseline comparison against older Python implementations such as PyAIXI.

For browser-based experimentation with the current browser feature set, see Workspace.