{"adoption": {"forks": 86, "observed_at": "2026-08-28T04:06:11.236924+00:00", "stars": 2076}, "canonical_url": "https://ross.abutalabs.com/products/aici", "card": {"archived": false, "artifact_type": "framework", "description": "AICI: Prompts as (Wasm) Programs", "domain": ["large-language-models", "artificial-intelligence", "machine-learning", "developer-tools"], "enriched": true, "function": ["llm-inference", "wasm", "prompt-engineering", "rag"], "health_score": 28, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "experimental", "member_repos": ["microsoft/aici"], "name": "microsoft/aici", "platform": ["rust", "wasm", "self-hosted"], "pushed_at": "2025-01-22T21:14:57+00:00", "repo": "microsoft/aici", "stars": 2076, "tags": ["constrained-decoding", "llm-serving", "wasm-controllers", "inference-engine", "microsoft-research", "token-generation", "linux", "macos"], "topics": ["ai", "rust", "wasm", "wasmtime", "inference", "language-model", "llm", "llm-framework", "llm-inference", "llm-serving", "llmops", "model-serving", "transformer"], "urls": [], "use_cases": ["constrain LLM output to valid JSON or grammar formats", "run guided decoding with regex or CFG constraints", "coordinate multiple parallel LLM generations", "dynamically edit prompts and generated text during decoding", "build custom decoding strategies on top of llama.cpp or HuggingFace", "implement multi-agent LLM conversations with stateful control"], "what_it_is": "AICI (Artificial Intelligence Controller Interface) is a Microsoft Research prototype that lets developers write Wasm-based controllers to constrain and direct LLM output token-by-token during inference. It integrates with engines like llama.cpp and HuggingFace Transformers, enabling constrained decoding, prompt editing, and multi-generation coordination.", "when_to_avoid": ["you only need constrained decoding - use the actively maintained LLGuidance instead", "you want a production-ready, stable LLM serving framework", "you need a simple prompt library without runtime decoding control"], "when_to_choose": ["you need fine-grained, programmatic control over token-by-token LLM generation", "you want sandboxed controllers that run alongside the inference engine", "you need portability of decoding logic across multiple LLM serving engines"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aici", "repo": "microsoft/aici", "role": "main", "score": 19}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:11.236924+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:56:13.153630+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d0656a4a1f98b483be90eccdd16313263b50390461f8cfff92768daa84c81c30", "fetched_at": "2026-08-28T04:06:11.236924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/aici"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 2, "longevity": 76, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1072, "days_push": 588, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 19, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}