Skip to content

LLM roles

A realm never names a model. The installing world may not run the model its author used, so a realm names a role, and each world maps each role to a model it actually has. These role ids are part of this contract: a realm that uses one can rely on every conforming host knowing it.

Role Intended use
chat_best High-quality conversational responses — the model a person talks to
chat_cheap Fast, low-cost conversational work where quality matters less
code_best The strongest code generation: building apps, complex transforms
code_cheap Cheaper code generation for simple or bulk edits
routing A small fast model for classification, routing and extraction
narration Rewriting a reply to be spoken aloud
vc_execution Summarising, scoring and labelling query results inside Virtual Cypher: many small calls
vc_relevance Judging whether each result is really about a criterion, where a cheap model over-matches
agentic_rag Driving a bounded retrieval loop: searching, reformulating, judging fit

A prompted action names its role where it would otherwise name a model:

llm:
role: code_best

A host resolves an unknown role to its own default model rather than refusing, so a realm written against a newer role still runs on an older host, at whatever quality that default gives. An agent may say which roles its work leans on, so a world can see before adopting it that, for example, its duties need vc_relevance mapped to something better than the cheapest model. Forward-looking.