Inferensys

Prompt

User Feedback Correlation with Eval Failures Prompt

A practical prompt playbook for using User Feedback Correlation with Eval Failures Prompt in production AI workflows.
Wide-angle shot of a modern WeWork open floor plan with creative walls covered in AI system architecture diagrams, product team collaborating in standing desk area with industrial lighting.
PROMPT PLAYBOOK

When to Use This Prompt

Use this prompt to correlate explicit user dissatisfaction signals with automated eval failures, identifying which eval dimensions align with real user pain and which are just noise.

Product managers and AI reliability engineers use this prompt when they need to connect explicit user-reported dissatisfaction—such as thumbs-down ratings, support tickets, or negative survey responses—to automated evaluation failures captured in production traces. The core job-to-be-done is deciding which eval rubrics deserve tighter thresholds and which are generating false-positive noise that doesn't reflect actual user experience. Without this correlation analysis, teams often waste engineering cycles tuning evals that users don't care about while missing failures that drive churn. The prompt requires a batch of sessions containing both user feedback signals and automated eval scores, and it produces a structured correlation matrix showing alignment strength, invisible failures, and threshold-tuning recommendations.

This prompt is designed for production triage workflows, not real-time decisioning. You should run it when you have accumulated enough sessions to make the correlation statistically meaningful—typically after a feature release, a model migration, or a prompt version change that has generated user feedback. The prompt expects structured input: each session record must include a session identifier, the user feedback signal (type and value), and the full set of eval dimension scores with their pass/fail status. The output schema includes a correlation strength table, a list of eval dimensions with high user-alignment that warrant tighter thresholds, a list of eval dimensions with low user-alignment that may need threshold relaxation or rubric redesign, and a set of sessions where user feedback was negative but all evals passed—these are the most dangerous blind spots. The prompt also flags sessions where evals failed but users gave positive feedback, helping you identify evals that are too strict or measuring dimensions users don't notice.

Do not use this prompt when you lack explicit user feedback signals—implicit signals like session duration or abandonment rates require different analysis and are outside this prompt's scope. Do not use it for real-time per-request routing decisions; the correlation analysis is a batch diagnostic tool meant to inform eval threshold configuration, not a live decision engine. The prompt requires human review of its recommendations before any threshold changes are applied to production evals, especially when the analysis suggests relaxing safety or compliance-related rubrics. After running this prompt, the next step is to take the high-alignment eval dimensions and tighten their pass/fail thresholds in your evaluation pipeline, then monitor whether user dissatisfaction signals decrease in subsequent sessions. For the blind-spot sessions where users were unhappy but evals passed, you should run a separate root-cause investigation prompt to determine whether you need new eval dimensions entirely.

PRACTICAL GUARDRAILS

Use Case Fit

Where the User Feedback Correlation with Eval Failures prompt delivers value and where it introduces risk.

01

Good Fit: Tuning Eval Thresholds

Use when: You have a mature eval system but need to align automated scores with real user pain. Guardrail: The prompt requires structured input for both eval dimensions and user feedback categories; without both, the correlation is speculative.

02

Bad Fit: Small Sample Sizes

Avoid when: You have fewer than 30-50 correlated user-feedback and eval-failure events. Risk: The analysis will overfit noise and produce misleading confidence. Guardrail: Gate the workflow with a minimum sample size check before invoking the prompt.

03

Required Inputs

Required: A structured dataset pairing user_feedback_signal (thumbs down, rephrase request, escalation) with eval_failure_dimensions (grounding, completeness, safety) for the same trace. Guardrail: Validate the join key before analysis to prevent silent mismatches.

04

Operational Risk: Silent Eval Failures

Risk: The prompt identifies eval failures that users never notice, tempting the team to loosen eval thresholds. Guardrail: Always review 'invisible failures' with a product manager to decide if they represent latent risk or acceptable variance before adjusting thresholds.

05

Operational Risk: User Feedback Lag

Risk: User feedback is often delayed, sparse, and biased toward extreme experiences, which can skew the correlation. Guardrail: Weight user feedback signals by recency and severity in the input schema to prevent stale or outlier reports from dominating the analysis.

06

Bad Fit: Undefined Eval Rubrics

Avoid when: Your eval dimensions are vague or not grounded in a specific rubric. Risk: The prompt cannot meaningfully correlate user dissatisfaction with an ambiguous failure label. Guardrail: Ensure each eval dimension in the input has a clear, documented definition before running the correlation.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt for correlating user-reported issues with automated eval failures to identify which eval dimensions matter most to users.

This prompt template is designed to be pasted directly into your LLM interface or API call. It takes structured user feedback records and corresponding automated eval results for the same production traces, then produces a correlation analysis. The analysis identifies which eval dimensions align with user dissatisfaction signals, which eval failures are invisible to users, and where eval thresholds may need tuning. All placeholders are enclosed in square brackets and must be replaced with your actual data before execution.

text
You are an AI observability analyst reviewing production traces where both user feedback and automated evaluation results are available. Your task is to produce a correlation analysis that connects explicit user-reported issues to specific eval dimension failures.

## INPUT DATA

### User Feedback Records
[USER_FEEDBACK_RECORDS]

### Automated Eval Results
[EVAL_RESULTS]

### Eval Rubric Reference
[EVAL_RUBRIC]

## OUTPUT SCHEMA

Produce a JSON object with the following structure:

{
  "correlation_summary": {
    "total_traces_analyzed": <integer>,
    "traces_with_user_feedback": <integer>,
    "traces_with_eval_failures": <integer>,
    "traces_with_both": <integer>,
    "overall_alignment_score": <float between 0 and 1>
  },
  "dimension_correlations": [
    {
      "eval_dimension": "<dimension name from rubric>",
      "user_signal_alignment": "high" | "medium" | "low" | "none",
      "co_occurrence_rate": <float between 0 and 1>,
      "false_positive_rate": <float between 0 and 1>,
      "false_negative_rate": <float between 0 and 1>,
      "representative_examples": [
        {
          "trace_id": "<identifier>",
          "user_feedback_summary": "<brief description>",
          "eval_failure_detail": "<which eval dimension failed and why>",
          "alignment_assessment": "aligned" | "misaligned" | "partially_aligned"
        }
      ],
      "threshold_recommendation": "<specific suggestion or 'no change needed'>"
    }
  ],
  "invisible_failures": [
    {
      "eval_dimension": "<dimension name>",
      "failure_count": <integer>,
      "user_complaint_count": 0,
      "severity_assessment": "low_impact" | "monitor" | "investigate",
      "explanation": "<why users did not report this failure>"
    }
  ],
  "user_reported_issues_without_eval_coverage": [
    {
      "issue_description": "<summary of user complaint>",
      "frequency": <integer>,
      "suggested_new_eval_dimension": "<proposed dimension name>",
      "suggested_rubric_criteria": "<how this could be evaluated automatically>"
    }
  ],
  "threshold_tuning_recommendations": [
    {
      "eval_dimension": "<dimension name>",
      "current_threshold": "<current setting if known>",
      "recommended_adjustment": "increase" | "decrease" | "maintain",
      "rationale": "<evidence-based reasoning>"
    }
  ]
}

## CONSTRAINTS

- Only report correlations where you have sufficient data to draw a conclusion. Mark low-sample dimensions as "insufficient data" rather than forcing a correlation.
- Distinguish between causation and coincidence. A co-occurrence does not automatically mean the eval failure caused the user complaint.
- For threshold recommendations, consider the cost of false positives (flagging acceptable outputs) versus false negatives (missing real user pain).
- If user feedback is vague (e.g., "bad response"), do not force a mapping to a specific eval dimension. Note it as "uncorrelated feedback."
- Preserve trace IDs exactly as provided for downstream trace review.
- If the eval rubric is not provided, infer dimension names from the eval results structure and note the inference.

## ANALYSIS STEPS

1. Parse all user feedback records and eval results, matching them by trace ID.
2. For each eval dimension, calculate the co-occurrence rate with user complaints.
3. Identify eval failures that never co-occur with user complaints (invisible failures).
4. Identify user complaints that do not map to any existing eval dimension (coverage gaps).
5. For each dimension, assess whether the current eval threshold is calibrated to user-perceived quality.
6. Produce the output JSON with evidence-backed recommendations.

To adapt this template, replace each square-bracket placeholder with your actual data. [USER_FEEDBACK_RECORDS] should contain structured records including trace IDs, feedback text, sentiment, and any user-provided ratings. [EVAL_RESULTS] should contain per-trace eval scores broken down by dimension. [EVAL_RUBRIC] should describe each eval dimension, its scoring criteria, and current pass/fail thresholds. If your eval system uses different terminology, adjust the dimension names in the output schema accordingly. For high-stakes production systems, run this analysis on a representative sample before applying threshold changes broadly, and always have a human review the threshold tuning recommendations before implementation.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the User Feedback Correlation with Eval Failures prompt. Each variable must be populated with production data before execution. Validation notes indicate how to verify data integrity before running the analysis.

PlaceholderPurposeExampleValidation Notes

[EVAL_RESULTS]

Structured eval outcomes per trace, including dimension scores, pass/fail flags, and rubric identifiers

{"trace_id": "t-4a2b", "dimensions": {"grounding": 0.42, "completeness": 0.91}, "overall": "fail"}

Schema check: must contain trace_id, dimensions map with float scores 0.0-1.0, and overall pass/fail string. Reject if trace_id is null or dimensions map is empty.

[USER_FEEDBACK]

Explicit user-reported issues, satisfaction signals, or thumbs-up/down events linked to traces

{"trace_id": "t-4a2b", "signal": "thumbs_down", "category": "incorrect_fact", "comment": "Wrong pricing", "timestamp": "2025-01-15T14:22:00Z"}

Schema check: must contain trace_id and signal field. Signal must be from allowed enum: thumbs_up, thumbs_down, reported_issue, escalated, null. Timestamp must parse as ISO 8601. Reject if trace_id missing.

[TRACE_METADATA]

Per-trace context including model version, prompt version, feature flag state, and session type

{"trace_id": "t-4a2b", "model": "claude-sonnet-4-20250514", "prompt_version": "v2.3.1", "feature_flags": ["rag_enabled"], "session_type": "authenticated"}

Schema check: must include model and prompt_version strings. feature_flags must be array of strings. Reject if model or prompt_version is null or empty. Warn if feature_flags array is empty.

[CORRELATION_WINDOW_DAYS]

Time window in days for pairing eval results with user feedback events

7

Type check: must be positive integer. Range check: 1-30. Reject if negative, zero, or exceeds 30. Default to 7 if null.

[MIN_FEEDBACK_COUNT]

Minimum number of user feedback events required per eval dimension before correlation is considered reliable

5

Type check: must be positive integer. Range check: 3-100. Reject if below 3. Warn if set above 50 for low-traffic dimensions. Default to 5 if null.

[EVAL_DIMENSION_NAMES]

Human-readable labels for eval dimensions to use in the correlation output

["grounding", "completeness", "tone", "format_compliance", "latency"]

Schema check: must be non-empty array of strings. Each string must match a key in EVAL_RESULTS dimensions map. Reject if array is empty. Warn if any label has no matching dimension in EVAL_RESULTS.

[FEEDBACK_CATEGORY_MAP]

Mapping from user feedback categories to eval dimensions for correlation pairing

{"incorrect_fact": "grounding", "missing_info": "completeness", "rude_response": "tone", "too_slow": "latency"}

Schema check: must be object with string keys and string values. Values must be subset of EVAL_DIMENSION_NAMES. Reject if empty. Warn if any feedback category in USER_FEEDBACK has no mapping entry.

[CONFIDENCE_THRESHOLD]

Minimum correlation strength required to report a dimension as meaningfully aligned with user feedback

0.6

Type check: must be float between 0.0 and 1.0. Reject if outside range. Default to 0.5 if null. Warn if below 0.4 due to risk of false positives.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the User Feedback Correlation with Eval Failures prompt into an observability pipeline or product review workflow.

This prompt is designed to operate on structured inputs, not raw logs. Before calling the model, you must assemble a correlation dataset from two production sources: your automated evaluation system and your user feedback channels. The eval system should provide per-session scores across defined dimensions (e.g., accuracy, grounding, tone). The feedback system should provide explicit user-reported issues, satisfaction ratings, or support tickets, each tagged with a session or trace ID. The application layer must join these datasets on a common identifier, such as trace_id or session_id, to produce the [CORRELATION_DATASET] input. This pre-processing step is critical; feeding the model raw, unjoined data will produce unreliable correlations.

The implementation harness should enforce a strict schema for the [CORRELATION_DATASET] input. Each record must include session_id, eval_scores (a map of dimension names to numeric scores), eval_pass (boolean), user_feedback_score (numeric or null), and user_issue_reported (boolean). The application should validate this schema before calling the model and reject any malformed records. For the output, parse the model's JSON response and validate it against the expected [OUTPUT_SCHEMA]. A retry loop with a maximum of 2 attempts is appropriate for JSON parse failures. If the model's output fails schema validation after retries, log the raw output and escalate for manual review rather than silently dropping the analysis.

Model choice matters for this workflow. The prompt requires cross-referencing numerical scores with categorical feedback signals, a task where models with strong reasoning capabilities (e.g., Claude 3.5 Sonnet, GPT-4o) outperform smaller or faster models. Avoid routing this prompt to a lightweight model optimized for latency; the cost of a wrong correlation—such as tuning an eval threshold based on a spurious relationship—is higher than the inference cost. If your observability stack supports model routing, pin this prompt to a reasoning-capable model and bypass any cost-optimization fallback rules. Log the model version and prompt version alongside each correlation result for auditability.

The most common production failure mode is a mismatch between eval dimensions and user feedback categories. If your eval system scores factual_accuracy but users report issues with unhelpful_tone, the model will correctly report zero correlation, which may appear as a 'failed' analysis. Your harness should distinguish between a true zero-correlation finding and a data quality issue. Implement a pre-flight check that counts the number of sessions where both eval failures and user-reported issues exist. If this count is below a configurable threshold (e.g., fewer than 5 correlated failure events), surface a warning in the application layer rather than calling the model, as the sample size is too small for meaningful correlation analysis.

Finally, treat the model's output as an investigative lead, not a final decision. The correlation analysis identifies which eval dimensions align with user dissatisfaction, but it does not prove causation. After receiving the model's output, the next step in your workflow should be a focused trace review of the sessions where eval failures and user reports co-occur. Use the Eval Failure Root-Cause Triage Prompt or Trace Review and Diagnosis Prompts from this pillar to drill into those specific sessions. Never automatically adjust eval thresholds based solely on this correlation output without human review of the underlying traces.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the structure, types, and validation rules for the correlation analysis output. Use this contract to parse and validate the model response before presenting it to stakeholders or feeding it into eval threshold tuning workflows.

Field or ElementType or FormatRequiredValidation Rule

correlation_summary

String

Must be a non-empty string between 50 and 500 characters. Check length bounds after trimming.

overall_correlation_score

Number (float)

Must be a float between -1.0 and 1.0 inclusive. Parse as float and validate range.

eval_dimensions

Array of objects

Must be a non-empty array. Each element must match the eval_dimension_item schema below.

eval_dimension_item.name

String

Must be a non-empty string matching one of the eval dimension names provided in [EVAL_DIMENSIONS] input.

eval_dimension_item.user_feedback_alignment

String enum

Must be one of: 'strongly_aligned', 'partially_aligned', 'misaligned', 'invisible_to_users'. Validate against allowed enum values.

eval_dimension_item.alignment_evidence

String

Must be a non-empty string between 20 and 300 characters. Must reference at least one specific signal from [USER_FEEDBACK_SIGNALS] or [EVAL_FAILURE_TRACES].

eval_dimension_item.recommended_threshold_adjustment

String or null

If not null, must be one of: 'increase_strictness', 'decrease_strictness', 'recalibrate_rubric', 'no_change'. Validate enum if non-null.

invisible_failures

Array of strings

Must be an array. Each string must match an eval dimension name from [EVAL_DIMENSIONS] that showed failures but zero correlated user feedback signals. Empty array allowed.

tuning_recommendations

Array of objects

Must be an array with 0-5 elements. Each element must match the tuning_recommendation_item schema below.

tuning_recommendation_item.dimension

String

Must be a non-empty string matching one of the eval dimension names provided in [EVAL_DIMENSIONS].

tuning_recommendation_item.action

String

Must be one of: 'adjust_threshold', 'reweight_dimension', 'add_user_signal_gate', 'investigate_further', 'no_action'. Validate against allowed enum values.

tuning_recommendation_item.rationale

String

Must be a non-empty string between 30 and 300 characters. Must reference specific correlation evidence from the analysis.

analysis_confidence

String enum

Must be one of: 'high', 'medium', 'low'. Validate enum. If 'low', the output must include a human_review_required flag set to true.

human_review_required

Boolean

Must be true if analysis_confidence is 'low' or if any eval_dimension_item.user_feedback_alignment is 'misaligned'. Otherwise false. Validate boolean type and conditional logic.

trace_sample_ids

Array of strings

If present, each string must match a trace ID format from [EVAL_FAILURE_TRACES]. Null or empty array allowed. Validate format if non-empty.

PRACTICAL GUARDRAILS

Common Failure Modes

When correlating user feedback with automated eval failures, these are the most common ways the analysis breaks down and how to prevent them.

01

Feedback-to-Trace Mismatch

What to watch: User reports a problem, but the trace ID or session ID doesn't match any logged eval failure. The correlation fails because feedback and eval systems use different identifiers or time windows. Guardrail: Require a unified session identifier across feedback, traces, and evals before running correlation. Validate that every feedback event can be joined to a trace before analysis begins.

02

Silent Eval Failures

What to watch: The eval system passes a response that the user found unacceptable. The eval rubric misses dimensions users care about, such as tone, verbosity, or missing context that isn't strictly factual. Guardrail: Compare eval-passing responses against negative user feedback to identify rubric gaps. Flag eval dimensions with high pass rates but high user dissatisfaction for rubric revision.

03

Feedback Lag Distortion

What to watch: Users report issues hours or days after the interaction. By then, the prompt version, model, or retrieval index may have changed, making the eval failure trace irrelevant to the current system state. Guardrail: Tag each correlation with the prompt version and model snapshot active at interaction time. Exclude feedback where the system state has changed beyond a defined drift threshold.

04

Selection Bias in Feedback

What to watch: Only the angriest or happiest users leave feedback. The correlation analysis overweights extreme cases and misses the silent majority of eval failures that users tolerate without reporting. Guardrail: Weight correlation findings by feedback response rate per user cohort. Supplement explicit feedback with implicit signals such as copy-to-clipboard, regeneration clicks, or session abandonment.

05

Eval Threshold Overfitting

What to watch: Tuning eval thresholds to match user feedback on historical data creates a circular dependency. The eval becomes a proxy for past user sentiment rather than a quality measure, and future drift goes undetected. Guardrail: Hold out a portion of user feedback data from threshold tuning. Validate that threshold changes improve correlation on unseen feedback before deploying.

06

Multi-Turn Attribution Collapse

What to watch: In a multi-turn conversation, the user reports dissatisfaction with the final response, but the root cause was a context error three turns earlier. The correlation incorrectly attributes the failure to the last turn's eval dimensions. Guardrail: Expand correlation scope to include all turns in the session. Flag cases where an earlier turn's eval failure predicts later user dissatisfaction, even if the final turn passes evals.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing whether the correlation analysis correctly identifies which eval dimensions align with user dissatisfaction signals and which eval failures are invisible to users.

CriterionPass StandardFailure SignalTest Method

User feedback signal extraction

All explicit user-reported issues from [USER_FEEDBACK_LOG] are extracted and categorized into distinct signal types (e.g., incorrect answer, missing context, refusal, latency complaint)

User-reported issues are omitted, merged incorrectly, or misclassified into wrong signal categories

Manual review of 10 known user complaints against extracted signal list; require 100% recall of explicit issues

Eval dimension mapping accuracy

Each extracted user signal is mapped to the correct eval dimension(s) from [EVAL_RUBRIC] with a confidence score; no signal is mapped to an unrelated dimension

User signals are mapped to eval dimensions that do not measure the reported problem (e.g., latency complaint mapped to factual accuracy eval)

Spot-check 20 signal-to-dimension mappings; require >=90% correct mapping rate confirmed by human reviewer

Correlation strength calculation

Correlation scores between user signals and eval failures are computed using the specified method in [CORRELATION_METHOD]; scores include confidence intervals

Correlation scores are missing, use undefined methodology, or claim strong correlation from insufficient sample size (<5 co-occurrences)

Validate output contains correlation scores for every user-signal/eval-dimension pair; verify calculation method matches [CORRELATION_METHOD] specification

Invisible eval failure identification

Eval dimensions with high failure rates but zero or near-zero user complaints are explicitly flagged as candidate invisible failures with a severity rating

Output fails to identify eval dimensions that have >10% failure rate and <2% user complaint correlation; or flags dimensions with adequate user signal coverage

Cross-reference eval failure rates from [EVAL_RESULTS] against user complaint rates; require all dimensions meeting invisibility threshold to appear in flagged list

False positive eval flagging

Eval failures that correlate with user satisfaction (users did not complain despite eval failure) are identified as potential false positives in the eval rubric

Output treats all eval failures as equally valid quality signals without distinguishing between user-impacting and non-impacting failures

Check that output includes a section listing eval dimensions where failure rate exceeds user complaint rate by >3x; verify with 5 known false positive cases

Threshold tuning recommendation quality

Each recommendation for eval threshold adjustment references specific correlation data, includes a proposed new threshold value, and estimates impact on false positive/negative rates

Recommendations are generic (e.g., 'adjust thresholds') without specific values, supporting data, or trade-off analysis

Review each recommendation for presence of: current threshold, proposed threshold, correlation evidence, and estimated impact; require all 4 elements present

Trace evidence linking

For each high-correlation user-signal/eval-failure pair, output references specific trace IDs or trace segments from [TRACE_DATA] that demonstrate the connection

Correlation claims lack trace evidence references; output relies on aggregate statistics without linking to observable trace events

Sample 5 high-correlation pairs and verify each has at least one referenced trace ID that demonstrates the user-reported issue and corresponding eval failure

Output schema compliance

Output strictly matches [OUTPUT_SCHEMA] with all required fields present, correct types, and no extra fields

Output is missing required fields, contains type violations, or includes fields not defined in [OUTPUT_SCHEMA]

Validate output against [OUTPUT_SCHEMA] using automated schema validator; require zero schema violations

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a small CSV of [USER_FEEDBACK] and [EVAL_FAILURES]. Use a single LLM call without schema enforcement. Focus on getting a readable narrative correlation before building validation.

Watch for

  • The model inventing correlation strengths without evidence
  • Missing explicit confidence labels per correlation finding
  • Overly broad claims like "users hate everything" without dimension-level breakdown
Prasad Kumkar

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.