Inferensys

Prompt

Platform Component Routing Prompt

A practical prompt playbook for routing infrastructure issues and questions to the correct platform component owner using a tested classification prompt.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

When to Use This Prompt

Determine if the Platform Component Routing Prompt is the right tool for your infrastructure team's triage automation.

This prompt is designed for infrastructure and platform engineering teams that need to automatically route incoming issues, questions, or requests to the correct component owner. It maps unstructured text to a defined taxonomy of platform services, databases, message queues, and infrastructure layers. Use this when your team owns a multi-component platform and manual triage is creating bottlenecks, misroutes, or delayed responses. The prompt assumes you have a stable component catalog with clear ownership boundaries. It is not suitable for routing end-user product feature requests or for platforms where component boundaries are undefined or constantly shifting.

Before deploying this prompt, you must have a well-defined and version-controlled component taxonomy. Each entry should include a canonical component name, a clear description of its boundaries, and an assigned owner or on-call rotation. The prompt works best when your component catalog is treated as a configuration artifact that can be updated independently of the prompt itself. If your platform has components with overlapping responsibilities—for example, a shared message queue used by multiple services—you need to define explicit routing precedence rules. Without these rules, the model will make arbitrary choices that create inconsistent routing and frustrate downstream owners.

Do not use this prompt as a general-purpose classifier for non-infrastructure domains. It will perform poorly on product feature requests, billing inquiries, or HR questions because its taxonomy is scoped to platform components. If you need to route across broader organizational boundaries, start with a top-level domain classifier from the Domain and Topic Categorization pillar before dispatching to this component-level prompt. For high-severity incidents where misrouting could delay a critical response, always include a human-in-the-loop escalation path that bypasses automated classification entirely.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Platform Component Routing Prompt works, where it fails, and what you must provide before putting it into production.

01

Good Fit: Well-Defined Component Taxonomies

Use when: your platform has a stable, documented service catalog or infrastructure component map. The prompt excels at mapping inputs to known services, databases, message queues, or infrastructure layers when boundaries are clear. Guardrail: maintain a versioned component taxonomy as a structured input to the prompt; stale taxonomies produce confident but incorrect routing.

02

Bad Fit: Ambiguous or Overlapping Ownership

Avoid when: multiple teams share ownership of a component, or when routing depends on unwritten tribal knowledge. The prompt will default to the most probable match rather than surfacing ambiguity. Guardrail: pre-process inputs with an ambiguity detection step; route uncertain cases to a human triage queue instead of forcing a single component assignment.

03

Required Inputs: Component Registry and Ownership Map

What you need: a structured component registry with names, descriptions, ownership teams, and escalation paths. Without this, the prompt has no ground truth to route against. Guardrail: validate the registry schema before every prompt run; missing or malformed entries cause silent routing failures that downstream systems cannot recover from.

04

Operational Risk: Silent Misrouting to Wrong Team

What to watch: the prompt returns a component label with high confidence even when the input is vague or spans multiple components. The wrong team receives the ticket, delays resolution, and erodes trust in the routing system. Guardrail: log every routing decision with the input, assigned component, and confidence score; implement a feedback loop where teams can flag misrouted items to improve the taxonomy and prompt.

05

Scale Risk: Component Taxonomy Drift

What to watch: as your platform evolves, new components are added, old ones are deprecated, and ownership changes. The prompt continues routing to stale entries unless the taxonomy is updated. Guardrail: automate taxonomy synchronization from your service catalog or infrastructure-as-code repository; run weekly drift detection tests comparing prompt routing against the live component map.

06

Boundary Risk: Cross-Component Issues

What to watch: incidents often span multiple components, but the prompt is designed to pick a single primary owner. Secondary affected components are dropped, causing incomplete incident response. Guardrail: extend the output schema to include a primary component and a list of secondary affected components; downstream workflows should notify all relevant teams, not just the primary owner.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt for routing infrastructure issues to the correct platform component owner, with placeholders for your service catalog, routing rules, and output schema.

This prompt template is designed to be pasted directly into your system prompt or classification step. It takes an unstructured infrastructure issue or question and maps it to a specific platform component—such as a database, message queue, or compute service—along with the responsible team. The template uses square-bracket placeholders that you must populate before each call with your current service catalog, ownership map, and any routing constraints. Do not leave placeholders unresolved in production; missing context will cause misrouting and silent failures.

text
You are a platform component router for an infrastructure engineering organization.
Your job is to analyze the incoming issue or question and determine which platform component it relates to.

## INPUT
[INPUT]

## SERVICE CATALOG
[SERVICE_CATALOG]

## OWNERSHIP MAP
[OWNERSHIP_MAP]

## ROUTING RULES
[ROUTING_RULES]

## OUTPUT SCHEMA
Return a valid JSON object with exactly these fields:
{
  "component_id": "string (canonical component identifier from the service catalog)",
  "component_name": "string (human-readable component name)",
  "owner_team": "string (team name from the ownership map)",
  "confidence": "number (0.0 to 1.0)",
  "reasoning": "string (brief explanation of why this component was selected)",
  "alternative_components": [
    {
      "component_id": "string",
      "component_name": "string",
      "confidence": "number"
    }
  ],
  "requires_escalation": "boolean (true if confidence is below 0.7 or multiple components have similar scores)",
  "escalation_reason": "string or null (explain why escalation is needed if applicable)"
}

## CONSTRAINTS
- If the input does not clearly map to any component in the service catalog, set component_id to "UNKNOWN" and confidence to 0.0.
- If the input spans multiple components, select the primary one and list others in alternative_components.
- Do not invent component names or teams not present in the service catalog or ownership map.
- If confidence is below 0.7, set requires_escalation to true and provide a clear escalation_reason.
- For inputs mentioning security vulnerabilities, data loss, or outages, always set requires_escalation to true regardless of confidence.

## EXAMPLES
[EXAMPLES]

## RISK LEVEL
[RISK_LEVEL]

To adapt this template, start by populating [SERVICE_CATALOG] with a structured list of your platform components—include canonical IDs, names, descriptions, and any aliases or common shorthand terms your teams use. The [OWNERSHIP_MAP] should link each component ID to a specific team name and, optionally, an on-call rotation or escalation contact. [ROUTING_RULES] captures any business logic that overrides pure semantic matching, such as "all database performance issues route to the DBA team regardless of the specific database service." The [EXAMPLES] placeholder should contain 3–5 few-shot examples covering clear-cut routing, multi-component ambiguity, and out-of-scope rejection. Set [RISK_LEVEL] to "low," "medium," or "high" to adjust the model's caution; high-risk environments should bias toward escalation. Before deploying, validate that every component in your service catalog appears in the ownership map and that your examples cover at least one edge case where confidence should be low.

After pasting this template into your classification step, test it against a golden dataset of 50–100 labeled infrastructure issues before production use. Measure component-level precision and recall, and pay special attention to false positives where an issue is confidently routed to the wrong team—these are more damaging than low-confidence escalations. If your platform adds or deprecates components, update the service catalog and ownership map immediately; stale routing tables are the most common failure mode in production. For high-severity incidents, pair this prompt with a human-in-the-loop approval step that reviews any classification where requires_escalation is true or confidence is below your operational threshold.

IMPLEMENTATION TABLE

Prompt Variables

Validate these inputs before each call to prevent silent misrouting. Missing or malformed variables are the most common cause of incorrect component assignment in production.

PlaceholderPurposeExampleValidation Notes

[INPUT_TEXT]

The raw user question, error message, or infrastructure issue description to classify

The payments-service is returning 503 errors after the latest deployment to us-east-1

Required. Non-empty string. Check for injection patterns before passing. Minimum 10 characters for reliable classification; shorter inputs should be rejected or flagged for human review

[COMPONENT_TAXONOMY]

A structured list of platform components, services, databases, queues, and infrastructure layers with their owners and descriptions

payments-service: Owned by Payments Team, handles transaction processing, depends on payments-db and message-queue

Required. Must be a valid JSON array with at least 2 components. Each entry requires name, owner, and description fields. Validate schema before prompt assembly. Missing owner field causes routing failure

[OWNERSHIP_MAP]

Mapping of component names to current team ownership, on-call rotation, and escalation path

payments-service: team=payments-eng, slack=#payments-alerts, pagerduty=PAYMENTS_SCHEDULE

Required. Must be a valid JSON object. Cross-reference with [COMPONENT_TAXONOMY] to ensure every component has an owner. Stale ownership data is a leading cause of misrouted incidents

[DEPENDENCY_GRAPH]

Service dependency relationships showing which components depend on which other components

payments-service depends on: [payments-db, message-queue, auth-service]

Optional but strongly recommended. JSON object mapping component names to arrays of dependencies. When absent, the prompt cannot reason about cascading failures or recommend checking upstream dependencies

[CONFIDENCE_THRESHOLD]

Minimum confidence score required for automatic routing. Scores below this threshold trigger human review

0.75

Required. Float between 0.0 and 1.0. Default 0.70 if not specified. Lower thresholds increase misrouting risk; higher thresholds increase human review volume. Log threshold decisions for audit

[MAX_COMPONENTS]

Maximum number of candidate components the prompt can return for ambiguous inputs

3

Optional. Integer between 1 and 5. Default 3. Controls whether the prompt returns a single best match or a ranked list. Single-match mode (1) is higher risk for ambiguous inputs but simpler for downstream dispatch

[UNKNOWN_COMPONENT_POLICY]

Instruction for handling inputs that don't match any known component in the taxonomy

route_to: platform-oncall, reason: no-component-match, require_human_review: true

Required. Must specify a fallback routing target and whether human review is required. Prevents silent misclassification into the closest-but-wrong component. Test with deliberately out-of-scope inputs weekly

[RECENT_INCIDENTS]

Optional context about recent deployments, known outages, or ongoing incidents that may influence routing

payments-service deployed v2.4.1 to us-east-1 at 14:30 UTC, known issue with connection pool exhaustion

Optional. Array of recent incident objects with timestamp, component, and description. When provided, the prompt can correlate input symptoms with known issues. Stale incident data (older than 24 hours) should be pruned before inclusion

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Platform Component Routing Prompt into a production application with validation, retries, logging, and ownership verification.

The Platform Component Routing Prompt is designed to sit behind an API endpoint or message queue consumer that receives unstructured infrastructure issues, questions, or alerts. The application layer is responsible for assembling the prompt with the correct [INPUT], [COMPONENT_CATALOG], and [ROUTING_RULES] before invoking the model. The model's output—a JSON object containing the assigned component, confidence score, and routing rationale—must be validated before any downstream dispatch occurs. This is not a fire-and-forget prompt; incorrect routing can send a database outage alert to the message queue team, delaying incident response and breaking on-call contracts.

Build the harness with four mandatory stages: pre-validation, model invocation, post-validation, and dispatch with fallback. Pre-validation checks that the [INPUT] is non-empty, within length limits, and does not contain prompt injection patterns before the model sees it. Model invocation should use a low-temperature setting (0.0–0.2) for deterministic routing and include a response_format constraint matching the expected [OUTPUT_SCHEMA]. Post-validation must confirm the returned component exists in the [COMPONENT_CATALOG], the confidence score exceeds your configured threshold (start at 0.80 and tune based on eval results), and the rationale field is non-empty. If validation fails, implement a single retry with the same input; if it fails again, route to a human triage queue rather than guessing. Log every routing decision with the input hash, assigned component, confidence, rationale, and whether the route was automatic or escalated. This log becomes your audit trail for ownership disputes and model drift detection.

For high-reliability environments, add an ownership verification step after routing. Before dispatching an alert or ticket, query your service catalog or on-call rotation to confirm the assigned component has an active owner. If the component exists in the catalog but has no current on-call responder, escalate to the platform engineering lead rather than silently dropping the request. This prevents the common failure mode where the model routes correctly to a deprecated or unowned component. Wire the dispatch action through your existing incident management or ticketing API, not through the model. The model's job ends at classification; the application owns the side effects. Start with a shadow mode deployment where routing decisions are logged but not acted upon for at least one week, comparing model-assigned components against human-routed baselines before cutting over to automated dispatch.

IMPLEMENTATION TABLE

Expected Output Contract

Define the exact shape, types, and validation rules for the Platform Component Routing Prompt response. Use this contract to build a parser that rejects malformed outputs before they reach downstream dispatch logic.

Field or ElementType or FormatRequiredValidation Rule

component_id

string (slug)

Must match an entry in the [COMPONENT_CATALOG] list exactly. Case-sensitive match required.

component_name

string

Human-readable name. Must correspond to the resolved component_id. Used for logging and audit trails.

confidence_score

number (0.0-1.0)

Float between 0.0 and 1.0. Values below [CONFIDENCE_THRESHOLD] must trigger a human review or clarification path.

routing_reason

string

Concise explanation citing specific evidence from [USER_INPUT]. Must not exceed 280 characters. Null or empty string is a parse failure.

alternative_components

array of strings

List of other candidate component_ids considered. If confidence_score > 0.85, this array should be empty or omitted.

requires_human_review

boolean

Must be true if confidence_score < [CONFIDENCE_THRESHOLD] or if [USER_INPUT] contains [ESCALATION_SIGNALS]. Otherwise false.

input_summary

string

A one-sentence technical summary of the user's request, normalized to remove PII and sensitive data. Used for queue previews.

routing_policy_version

string

Semantic version of the routing policy used. If provided, must match the current [POLICY_VERSION] exactly.

PRACTICAL GUARDRAILS

Common Failure Modes

Platform component routing fails silently when boundaries blur, ownership is stale, or the prompt guesses instead of routing to a human. These are the most common production failure modes and how to prevent them.

01

Ambiguous Component Boundaries

What to watch: Inputs that mention multiple components, shared libraries, or platform glue code get routed to the wrong owner. The prompt picks the first plausible match instead of recognizing overlap. Guardrail: Add an explicit ambiguity check step. If confidence is below threshold or multiple components are referenced, route to a triage queue with the full ambiguity context instead of guessing.

02

Stale Ownership Mappings

What to watch: Teams reorganize, services get renamed, or components are deprecated. The prompt routes to an owner that no longer exists, creating dropped tickets and silent failures. Guardrail: Version your component-to-owner mapping as a structured input, not hardcoded in the prompt. Validate mappings against a live service catalog before routing, and log routing destinations for audit.

03

Overconfident Guessing on Vague Inputs

What to watch: A one-sentence input like 'the queue is backed up' gets confidently routed to a specific message queue component when the user meant a different system entirely. Low-signal inputs produce high-confidence misroutes. Guardrail: Require the prompt to output a confidence score. Set a minimum confidence threshold for automated routing. Below threshold, ask a clarifying question or escalate to a human dispatcher with the top-N candidates.

04

Infrastructure Layer Confusion

What to watch: Inputs about 'the database is slow' could map to the database team, the storage team, the network team, or the application team depending on root cause. The prompt picks the most literal match without considering cross-layer dependencies. Guardrail: Include a dependency map in the routing context. When an input implicates multiple infrastructure layers, route to the most likely owner but notify dependent teams. Log cross-layer routing decisions for post-incident review.

05

Novel Component Names Bypass Classification

What to watch: Newly launched services, internal codenames, or renamed components aren't in the taxonomy yet. The prompt either rejects valid inputs or forces them into a wrong existing category. Guardrail: Add an 'unknown component' catch-all with a clear escalation path. Monitor the catch-all queue weekly for emerging patterns. Update the component taxonomy within 24 hours of a new service launch, and test the prompt against the updated taxonomy before deployment.

06

Routing Without Ownership Validation

What to watch: The prompt routes correctly to a component, but the assigned team has no on-call coverage, the escalation policy is outdated, or the team doesn't own that component anymore. The ticket lands in a void. Guardrail: Before finalizing the route, validate the target owner against the current on-call schedule and team ownership registry. If validation fails, fall back to a platform-wide triage queue. Never route to an unvalidated destination in production.

IMPLEMENTATION TABLE

Evaluation Rubric

How to test output quality before shipping. Run these checks against a golden dataset of at least 100 labeled examples covering all components and common failure patterns.

CriterionPass StandardFailure SignalTest Method

Component assignment accuracy

Top-1 component matches human label for >= 90% of test cases

Top-1 accuracy below 85% or systematic misrouting of specific components

Compare predicted [COMPONENT] against golden labels; compute precision/recall per component

Multi-component detection

All relevant components identified for inputs spanning multiple services (recall >= 0.85)

Missing secondary components in > 15% of multi-component test cases

Run multi-component golden set; check that all labeled components appear in [COMPONENTS] array

Confidence calibration

[CONFIDENCE_SCORE] >= 0.8 when correct, <= 0.5 when incorrect for >= 80% of cases

High confidence on wrong assignments or low confidence on correct assignments

Bucket predictions by confidence decile; plot accuracy per bucket; check monotonic increase

Abstention on out-of-scope inputs

[IN_SCOPE] = false for all inputs outside defined platform components

[IN_SCOPE] = true for any out-of-scope test case

Run dedicated out-of-scope test set; measure false-positive in-scope rate; target < 2%

Ownership boundary precision

No cross-team misassignment where component ownership is unambiguous in golden set

Routing database queries to application team or vice versa in > 5% of boundary cases

Curate boundary test cases where components share similar names or responsibilities; measure confusion matrix

Infrastructure layer correctness

Correct layer assigned (compute, storage, networking, messaging) for >= 95% of cases

Layer-level misclassification in > 5% of test cases

Map each [COMPONENT] to its infrastructure layer; validate layer assignment against golden layer labels

Service dependency awareness

When input mentions multiple services, primary [COMPONENT] matches the root dependency owner

Routing to symptom component instead of root-cause component in > 10% of dependency cases

Create test cases with cascading failure descriptions; verify primary assignment targets root service owner

Response format compliance

100% of outputs parse as valid JSON matching [OUTPUT_SCHEMA] with all required fields present

Missing [COMPONENT], [CONFIDENCE_SCORE], or [RATIONALE] fields in any output

Schema validation on all test outputs; reject any response that fails JSON parse or required-field check

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a hardcoded component taxonomy. Use a single model call with no validation layer. Accept the first valid JSON response.

code
You are a platform component router. Given an issue description, return the most likely component from this list: [COMPONENT_LIST].

Issue: [INPUT]

Return JSON: {"component": "...", "confidence": 0.0-1.0}

Watch for

  • Missing schema checks means malformed JSON breaks your pipeline silently
  • Overly broad component list causes low-confidence routing on every input
  • No abstention path forces incorrect routing on out-of-scope issues
  • Single model call with no retry means transient failures go unhandled
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.