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.
Prompt
Platform Component Routing Prompt

When to Use This Prompt
Determine if the Platform Component Routing Prompt is the right tool for your infrastructure team's triage automation.
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.
Use Case Fit
Where the Platform Component Routing Prompt works, where it fails, and what you must provide before putting it into production.
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.
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.
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.
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.
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.
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.
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.
textYou 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.
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.
| Placeholder | Purpose | Example | Validation 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 |
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.
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 Element | Type or Format | Required | Validation 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. |
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.
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.
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.
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.
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.
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.
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.
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.
| Criterion | Pass Standard | Failure Signal | Test 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 |
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 prompt and a hardcoded component taxonomy. Use a single model call with no validation layer. Accept the first valid JSON response.
codeYou 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

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