In multi-task systems, sending all queries to a single system prompt leads to rule dilution. Semantic routing embeds the user's query, computes similarity against task clusters, and routes the query to a specialized prompt optimized for that domain.
user_vector = get_embedding(query)
route = get_closest_route(user_vector) # 'billing_route' or 'sales_route'
response = call_llm(system_prompt=ROUTE_PROMPTS[route], user_input=query)
Claude benefits from specialized contexts: narrow focus prompts prevent instructions from conflicting.