This prompt is for engineering leads and AI platform teams who need to combine multiple evaluation signals—such as correctness, safety, relevance, and schema conformance—into a single, defensible release gate. The job-to-be-done is not just arithmetic; it is to produce a weighted aggregation formula, normalization rules, and explicit veto conditions that the team can inspect, tune, and audit before shipping a prompt or model change. The ideal user is someone who already has per-axis eval scores (from rubric judges, hallucination detectors, or schema validators) and now needs to decide how those scores combine into a final pass/fail decision.
Prompt
Composite Score Aggregation Prompt Template

When to Use This Prompt
Define the job, reader, and constraints for the Composite Score Aggregation Prompt Template.
Use this prompt when you have at least three independent eval axes, when different axes carry different business risk (e.g., safety failures are worse than style issues), and when you need the aggregation logic to be transparent enough for a release governance review. The prompt expects structured inputs: axis names, raw scores, score ranges, and risk priorities. It produces a concrete aggregation spec with weights, normalization functions, and veto conditions. Do not use this prompt when you have only one or two eval signals—a simple AND/OR gate in application code is cheaper and more auditable. Do not use it when the eval axes are not yet calibrated or when individual axis scores are unreliable; aggregation cannot fix broken upstream measurement.
The prompt also includes sensitivity analysis instructions, which is critical for release governance. It asks the model to show how small weight changes alter pass/fail outcomes for borderline cases, helping the team understand which decisions are robust and which are fragile. This is not a prompt for generating a single magic number. It is a prompt for producing a decision framework that can be reviewed, challenged, and version-controlled alongside the eval harness itself. After using this prompt, the output should be converted into executable validation code, not left as a model-generated suggestion. Human review is required before the aggregation formula gates any production release.
Use Case Fit
Where the Composite Score Aggregation Prompt works, where it breaks, and what you must provide before using it.
Good Fit: Multi-Signal Release Gates
Use when: you have 3+ independent eval signals (e.g., correctness, safety, schema conformance) that must combine into a single pass/fail decision. Guardrail: ensure each input signal is already normalized to a consistent scale before aggregation.
Good Fit: Weighted Trade-Off Decisions
Use when: stakeholders disagree on metric importance and you need to model how different weight assignments change outcomes. Guardrail: run sensitivity analysis across plausible weight ranges and flag thresholds where decisions flip.
Bad Fit: Single Metric Evaluations
Avoid when: you only have one eval metric. Aggregation adds complexity without benefit. Guardrail: use a single-metric threshold prompt instead, and only introduce aggregation when multiple independent signals exist.
Bad Fit: Uncalibrated Input Signals
Avoid when: input scores come from uncalibrated judges with unknown reliability. Aggregating noisy signals amplifies error. Guardrail: calibrate each judge independently and measure inter-rater reliability before feeding scores into aggregation.
Required Inputs: Normalized Scores and Veto Rules
Must provide: per-metric scores on a consistent scale, explicit veto conditions (e.g., safety score below 0.5 always fails), and weight assignments with justification. Guardrail: document the normalization method and veto logic so downstream consumers understand edge cases.
Operational Risk: Hidden Weight Interactions
What to watch: small weight changes can silently shift pass/fail boundaries when metrics are correlated. Guardrail: include a sensitivity matrix showing how each weight change affects aggregate outcomes, and set review gates when weights are modified.
Copy-Ready Prompt Template
A reusable prompt template for aggregating multiple evaluation signals into a single, weighted composite score with normalization rules and veto conditions.
This template is the core engine for your composite score aggregation workflow. It accepts a set of individual evaluation scores, their associated metadata (weights, directions, thresholds), and a defined aggregation strategy. The model's job is not to re-evaluate the underlying content but to apply the specified mathematical and logical rules to produce a final, auditable composite score and a structured pass/fail recommendation. Use this when you have already run separate evals (e.g., correctness, relevance, safety) and need a consistent, programmable gate to combine them.
Below is the copy-ready prompt template. All placeholders are in square brackets and must be replaced by your application logic before sending the request to the model. The prompt is designed to be deterministic; it instructs the model to act as a calculator, not a judge. The [AGGREGATION_RULES] placeholder is where you inject your specific formula, such as a weighted sum, a harmonic mean, or a cascading veto logic. The [NORMALIZATION_RULES] section should specify how to scale disparate scores (e.g., 1-5 rubrics vs. 0-1 probabilities) to a common range before aggregation.
textSYSTEM: You are a precise score aggregation engine. Your only task is to combine multiple input scores into a single composite score based on the provided rules. Do not re-score, interpret, or critique the inputs. Apply the rules exactly and output the result in the specified JSON schema. If any veto condition is met, the composite score must be set to the veto value and the pass/fail status must be 'FAIL'. USER: Aggregate the following evaluation scores into a single composite score. ## INPUT SCORES [INPUT_SCORES] ## AGGREGATION RULES [AGGREGATION_RULES] ## NORMALIZATION RULES [NORMALIZATION_RULES] ## VETO CONDITIONS [VETO_CONDITIONS] ## OUTPUT SCHEMA [OUTPUT_SCHEMA] ## CONSTRAINTS - Apply normalization before aggregation. - Check veto conditions after calculating the initial composite score. - Round the final composite score to [DECIMAL_PRECISION] decimal places. - Set the `pass` field to `true` only if the final composite score is >= [PASS_THRESHOLD] and no veto condition is active.
To adapt this template, start by defining your [INPUT_SCORES] as a structured list of objects, each with a name, value, and weight. The [AGGREGATION_RULES] should be a clear formula, such as weighted_sum = (score1 * weight1) + (score2 * weight2). The [VETO_CONDITIONS] are critical for safety and quality; a typical rule is IF safety_score < 0.5 THEN composite_score = 0 AND pass = false. The [OUTPUT_SCHEMA] should be a strict JSON schema that includes fields for the final composite score, a pass/fail boolean, a list of triggered vetoes, and the normalized inputs used in the calculation. This ensures the output is machine-readable and auditable. For high-stakes release gates, always log the full input and output payload from this prompt to create an audit trail that explains exactly why a build was promoted or blocked.
Prompt Variables
Required inputs for the Composite Score Aggregation Prompt Template. Each placeholder must be populated before the prompt is assembled and sent. Missing or malformed inputs are the most common cause of aggregation failures in production eval harnesses.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[SCORE_PAYLOAD] | JSON array of per-eval scores, each with metric name, value, and optional confidence | [{"metric": "hallucination", "score": 0.92, "confidence": 0.88}, {"metric": "relevance", "score": 0.74, "confidence": 0.95}] | Must be valid JSON array. Each object requires 'metric' (string) and 'score' (float 0.0-1.0). 'confidence' is optional float 0.0-1.0. Reject if array is empty or any score is out of range. |
[METRIC_WEIGHTS] | JSON object mapping each metric name to its weight in the composite formula | {"hallucination": 0.4, "relevance": 0.3, "instruction_following": 0.2, "toxicity": 0.1} | Must be valid JSON object. Keys must match all metric names in [SCORE_PAYLOAD]. Values must be positive floats summing to 1.0 (±0.001 tolerance). Reject if weights do not sum to 1.0 or if any metric is missing a weight. |
[VETO_CONDITIONS] | JSON array of veto rules that override the composite score regardless of weight | [{"metric": "toxicity", "threshold": 0.3, "operator": "below"}, {"metric": "hallucination", "threshold": 0.5, "operator": "below"}] | Must be valid JSON array. Each rule requires 'metric' (string matching a key in [SCORE_PAYLOAD]), 'threshold' (float 0.0-1.0), and 'operator' (enum: 'below' or 'above'). Reject if operator is invalid or metric name does not exist in payload. |
[NORMALIZATION_METHOD] | String specifying how scores are normalized before aggregation | min_max | Must be one of: 'min_max', 'z_score', 'none'. If 'none', raw scores are used directly. If 'z_score', require at least 3 scores per metric for meaningful normalization. Reject if method is unrecognized. |
[PASS_THRESHOLD] | Float defining the minimum composite score required for overall pass | 0.75 | Must be float between 0.0 and 1.0 inclusive. Reject if non-numeric or out of range. If any veto condition triggers, pass_threshold is ignored and result is FAIL. |
[SENSITIVITY_CONFIG] | JSON object controlling weight perturbation range for sensitivity analysis | {"enabled": true, "perturbation": 0.05, "iterations": 100} | Must be valid JSON object. 'enabled' must be boolean. If true, 'perturbation' must be float 0.01-0.20 and 'iterations' must be integer 10-1000. Reject if perturbation exceeds 0.20 or iterations exceed 1000 to prevent runaway cost. |
[OUTPUT_FORMAT] | String specifying the desired output structure | full_report | Must be one of: 'gate_only', 'summary', 'full_report'. 'gate_only' returns pass/fail boolean. 'summary' adds composite score and veto status. 'full_report' includes per-metric breakdown, sensitivity analysis, and veto details. Reject if unrecognized. |
Implementation Harness Notes
How to wire the composite score aggregation prompt into an automated release gate or CI/CD pipeline.
This prompt is designed to be the final decision layer in an automated evaluation pipeline, not a standalone tool. It consumes structured eval results from upstream judges—such as rubric scores, pairwise comparisons, and hallucination checks—and produces a deterministic aggregation formula, normalization rules, and veto conditions. The output is a machine-readable specification that your release gate logic can execute without further model inference. Treat this prompt as a policy compiler: it translates human-defined quality priorities into executable pass/fail logic.
To integrate this into an application, first ensure that all upstream eval metrics are collected in a consistent schema before calling this prompt. The input should be a JSON object containing metric names, raw scores, score ranges, and any per-metric pass/fail thresholds already defined. The prompt expects a [WEIGHT_PREFERENCES] block where you specify relative importance (e.g., "hallucination_rate" > "latency" > "format_compliance"). After receiving the model's output, validate the generated aggregation formula by running it against a golden dataset of known score combinations where the correct pass/fail outcome is pre-labeled. If the formula produces unexpected results on any golden case, flag it for human review before deployment. Log every aggregation decision with the formula version, input scores, and final verdict for auditability.
For production hardening, implement a sensitivity analysis harness around this prompt. After the model proposes weights, programmatically perturb each weight by ±5% and ±10% and re-evaluate the last 100 release candidates. If the pass/fail outcome flips for more than 2% of cases under minor weight changes, the aggregation is too brittle—reject it and request a revised formula with broader stability margins. Additionally, enforce veto condition validation: any veto rule generated by the prompt (e.g., "fail if hallucination_rate > 0.05") must be cross-checked against your organization's safety and compliance policies before activation. Veto conditions that bypass human-defined red-line thresholds should trigger an immediate escalation. Use a model with strong reasoning capabilities (such as Claude 3.5 Sonnet or GPT-4o) for the aggregation design step, but execute the resulting formula in deterministic application code—never in a model—to ensure consistent, reproducible gate decisions.
Avoid using this prompt for real-time per-request gating. The aggregation formula is designed for batch release gates (daily builds, PR merges, canary promotions), not for scoring individual user interactions. For per-request quality checks, use lightweight, pre-compiled rules derived from a previously approved aggregation run. Store each approved formula as a versioned artifact in your prompt registry alongside its sensitivity analysis report, golden dataset results, and the human approver's identity. When upstream eval metrics change—such as adding a new judge or modifying a rubric—re-run this prompt to generate an updated aggregation formula and repeat the full validation harness before promoting it.
Expected Output Contract
Defines the exact JSON payload expected from the Composite Score Aggregation prompt. Use this contract to validate outputs programmatically before accepting the aggregation result.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
aggregation_formula | string (LaTeX or plain math) | Must parse as a valid mathematical expression referencing only defined metric keys. Check for division by zero when weights sum to zero. | |
metric_weights | object (key: string, value: number) | Keys must match metric names in [METRIC_DEFINITIONS]. Values must be finite numbers. Sum of absolute values must be > 0. Null or missing keys trigger retry. | |
normalization_rules | array of objects | Each object must contain 'metric', 'method' (enum: min-max, z-score, sigmoid, none), and 'params'. If method is not 'none', params must be a valid object with required fields for that method. | |
veto_conditions | array of objects | If present, each object must contain 'metric', 'operator' (enum: <, >, <=, >=, ==, !=), and 'threshold' (number). A null array is allowed and means no veto conditions. | |
composite_score | number | Must be a finite number. If all metrics are normalized to [0,1], score must fall within [0,1]. Negative scores allowed only if normalization rules explicitly permit them. | |
pass_fail | boolean | Must be true if no veto condition is triggered AND composite_score >= [PASS_THRESHOLD]. Must be false otherwise. Invert and re-check if mismatch detected. | |
sensitivity_analysis | object | Must contain 'weight_variations' (array of objects with 'weight_delta' and 'resulting_score') and 'threshold_variations' (array of objects with 'threshold_delta' and 'resulting_pass_fail'). At least 3 variations per array. | |
veto_triggered | boolean or null | Must be true if any veto condition evaluated to true, false if none triggered. Must be null only if veto_conditions array is empty or null. Cross-validate against pass_fail. |
Common Failure Modes
Composite score aggregation is a powerful release gate, but it can mask individual metric failures, amplify bias, and create a false sense of precision. These are the most common failure modes and how to guard against them.
Compensation Failure
What to watch: A catastrophic failure in one critical metric (e.g., safety or hallucination) is hidden by high scores in less important metrics (e.g., style or verbosity). The composite score passes, but the output is unsafe. Guardrail: Implement hard veto conditions for critical metrics. If the safety score falls below a defined threshold, the composite score automatically fails, regardless of the weighted average.
Weight Sensitivity Drift
What to watch: Small, seemingly insignificant changes to metric weights cause large swings in the pass/fail outcome for borderline cases. This makes the gate feel arbitrary and erodes trust in the release process. Guardrail: Run a sensitivity analysis as part of the aggregation prompt. The output must include a report showing how the pass/fail decision changes when each weight is perturbed by ±10%.
Metric Score Collinearity
What to watch: Two or more metrics are highly correlated (e.g., "factual accuracy" and "grounding score"). The composite score double-counts a single underlying failure mode, giving it disproportionate influence over the final gate. Guardrail: The prompt must instruct the model to check for collinearity in the input scores. If detected, the aggregation formula should apply a correction factor or flag the redundancy for a human reviewer.
Normalization Distortion
What to watch: Raw scores from different judges are on different scales (e.g., 1-5 vs. 0-100). A naive average distorts the composite score, giving more weight to metrics with larger numeric ranges. Guardrail: The prompt must enforce a strict normalization step before aggregation. All scores must be mapped to a common 0.0–1.0 scale using a defined method (e.g., min-max scaling) before weights are applied.
Confidence Neglect
What to watch: The aggregation treats all metric scores as equally certain. A low-confidence score from a flaky judge is given the same weight as a high-confidence score from a reliable one, injecting noise into the release gate. Guardrail: Require each metric input to include a confidence score. The aggregation formula must discount low-confidence metrics or propagate an aggregate uncertainty score alongside the final composite value.
Threshold Overfitting
What to watch: The pass/fail threshold is tuned to perfection on a static golden dataset but fails in production when the distribution of real-world inputs shifts. The gate becomes either too strict (blocking good releases) or too lenient (passing bad ones). Guardrail: The prompt must generate a threshold recommendation based on historical score distributions, not just a single number. It should include a margin of error and a warning about the expected false-positive and false-negative rates.
Evaluation Rubric
Criteria for validating the Composite Score Aggregation Prompt Template before deployment. Use this rubric to gate the prompt's output quality, formula correctness, and sensitivity analysis reliability.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Weighted aggregation formula correctness | Output formula matches specified weights and normalization rules exactly; all weight coefficients sum to 1.0 | Weights do not sum to 1.0; normalization step is missing or incorrectly applied; formula references undefined variables | Parse the output formula string, extract coefficients, verify sum equals 1.0 within 0.001 tolerance; cross-check against [WEIGHTS] input |
Veto condition enforcement | All veto conditions from [VETO_RULES] are present and correctly gated; any veto trigger forces overall score to FAIL regardless of weighted total | Missing veto condition; veto triggered but score still shows PASS; veto logic inverted | Inject test inputs that trigger each veto condition; assert output score equals FAIL and veto reason is cited |
Sensitivity analysis completeness | Output includes a sensitivity table showing pass/fail outcome for at least 3 weight perturbation scenarios per axis; direction of impact is correctly labeled | Sensitivity table missing; fewer than 3 perturbations per axis; perturbation direction contradicts weight change direction | Verify sensitivity table has rows for each eval axis; check that increasing an axis weight by 5% shifts outcome toward that axis's score direction |
Normalization rule documentation | Normalization method is explicitly stated; min-max bounds or z-score parameters are documented; edge cases for out-of-range inputs are handled | Normalization method not specified; out-of-range input produces undefined result; different axes use inconsistent normalization without justification | Submit inputs at boundary values and beyond; assert output either clamps, rejects, or flags out-of-range values with a documented rule |
Threshold pass/fail boundary clarity | Pass threshold is explicitly stated; score exactly at threshold is classified consistently; tie-breaking rule is documented | Threshold value missing; score at boundary produces inconsistent pass/fail across runs; no tie-breaking rule | Run 5 evaluations with score exactly at threshold; assert all 5 produce identical pass/fail classification |
Input schema validation | Prompt rejects missing [SCORES], [WEIGHTS], or [THRESHOLD] inputs with a structured error rather than hallucinating defaults | Missing required input produces hallucinated aggregation; silent default applied without documentation | Submit request with each required field omitted individually; assert output contains validation error, not a fabricated score |
Output schema conformance | Output is valid JSON matching [OUTPUT_SCHEMA]; all required fields present; no extra fields beyond schema definition | JSON parse failure; missing required field; extra field injected; field type mismatch | Validate output against JSON schema; assert strict mode passes with no additional properties allowed |
Score traceability and justification | Final composite score is accompanied by a breakdown showing each axis contribution; veto status is explicitly reported | Final score provided without per-axis breakdown; veto status omitted; contribution math does not reconcile to final score | Sum per-axis weighted contributions; assert total matches final composite score within rounding tolerance; assert veto status field is present and boolean |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base aggregation prompt but remove strict schema enforcement. Use natural language output describing the composite score, weight rationale, and pass/fail recommendation. Accept free-text metric inputs instead of structured arrays.
codeGiven these evaluation results: [METRIC_RESULTS] And these weights: [WEIGHT_CONFIG] Produce a composite score summary with a clear pass/fail recommendation.
Watch for
- Inconsistent aggregation logic across runs
- Missing normalization when metrics use different scales
- No veto-condition enforcement
- Overconfident recommendations without uncertainty language

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us