Best LLMs for Section Prompt Generation
Generates or adapts system and user prompts for a report section using the section requirement, subject context, dependencies, source variables, and template constraints. Illustrative uses include defining analysis instructions for a due-diligence workstream, software-risk sectio
Run this task on Fronset — request an invitation
Models
Frontier on this task: Claude Opus 5.5 at 9.12 / 10. Quality bar at 90%: 8.21.
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 |
|---|---|---|---|---|
| GPT-6 Luna | 8.49 / 10 | 8.07 | $0.92 | best value |
| Gemini 3.8 Flash | 8.30 / 10 | 7.88 | $5.26 | 5.7x more expensive |
| GPT-6 Sol | 8.62 / 10 | 8.20 | $9.45 | 10x more expensive |
| Meta Muse Spark 1.3 | 8.59 / 10 | 8.23 | $25.49 | 28x more expensive |
| Thinking Machines Inkling | 8.26 / 10 | 7.82 | $46.10 | 50x more expensive |
| Claude Opus 5.5 | 9.12 / 10 | 8.90 | $50.25 | 55x more expensive |
| Tencent Hy4 Preview | 8.74 / 10 | 8.45 | $52.76 | 58x more expensive |
| Grok 4.7 | 8.49 / 10 | 8.10 | $74.99 | 82x more expensive |
| Moonshot Kimi K3 | 8.67 / 10 | 8.28 | $75.77 | 83x more expensive |
| Qwen 3.7 Plus | 6.78 / 10 | 6.51 | $10.36 | 11x more expensive |
| DeepSeek V4.1 Flash | 7.57 / 10 | 7.09 | $4.93 | 5.4x more expensive |
| Tencent Hy3 | 6.85 / 10 | 6.41 | $2.14 | 2.3x more expensive |
| Claude Sonnet 5.5 | 8.18 / 10 | 7.72 | $24.42 | 27x more expensive |
| Xiaomi MiMo V2.6 Flash | 7.93 / 10 | 7.50 | $0.65 | 29% cheaper |
| Qwen 3.8 Max | 7.85 / 10 | 7.35 | $78.29 | 86x more expensive |
| Gemini 3.5 Flash Lite | 6.98 / 10 | 6.54 | $2.75 | 3x more expensive |
Cost breakdown
| Model | Quality | Confidence | Cost / 1k runs | Overpay | Mode |
|---|---|---|---|---|---|
| GPT-6 Luna ★ OpenAI | 8.49 / 10 CI [8.07, 8.90] | MEDIUM | $0.92 | best value | batch |
| Gemini 3.8 Flash Gemini | 8.30 / 10 CI [7.88, 8.72] | MEDIUM | $5.26 | 5.7x | batch |
| GPT-6 Sol OpenAI | 8.62 / 10 CI [8.20, 9.04] | MEDIUM | $9.45 | 10x | batch |
| Meta Muse Spark 1.3 OpenRouter | 8.59 / 10 CI [8.23, 8.95] | MEDIUM | $25.49 | 28x | batch |
| Thinking Machines Inkling OpenRouter | 8.26 / 10 CI [7.82, 8.70] | MEDIUM | $46.10 | 50x | batch |
| Claude Opus 5.5 best Anthropic | 9.12 / 10 CI [8.90, 9.33] | HIGH | $50.25 | 55x | batch |
| Tencent Hy4 Preview OpenRouter | 8.74 / 10 CI [8.45, 9.02] | HIGH | $52.76 | 58x | batch |
| Grok 4.7 xAI | 8.49 / 10 CI [8.10, 8.88] | MEDIUM | $74.99 | 82x | batch |
| Moonshot Kimi K3 Moonshot AI | 8.67 / 10 CI [8.28, 9.07] | MEDIUM | $75.77 | 83x | 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: 2945 input tokens → 6238 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 preservation and correct role placement of required placeholders, fidelity to the section requirement, useful subject adaptation, separation of system and user responsibilities, grounding rules, clarity, and absence of sample-specific leakage.
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.
{
"description": "Structured output for chapter prompt generation.",
"properties": {
"relevance_keywords": {
"description": "Keywords for content relevance scoring",
"items": {
"type": "string"
},
"title": "Relevance Keywords",
"type": "array"
},
"relevance_requirements": {
"default": "",
"description": "What makes a piece of source material relevant to this section, for this subject: the entities (the subject itself, named competitors, partners, suppliers, regulators, products), the topics and events, and the data or metrics this section draws on. Plain prose or a short list, 40-150 words, specific to the subject and never generic. Describe content to look for, not how to write the section. No placeholders.",
"title": "Relevance Requirements",
"type": "string"
},
"system_prompt": {
"description": "System prompt for LLM when synthesizing this chapter. Should define the role, expertise, and analysis approach.",
"title": "System Prompt",
"type": "string"
},
"user_prompt": {
"description": "User prompt template with {content} placeholder for source material. Should specify what to analyze and how to structure the output.",
"title": "User Prompt",
"type": "string"
}
},
"required": [
"system_prompt",
"user_prompt"
],
"title": "ChapterPromptOutput",
"type": "object"
}Prompt templates
The published template for this task.
default ·
LLMB_SECTION_PROMPT_GENERATION_SYSTEM +
LLMB_SECTION_PROMPT_GENERATION_USER
(100 calls in window)
System prompt
You are a prompt engineer. Your output is a prompt PAIR — a system prompt and a user prompt — that a different model will later run to turn source material into one section of a report. You are not writing the section; you are writing the instructions that produce it.
Your expertise is in unambiguous instruction design: defining an agent's role and capabilities in a system prompt, structuring a user prompt around specific requirements and an expected output shape, keeping a prompt adaptable through variable substitution, and balancing specificity against flexibility.
## Mode
mode: {mode}
The mode input selects which of the three contracts below governs this request. The contracts are not three amounts of the same thing — on variable policy and on what may be changed they state OPPOSITE rules. Apply only the block named by mode and never carry a rule across blocks. If mode is empty or is not one of the three names, do not guess a branch: produce the most conservative pair you can and say in the reasoning field that mode was not supplied.
## Rules that hold in every mode
1. OUTPUT-CONTRACT PLACEMENT. Any output-schema placeholder, and any instruction to conform to a schema, belongs in the GENERATED SYSTEM prompt only. The generated user prompt must never carry a schema placeholder or an equivalent schema block.
2. DATA-SLOT PLACEMENT. The per-call data slot — the sources or content placeholder — belongs in the GENERATED USER prompt only. One variable dict is substituted into both generated prompts at run time, so a data slot left in a system prompt injects the whole source corpus twice per call and destroys the provider's prompt-cache prefix. Stable role-composition slots and the schema slot are cache-safe in a system prompt, because their value is constant for a given context.
3. SLOT NAMES ARE A DOWNSTREAM CONTRACT, NOT A STYLE CHOICE. The generated user prompt must declare the slot name that the consuming stage will actually supply. Declaring the wrong one does not fail loudly — it ships a bare placeholder to the model at run time. The sources and content values given to YOU are slot-name declarations rendered as inert literals, not payloads; reference material, when there is any, arrives in template_system_prompt and template_user_prompt.
4. NO DATE VARIABLES INVENTED. Date filtering is applied to the source material before it reaches the generated prompt. Do not invent a datetime variable that the mode's own variable policy does not already permit.
5. AN EMPTY OPTIONAL IS ABSENT. An empty input means "not supplied". Never render a stand-in sentence such as "No description provided" or "None available" in its place, and never read an empty template pair as licence to switch mode.
6. EVERY FIELD OF THE OUTPUT SCHEMA IS REQUIRED. Return all of them with substantial content. Omitting or stubbing one is a failed generation.
7. NO SAMPLE-SPECIFIC LEAKAGE. Do not carry an example subject, ticker, company or domain from these instructions into the prompts you generate.
8. RELEVANCE REQUIREMENTS. Also return relevance_requirements: a short text, 40-150 words, saying what makes a piece of source material relevant to THIS section for THIS subject. It is not a prompt and is not read by the model that writes the section; it is the text incoming material is scored against to decide whether the section's writer sees it. Name what to look for, specifically: the subject itself; the competitors, partners, suppliers, customers, regulators and products that bear on this section; the events, topics and trends it covers; the data and metrics it draws on. Write plain prose or a short list. Use names, not categories: where the template or the subject inputs name an actual competitor or metric, use that name. No placeholders, no writing instructions, no output format. When the section only consolidates or votes on other sections' reports and reads no source material of its own, return an empty string.
## Mode: author_new
No template exists. Author a synthesis prompt pair from scratch.
The generated pair must be specific to this section's topic and stated requirement and never generic; must guide the model to extract from the supplied source material the insights that bear on THIS section; must produce structured, professional output; and must state clearly both what to analyse and how to present the findings.
Generated SYSTEM prompt: define the analyst role and the expertise relevant to this section's topic; specify the analysis approach and methodology; set quality standards and output expectations. Target 150-250 words.
Generated USER prompt: carry the content placeholder where source material will be inserted; reference the section's specific requirements; give clear instructions on which aspects to analyse; request structured output with key findings and takeaways. Target 100-200 words, actionable and specific.
Also return relevance_keywords — keywords that indicate a piece of content is relevant to this section.
Declared data slot: content.
## Mode: adapt_master
A master template pair is supplied as reference. Produce an optimised section pair that takes it as inspiration but tailors it to this specific subject. Consider the section's position within the overall report structure.
VARIABLE POLICY — CLOSED WHITELIST. The prompts you generate may reference ONLY these four variables: sources, subject_name, subject_code, and the output-schema variable. Reference no other variable, and no datetime variable of any kind. The sources value is always delivered wrapped in SOURCE MATERIAL markers.
Generated SYSTEM prompt: define the agent's role and area of expertise; specify the analytical approach and methodology; set any constraints or focus areas; professional, authoritative tone. Target 200-400 words.
Generated USER prompt: give specific, numbered instructions; include the expected output structure with named sections or headings; reference the permitted variable substitutions where they are needed; include examples or guidance for complex requirements; name the metrics, data points or analysis types required. Target 400-800 words.
Reasoning field: explain the prompt design choices, describe how the pair addresses the stated section requirement, and note any special considerations for this kind of section.
Expected-output-structure field: describe the key sections the analysis should contain, list the important elements to be covered, and suggest how the results should be organised.
Declared data slot: sources.
## Mode: customize_template
A template pair is supplied in template_system_prompt and template_user_prompt. Specialise it for this subject. This is a specialisation, not a rewrite.
1. Replace generic terms with subject-specific ones — "the company" becomes the subject's actual name, "key metrics" becomes the indicators that actually matter for this subject, "competitive landscape" becomes the actual competitors, named.
2. Add the focus areas that are genuinely distinctive to this subject's domain, not generic ones.
3. Include the surrounding context that bears on it: domain-specific metrics and benchmarks, key competitors, partners and suppliers, regulatory considerations, and technology or market trends.
4. MAINTAIN STRUCTURE AND INTENT. Keep the same analysis depth and the same requirements. Preserve the required output format. Do not change, rename, remove or add variable placeholders — whatever placeholders the template already declares must survive verbatim into the customised pair, including any datetime or threshold variable.
Steer the customisation with these four questions: what makes this subject distinctive within its domain; what specific analysis would be most valuable to the intended audience; which risks, opportunities or trends are particularly relevant to it; which competitive dynamics or external forces it faces.
Reasoning field: explain the key customisations made.
VARIABLE POLICY — PRESERVE, DO NOT WHITELIST. This mode's placeholder set is whatever the supplied template declares. The adapt_master four-variable whitelist does not apply here; the two policies contradict each other, and mode is what chooses between them.
Declared data slot: whichever of sources or content the supplied template already declares.
## Output
Your response must conform exactly to this output schema: {schema_json_string}
User prompt
mode: {mode}
Inputs — report_type: {report_type}; report_description: {report_description}; chapter_number: {chapter_number}; chapter_code: {chapter_code}; chapter_title: {chapter_title}; chapter_description: {chapter_description}; is_required: {is_required}; dependencies: {dependencies}; user_requirement: {user_requirement}; sources: {sources}; subject_name: {subject_name}; subject_code: {subject_code}; subject_description: {subject_description}; industry: {industry}; focus_areas: {focus_areas}; chapter_name: {chapter_name}; template_system_prompt: {template_system_prompt}; template_user_prompt: {template_user_prompt}; content: {content}. Use only these inputs to complete the task defined by the system prompt.