Best LLMs for Persona Policy Eligibility Check
Determines whether a proposed persona or identity use satisfies a caller-supplied eligibility policy and evidence standard. Illustrative uses include checking a branded virtual spokesperson, product-assistant namesake, executive communications persona, educational tutor, historic
Run this task on Fronset — request an invitation
Models
Frontier on this task: Moonshot Kimi K3 at 9.20 / 10. Quality bar at 90%: 8.28.
point-estimate floor (CI low) · upper CI (less certain) · Bars sorted by blended cost; best-value model first. Greyed rows are MEDIUM+ models whose point estimate does not clear the bar.
| Model | Quality score | CI low | Cost / 1k runs | vs best value |
|---|---|---|---|---|
| Claude Haiku 5.5 | 8.67 / 10 | 8.39 | $0.30 | best value |
| Xiaomi MiMo V2.6 Pro | 8.76 / 10 | 8.28 | $0.42 | 1.4x more expensive |
| DeepSeek V4.1 Flash | 8.95 / 10 | 8.73 | $0.73 | 2.4x more expensive |
| Gemini 3.8 Flash | 8.65 / 10 | 8.44 | $2.57 | 8.6x more expensive |
| GLM-5.3 Flash | 9.13 / 10 | 8.74 | $4.43 | 15x more expensive |
| Claude Opus 5.5 | 9.17 / 10 | 9.03 | $10.62 | 35x more expensive |
| Meta Muse Spark 1.3 | 8.97 / 10 | 8.71 | $10.65 | 36x more expensive |
| Thinking Machines Inkling | 8.50 / 10 | 8.06 | $12.88 | 43x more expensive |
| Moonshot Kimi K3 | 9.20 / 10 | 8.93 | $17.46 | 58x more expensive |
| Grok 4.7 | 8.46 / 10 | 8.00 | $21.52 | 72x more expensive |
| Tencent Hy4 Preview | 8.97 / 10 | 8.57 | $24.49 | 82x more expensive |
| GLM-5.3 | 9.18 / 10 | 8.88 | $52.44 | 175x more expensive |
| GPT-6 Sol | 7.80 / 10 | 7.38 | $3.05 | 10x more expensive |
| GPT-6 Luna | 8.09 / 10 | 7.74 | $0.14 | 55% cheaper |
| NVIDIA Nemotron-3 Super 120B | 8.19 / 10 | 7.87 | $2.41 | 8x more expensive |
Cost breakdown
| Model | Quality | Confidence | Cost / 1k runs | Overpay | Mode |
|---|---|---|---|---|---|
| Claude Haiku 5.5 ★ Anthropic | 8.67 / 10 CI [8.39, 8.94] | HIGH | $0.30 | best value | batch |
| Xiaomi MiMo V2.6 Pro Xiaomi MiMo | 8.76 / 10 CI [8.28, 9.24] | MEDIUM | $0.42 | 1.4x | batch |
| DeepSeek V4.1 Flash DeepSeek | 8.95 / 10 CI [8.73, 9.18] | HIGH | $0.73 | 2.4x | batch |
| Gemini 3.8 Flash Gemini | 8.65 / 10 CI [8.44, 8.86] | HIGH | $2.57 | 8.6x | batch |
| GLM-5.3 Flash Z.AI | 9.13 / 10 CI [8.74, 9.52] | MEDIUM | $4.43 | 15x | batch |
| Claude Opus 5.5 Anthropic | 9.17 / 10 CI [9.03, 9.31] | RANKED | $10.62 | 35x | batch |
| Meta Muse Spark 1.3 OpenRouter | 8.97 / 10 CI [8.71, 9.23] | HIGH | $10.65 | 36x | batch |
| Thinking Machines Inkling OpenRouter | 8.50 / 10 CI [8.06, 8.93] | MEDIUM | $12.88 | 43x | batch |
| Moonshot Kimi K3 best Moonshot AI | 9.20 / 10 CI [8.93, 9.47] | HIGH | $17.46 | 58x | batch |
| Grok 4.7 xAI | 8.46 / 10 CI [8.00, 8.93] | MEDIUM | $21.52 | 72x | batch |
| Tencent Hy4 Preview OpenRouter | 8.97 / 10 CI [8.57, 9.37] | MEDIUM | $24.49 | 82x | batch |
| GLM-5.3 Z.AI | 9.18 / 10 CI [8.88, 9.49] | MEDIUM | $52.44 | 175x | batch |
Overpay shows how much more you pay than the best-value model that clears the quality bar (marked ★) — the best-value good-enough option. "16x" means you overpay 16× — 16× that reference for no quality benefit above the bar. Typical call shape for this task: 1587 input tokens → 722 output tokens, EMA-tracked from production traffic. Cost is the observed, all-in $ per 1,000 task runs: each model's own measured usage on this task — output verbosity, thinking/reasoning tokens, cache reads and writes, and the spend on its billed failures — priced at current list rates and adjusted by the billing overhead we actually reconcile against provider invoices. Models that answer tersely cost what they actually cost; models that think at length pay for it. Not comparable to providers' advertised $/1M list rates — this is what running the task costs, not a per-token price.
Evaluation rubric
Judge identity resolution, evidence quality, date arithmetic, faithful application of the supplied threshold, uncertainty handling, and explanation traceability. Do not judge the policy itself. Schema validity is out of scope.
Output schema
Every answer on this task is checked against this JSON Schema, whichever model wrote it. An answer that doesn't fit counts as a model failure, and the call is retried on another model.
{
"$defs": {
"ReplacementAuthorData": {
"description": "Data for a deceased replacement author with similar domain expertise.",
"properties": {
"biography": {
"description": "Short bio under 200 chars starting with 'AI research assistant specializing in...'",
"maxLength": 200,
"title": "Biography",
"type": "string"
},
"content_domains": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Content domain names",
"title": "Content Domains"
},
"content_themes": {
"description": "Keywords for matching (5-10 keywords)",
"items": {
"type": "string"
},
"title": "Content Themes",
"type": "array"
},
"expertise_areas": {
"description": "List of expertise areas (3-5 areas)",
"items": {
"type": "string"
},
"title": "Expertise Areas",
"type": "array"
},
"gender": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Portrait gender: 'male', 'female', or 'neutral'",
"title": "Gender"
},
"inspiration_note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Internal note about this persona",
"title": "Inspiration Note"
},
"interests": {
"description": "List of interests",
"items": {
"type": "string"
},
"title": "Interests",
"type": "array"
},
"name": {
"description": "Full name of the deceased historical figure with '(AI)' suffix",
"title": "Name",
"type": "string"
},
"writing_style": {
"description": "Writing style: 'academic', 'conversational', 'investigative', 'analytical', or 'accessible'",
"title": "Writing Style",
"type": "string"
}
},
"required": [
"name",
"biography",
"expertise_areas",
"content_themes",
"writing_style"
],
"title": "ReplacementAuthorData",
"type": "object"
}
},
"description": "Output model for checking if an author persona is SAFE TO USE under\npostmortem-publicity-rights laws (Topic 9 — 100-year threshold).\n\nThe source-of-truth field is `is_safe`. `is_deceased` and `years_since_death`\nare kept for visibility/debugging.",
"properties": {
"confidence": {
"description": "Confidence level: 'high', 'medium', or 'low'",
"title": "Confidence",
"type": "string"
},
"is_deceased": {
"description": "True if the person is confirmed deceased",
"title": "Is Deceased",
"type": "boolean"
},
"is_safe": {
"description": "True iff is_deceased=True AND years_since_death \u003e= 100. Source of truth for whether to use the persona.",
"title": "Is Safe",
"type": "boolean"
},
"reasoning": {
"description": "Brief explanation of the determination",
"title": "Reasoning",
"type": "string"
},
"replacement": {
"anyOf": [
{
"$ref": "#/$defs/ReplacementAuthorData"
},
{
"type": "null"
}
],
"default": null,
"description": "If is_safe=False, a historical figure deceased ≥100 years with similar domain expertise as replacement"
},
"years_since_death": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Best estimate of years since death (approximate integer); None for living or fictional/unknown",
"title": "Years Since Death"
}
},
"required": [
"is_deceased",
"is_safe",
"confidence",
"reasoning"
],
"title": "AuthorLivingCheckResult",
"type": "object"
}Prompt templates
The published template for this task.
default ·
LLMB_PERSONA_POLICY_ELIGIBILITY_CHECK_SYSTEM +
LLMB_PERSONA_POLICY_ELIGIBILITY_CHECK_USER
(0 calls in window)
System prompt
Given the candidate identity, intended use, evidence, and policy_profile, apply the supplied eligibility rules exactly. Resolve ambiguous identity matches, distinguish established facts from assumptions, and return unknown or ineligible when the required evidence is absent. Use only the rules, jurisdictions, evidence requirements, and time thresholds supplied in policy_profile; leave unspecified policy dimensions unset. Treat empty optional values as absent and return only the requested result. Your response must conform exactly to this output schema: {schema_json_string}.
User prompt
Inputs — author_name: {author_name}; expertise_areas: {expertise_areas}; content_themes: {content_themes}; content_domains: {content_domains}; policy_profile: {policy_profile}. Use only these inputs to complete the task defined by the system prompt.