Inferensys

Prompt

Constraint Elicitation Interview Prompt Template

A practical prompt playbook for using the Constraint Elicitation Interview Prompt Template in production AI workflows.
Operations team reviewing AI workflow automation on laptop, workflow builder visible, casual office setup.
PROMPT PLAYBOOK

When to Use This Prompt

Identifies the specific conditions and user scenarios where the Constraint Elicitation Interview prompt is the correct tool, and when a different approach is required.

This prompt is a planning pre-processor for agent systems. Its core job is to convert an underspecified user goal into a structured interview that probes for implicit constraints across security, latency, cost, data handling, and operational boundaries. You should use this prompt when a user request arrives that is too vague to generate a safe, executable plan—for example, a request like 'automate our customer onboarding' or 'summarize the latest research' that lacks clear scope, authority, or success criteria. The output is a set of targeted clarification questions and a completeness score, not a final plan. This prompt belongs in the agent frontend, before any task decomposition or tool selection occurs.

The ideal user is a developer or product manager integrating an AI agent into a product where users express goals in natural language. The prompt is designed for semi-autonomous systems where the cost of a wrong action is high. It is not a general-purpose chatbot clarifier. Deploy it when the agent will later act on the clarified goal—calling APIs, modifying data, or making decisions with business impact. The prompt requires the raw user input and, optionally, a catalog of known tool capabilities or domain constraints to ground its questions. Without this context, the interview may ask generic questions that fail to surface the most dangerous implicit assumptions.

Do not use this prompt if the user has already provided explicit, structured constraints. In that case, use the Constraint Completeness Check Prompt Template instead, which validates coverage rather than eliciting new information. Also avoid this prompt for trivial, low-risk tasks where a clarification interview adds more friction than value—setting a timer, drafting a casual email, or answering a factual question with no side effects. The prompt is not a replacement for a product's settings page or a formal onboarding wizard; it is a dynamic safety layer for agentic workflows where the user's initial statement is almost certainly incomplete.

A common failure mode is deploying this prompt without a timeout or question limit, leading to an endless interview loop that frustrates users. Always pair it with a maximum question count and a 'good enough' completeness threshold. Another risk is asking questions the system should already know—like available tools or data permissions—which erodes user trust. Ground the prompt with a [TOOL_CATALOG] and [DOMAIN_CONSTRAINTS] input to keep questions relevant. Finally, if the user's goal involves regulated data or irreversible actions, the output of this prompt must be reviewed by a human before any plan is generated, not treated as a green light for autonomous execution.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Constraint Elicitation Interview prompt works, where it fails, and what you must provide before using it in a production planning pre-processor.

01

Good Fit: Pre-Execution Planning

Use when: an agent orchestrator receives a high-level goal and must build a plan. The interview prompt extracts implicit security, latency, cost, and data constraints before any tool calls or state changes occur. Guardrail: run this prompt as a synchronous pre-processing step; block plan generation until the completeness score exceeds your threshold.

02

Bad Fit: Real-Time Chat

Avoid when: the user expects an immediate answer in a conversational interface. A multi-turn constraint interview adds unacceptable latency and friction. Guardrail: for chat, use a lightweight intent classifier to detect under-specified requests and inject a single clarification question instead of a full interview.

03

Required Input: A Stated Goal

Risk: running the interview without any user objective produces generic constraint questions that waste tokens and user patience. Guardrail: validate that a non-empty goal string exists before invoking the template. If the goal is missing, return a controlled error; do not fabricate a goal.

04

Operational Risk: Interview Loop

Risk: the model may continue asking clarifying questions indefinitely if no completeness gate exists. Guardrail: set a maximum number of interview turns (e.g., 3-5) and a minimum completeness score. After the limit, force a summary of unresolved constraints and proceed with explicit uncertainty flags.

05

Operational Risk: Constraint Drift

Risk: constraints elicited early in a long-running workflow may become stale as context changes. Guardrail: attach a validity timestamp to each elicited constraint. Before executing high-cost or irreversible steps, re-validate constraints that exceed their time-to-live.

06

Bad Fit: Fully Specified API Requests

Avoid when: the downstream system already receives structured parameters with explicit constraints. Adding an interview layer introduces unnecessary latency and potential contradiction. Guardrail: check whether required constraint fields are already populated; skip the interview if constraint coverage exceeds 90%.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready system prompt for conducting a structured constraint elicitation interview that probes for missing security, latency, cost, data, and operational boundaries before planning begins.

This template is designed to be pasted directly into your system instructions for a planning pre-processor or agent frontend. Its job is to take a user's stated goal and conduct a structured interview that surfaces implicit constraints the user has not yet articulated. The prompt uses a completeness scoring system to detect missing constraint categories and generates targeted follow-up questions ranked by impact. Replace every square-bracket placeholder with your specific domain, risk profile, and output requirements before use.

text
You are a constraint elicitation interviewer. Your job is to take a user's stated goal and conduct a structured interview to surface implicit constraints across security, latency, cost, data handling, operational boundaries, and output requirements.

## INPUT
User Goal: [USER_GOAL]
Available Context: [CONTEXT]
Domain: [DOMAIN]
Risk Level: [RISK_LEVEL]

## INTERVIEW RULES
1. Begin by restating the goal to confirm understanding.
2. Assess constraint completeness across these categories on a scale of 1-5:
   - Security and access control
   - Latency and time budgets
   - Cost and resource limits
   - Data sensitivity and handling
   - Operational boundaries (what the system may and may not do)
   - Output format and quality requirements
   - Human approval and escalation triggers
   - Failure tolerance and fallback behavior
3. For each category scored 3 or below, generate ONE targeted question that probes for the missing constraint. Do not ask questions for categories scored 4-5.
4. Rank questions by impact: which missing constraint, if left unspecified, would cause the most severe failure?
5. Ask questions one at a time. After each answer, re-score affected categories and decide whether to ask the next question or conclude.
6. Stop the interview when all categories reach score 4+ OR the user declines to answer further OR you have asked [MAX_QUESTIONS] questions.

## OUTPUT FORMAT
After each user response, output:
{
  "category_scores": {
    "security": <1-5>,
    "latency": <1-5>,
    "cost": <1-5>,
    "data_sensitivity": <1-5>,
    "operational_boundaries": <1-5>,
    "output_requirements": <1-5>,
    "approval_triggers": <1-5>,
    "failure_tolerance": <1-5>
  },
  "next_question": "<targeted question or null if interview complete>",
  "question_category": "<category being probed or null>",
  "interview_complete": <true|false>
}

When the interview is complete, output a final constraint summary:
{
  "interview_complete": true,
  "constraint_summary": {
    "explicit_constraints": ["<constraint the user stated directly>"],
    "elicited_constraints": ["<constraint surfaced during interview>"],
    "remaining_gaps": ["<category still below score 4 with reason>"],
    "risk_notes": "<any risks from unresolved gaps>"
  }
}

## CONSTRAINTS
- Do not ask questions the user has already answered.
- Do not ask hypothetical questions unrelated to the stated goal.
- If the user provides a constraint that resolves multiple categories, update all affected scores.
- If the user refuses to answer a question, score that category as-is and move on.
- Never invent constraints. Only record what the user states or implies.

To adapt this template, replace [USER_GOAL] with the user's stated objective, [CONTEXT] with any available background information, [DOMAIN] with the relevant industry or application domain, [RISK_LEVEL] with low, medium, high, or critical, and [MAX_QUESTIONS] with a reasonable limit such as 5 or 8 to prevent interview fatigue. The category list can be extended or narrowed based on your domain. For regulated industries, add categories such as compliance or audit_trail. For real-time systems, add throughput or availability. The scoring threshold of 4 is tunable: raise it to 5 for high-risk domains where every gap must be closed, or lower it to 3 for low-stakes exploratory tasks where some ambiguity is acceptable.

Before deploying this prompt into production, validate that the JSON output is parseable by your application harness. Add a retry step if the model produces malformed JSON. For high-risk domains, route the final constraint summary to a human reviewer before it feeds into downstream planning. Common failure modes include the model asking redundant questions, failing to update scores after a user answer, or concluding the interview prematurely when critical gaps remain. Test against a golden set of deliberately under-specified goals and measure whether the interview surfaces the known missing constraints.

IMPLEMENTATION TABLE

Prompt Variables

Placeholders required by the Constraint Elicitation Interview prompt. Replace each with concrete values before sending the prompt to the model. Validation notes describe how to verify the placeholder is correctly populated.

PlaceholderPurposeExampleValidation Notes

[GOAL_STATEMENT]

The user's original objective or request, unmodified

Migrate our PostgreSQL database to a managed cloud service

Must be non-empty string. Check for vague terms like 'improve' or 'fix' that signal upstream ambiguity

[DOMAIN_CONTEXT]

Brief description of the industry, system, or operational environment

SaaS platform handling PII for EU customers, 24/7 uptime SLA

Must include at least one regulatory, operational, or technical constraint domain. Null allowed if truly unknown

[KNOWN_CONSTRAINTS]

Constraints the user has already stated explicitly

Must complete migration within 4-hour maintenance window; zero data loss tolerated

Parse as list. If empty, set to 'None stated' to signal the model that constraint discovery is needed

[CONSTRAINT_CATEGORIES]

List of constraint domains the interview must probe

Security, Latency, Cost, Data Residency, Rollback, Tool Availability, Human Approval

Must be a JSON array of strings. Validate against allowed category taxonomy. Minimum 3 categories required

[INTERVIEW_DEPTH]

Controls how exhaustively the interview probes each category

comprehensive

Must be one of: 'quick', 'standard', 'comprehensive'. 'quick' skips follow-up probes; 'comprehensive' adds counterfactual and edge-case questions

[OUTPUT_FORMAT]

Desired structure for the elicited constraints

structured_report

Must be one of: 'structured_report', 'constraint_schema', 'interview_transcript'. Schema check against expected output contract

[MAX_QUESTIONS]

Upper bound on total interview questions to prevent runaway probing

15

Must be integer between 5 and 30. Validate as number, not string. Model should stop probing when this limit is reached

[COMPLETENESS_THRESHOLD]

Minimum completeness score before interview terminates

0.85

Must be float between 0.0 and 1.0. Below 0.7 risks under-specified plans; above 0.95 may cause excessive questioning

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Constraint Elicitation Interview prompt into a planning pre-processor with validation, retries, and human review gates.

The Constraint Elicitation Interview prompt is not a one-shot generation call. It is designed as a multi-turn conversational module inside a planning pre-processor. The application should maintain a structured session state that tracks which constraint categories have been probed, which remain unanswered, and the current completeness score. Each model response should be parsed for the next interview question, the updated completeness score, and any newly detected missing constraint categories. The application loop continues until the completeness score meets a configured threshold (typically 0.85 or higher) or a maximum turn limit is reached to prevent infinite probing.

Validation and state management: After each model response, validate that the output contains a parseable JSON structure with at minimum a question field, a completeness_score float, and a missing_categories array. If parsing fails, retry once with a repair prompt that includes the raw output and the expected schema. Maintain a running constraint document that accumulates confirmed constraints from user answers. Before each new turn, inject the current constraint document and the list of already-probed categories into the prompt's [CONTEXT] placeholder to prevent redundant questioning. Log every turn with the question asked, user response, completeness score delta, and any parsing failures for observability.

Human review and escalation: For high-stakes domains such as healthcare, finance, or security operations, route the final accumulated constraint document to a human reviewer before it is passed to downstream planning modules. The review interface should highlight any constraint categories that were never probed because the user declined to answer or the turn limit was reached. Flag constraint documents where the final completeness score is below 0.80 or where conflicting constraints were detected but not resolved. The application should support an override mode where a human operator can add, modify, or reject constraints before the plan generation phase begins. Do not allow autonomous execution on constraint documents that have not met the minimum completeness threshold or that contain unresolved conflicts flagged by the Constraint Conflict Resolution prompt.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the structured JSON output this prompt must produce after the constraint elicitation interview. Use this contract to validate the model response before passing it to downstream planning modules.

Field or ElementType or FormatRequiredValidation Rule

elicited_constraints

Array of objects

Must contain at least 1 object. Each object must have constraint_id, category, description, and source fields.

elicited_constraints[].constraint_id

String (kebab-case)

Must match pattern ^[a-z]+(-[a-z]+)*$. Must be unique within the array.

elicited_constraints[].category

Enum string

Must be one of: security, latency, cost, data_handling, operational, output_format, authority, compliance, integration, availability.

elicited_constraints[].description

String (1-3 sentences)

Must be non-empty. Must reference a specific boundary, limit, or requirement. No vague language like 'be careful'.

elicited_constraints[].source

Enum string

Must be one of: user_stated, inferred_from_context, domain_default, regulatory_requirement. If inferred, confidence_score must be present.

elicited_constraints[].confidence_score

Number (0.0-1.0)

Required when source is inferred_from_context or domain_default. Must be a float between 0.0 and 1.0. Null allowed for user_stated or regulatory_requirement.

missing_constraint_categories

Array of strings

Must list any categories from the required set that have zero elicited constraints. Empty array if all categories covered.

completeness_score

Number (0.0-1.0)

Must be a float between 0.0 and 1.0 representing estimated coverage of all necessary constraint domains. Score below 0.7 must trigger follow_up_questions.

follow_up_questions

Array of strings

Required when completeness_score < 0.7 or missing_constraint_categories is non-empty. Each question must target a specific missing category.

ambiguity_flags

Array of objects

Each object must have field, issue, and suggested_resolution. Empty array if no ambiguities detected.

PRACTICAL GUARDRAILS

Common Failure Modes

Constraint elicitation interviews fail in predictable ways. These are the most common failure modes when using this prompt template in production, along with concrete guardrails to catch them before they corrupt downstream planning.

01

Interview Stops Too Early

What to watch: The model declares constraint elicitation complete after surfacing only obvious, surface-level constraints, leaving security, latency, cost, and data boundaries unexplored. This produces a false sense of completeness. Guardrail: Append an explicit completeness checklist to the prompt that requires the model to confirm or deny coverage for each constraint category before terminating the interview. Use the Constraint Completeness Check sibling prompt as a post-interview validator.

02

Leading Questions Bias Responses

What to watch: The model frames questions that assume constraints exist, prompting the user to agree rather than discover. Example: 'You probably want to limit cost to under $100, right?' instead of 'What cost boundaries apply?' This manufactures constraints that were never real. Guardrail: Include a question-neutrality rule in the system prompt that requires open-ended framing first, with suggested defaults only after the user has declined to specify. Audit a sample of generated questions for leading language.

03

Constraint Conflicts Go Undetected

What to watch: The user provides constraints that are mutually exclusive—such as 'real-time response' and 'full data scan across all regions'—but the interview accepts both without flagging the tension. Downstream planning fails or produces an impossible plan. Guardrail: Add a conflict-detection pass after each user response. If a new constraint contradicts a prior one, the model must surface the conflict immediately and ask for resolution before proceeding. Pair with the Constraint Conflict Resolution sibling prompt for structured trade-off analysis.

04

Implicit Assumptions Remain Buried

What to watch: The user and model share unstated assumptions about tool availability, data freshness, permission scope, or operating environment. The interview never probes these because both parties treat them as obvious. Execution fails when assumptions are violated. Guardrail: Include a mandatory assumption-surfacing step before the interview concludes. The model must list every assumption it is making about the execution environment and ask the user to confirm or correct each one. Use the Implicit Assumption Extraction sibling prompt as a follow-up check.

05

Vague Constraints Pass Validation

What to watch: The user provides constraints like 'be fast' or 'stay secure' without measurable thresholds. The interview accepts these as valid, and downstream systems have no actionable boundary to enforce. Guardrail: Require the model to operationalize every qualitative constraint before accepting it. If the user says 'be fast,' the model must ask 'What is the maximum acceptable latency in milliseconds?' and refuse to proceed until a measurable answer is provided. Pair with the Success Metric Operationalization sibling prompt.

06

Interview Fatigue Produces Rushed Answers

What to watch: After several rounds of detailed constraint probing, the user starts providing short, unconsidered answers or accepting defaults to end the interview. The final constraint set is shallow and unreliable. Guardrail: Implement a fatigue-aware pacing rule. After a configurable number of question rounds, the model should offer to pause, summarize what's been captured, and let the user continue later. Include a minimum-viable-constraint threshold: if critical categories remain uncovered, the interview cannot be marked complete regardless of user fatigue signals.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to evaluate the quality of a completed Constraint Elicitation Interview before shipping it to production. Each criterion targets a specific failure mode common in constraint-gathering prompts.

CriterionPass StandardFailure SignalTest Method

Constraint Coverage

Interview probes all required domains: security, latency, cost, data handling, operational, and output format.

Interview omits one or more constraint domains without justification.

Run the prompt against 5 ambiguous goals; manually verify each domain is addressed in the generated questions.

Question Specificity

Each generated question is tied to the specific user goal, not a generic template.

Questions are reusable across unrelated goals with zero adaptation.

Inject 3 diverse goals; check that >80% of questions contain goal-specific entities or parameters.

Completeness Score Accuracy

The self-assigned completeness score drops below 0.8 when critical constraints are missing from the user's answers.

Score remains high (>0.9) despite missing security or data-handling constraints.

Simulate a user who refuses to answer security questions; confirm the completeness score falls below the pass threshold.

Missing-Constraint Detection

The prompt explicitly lists unresolved constraint categories with a risk rating.

Output claims completeness but contains null or placeholder values for required constraint fields.

Provide partial user answers; verify the output contains a non-empty missing-constraints array with risk labels.

Clarification Question Quality

Follow-up questions are ranked by execution impact and include a rationale.

Follow-up questions are trivial, redundant, or unranked.

Review 10 generated follow-up questions; confirm each has an impact ranking and a one-sentence rationale tied to execution risk.

Output Schema Compliance

Output strictly matches the defined schema: goal_summary, questions, completeness_score, missing_constraints.

Output contains extra fields, omits required fields, or uses incorrect types.

Parse the output with a JSON schema validator; confirm zero schema violations across 20 runs.

Refusal Handling

Prompt gracefully handles a user who declines to provide any constraints.

Prompt loops, hallucinates constraints, or produces a completeness score of 1.0 with no user input.

Submit an empty or fully declined user response; confirm the output contains a low completeness score and a clear escalation recommendation.

Hallucination Resistance

Prompt never invents a constraint the user did not state.

Output includes a specific latency SLA, cost cap, or data classification the user never mentioned.

Run 10 trials with minimal user input; flag any constraint value not traceable to the user's words or a documented default.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base interview prompt but relax the completeness scoring to a simple checklist. Use a single model call without retry logic. Accept free-text constraint summaries instead of enforcing a strict JSON schema.

Replace the structured output section with:

code
[OUTPUT_FORMAT]
Return a bulleted list of constraints organized by category.

Watch for

  • The model skipping entire constraint categories (especially security and data boundaries)
  • Overly broad constraints that don't actually constrain execution
  • Missing follow-up questions when the user gives vague answers
  • No detection of conflicting constraints
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.