
Choose a model for the work
A classification task and a difficult review do not need the same model choice. Applicability classes describe the work—such as structured authoring or deep judgment—so agent definitions can express intent without repeating a particular model version.
Wildo resolves that choice when the agent is registered. Catalog preferences can evolve while the agent keeps the same purpose.
Example — Match the model to ticket triage
A ticket classifier declares structured authoring. A separate review agent can declare deep judgment without adopting the classifier’s cost and quality trade-off.
For engineers
This excerpt from llm-agent-invocation.example.ts selects STRUCTURED_AUTHORING within Anthropic. The registry resolves it to a concrete model before requests run; downstream execution receives that resolved configuration.
export const ticketTriageAgent: FlowsActors_Agent = {
ref: TICKET_TRIAGE_AGENT_REF,
displayName: 'Support Ticket Triage',
status: FlowsActors_Agent_Status.ACTIVE,
config: {
providerRef: 'anthropic',
modelApplicability: LLM_Model_Applicability.STRUCTURED_AUTHORING,
operationKey: LLMProvider_OperationKey.GENERATE_STRUCTURED,
reasoningEffort: LLMProvider_ReasoningEffort.LOW,
accessControl: [{ primaryScope: ResourcePrimaryScope.APPLICATION, requiresApproval: false }],
riskLevel: ResourceOperationRiskLevel.LOW,
},
operationDefinition: {
operationKey: LLMProvider_OperationKey.GENERATE_STRUCTURED,
providerRef: 'anthropic',
inputSchema: LLMProvider_GenerateStructuredInputSchema,
outputSchema: LLMProvider_GenerateStructuredOutputSchema,
operationContextSchema: LLMProvider_OperationContext_BaseSchema,
} satisfies LLMProvider_OperationDefinitionBase,
promptSpec: {
role: 'You triage inbound customer support tickets for a SaaS product.',
persona: 'You are terse and literal. You classify only what the ticket actually says.',
skillType: FlowsActors_Agent_Skill_Type.ANALYSIS,
instructions: [
'Choose exactly one category. When a ticket spans several, pick the one the customer is asking you to ACT on.',
'Reserve "high" urgency for outages, data loss, or failed payments. Frustrated tone alone is not urgency.',
'Summarize what the customer wants, never what you would do about it.',
'Never infer facts the ticket does not state — no account ids, no product names, no dates.',
],
},
createdAt: '2026-08-01T00:00:00.000Z',
};
Author exactly one of modelApplicability or model. The explicit model is the escape hatch for a pinned or custom deployment. Registration refuses a class the selected provider cannot serve; it does not silently substitute another type of work. Reasoning settings are validated against the resolved model. This is registration-time policy, not dynamic per-request benchmarking or vendor failover.