CCAR-P Practice Question: Developer Productivity and Operational Enablement
A developer is building an application that needs to use multiple models (e.g., Haiku for speed, Sonnet for quality). What is the best pattern to handle model selection dynamically?
⚠ Common exam trap
Many candidates mistakenly propose hardcoding model selection logic directly inside application modules, missing that a central Model Router service provides the necessary abstraction for dynamic swapping and maintenance.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Implement a central Model Router service that selects models based on request metadata.
Implementing a Model Router pattern allows for clean separation between business logic and model configuration. By defining a routing layer, developers can easily change model versions or swap models based on context (e.g., latency budget, task complexity) without modifying the core application code. This architectural pattern facilitates A/B testing and performance optimization, which are critical for maintaining developer productivity in complex, multi-model production systems.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Hardcode the model selection logic into every individual service's controller.
Why it's wrong here
Hardcoding model selection leads to 'spaghetti code' that is difficult to test, maintain, or update. If the team decides to switch model versions, they would need to update every service, causing significant operational overhead and increasing the risk of introducing bugs into the application logic.
- ✓
Implement a central Model Router service that selects models based on request metadata.
Why this is correct
A Model Router provides a centralized point of control for selecting the appropriate model based on criteria like latency requirements or task complexity. This decoupling allows developers to optimize performance and costs dynamically without re-deploying individual application services, significantly improving operational agility and ease of experimentation.
- ✗
Only use the highest quality model for all requests to ensure consistency.
Why it's wrong here
Using a high-end model for simple tasks is a massive waste of resources and increases latency unnecessarily. Efficient architectures prioritize 'right-sizing' the model to the task. Blindly using the largest model is an anti-pattern that creates significant operational waste and reduces overall system performance.
- ✗
Ask the user to manually select the model from a dropdown menu in the UI.
Why it's wrong here
Users do not know which model is best suited for their specific request. Forcing the user to make technical decisions leads to a poor experience and suboptimal model usage. Intelligent automation in the backend is required to provide a seamless and high-performing user experience.
About these practice questions
This CCAR-P question is part of Courseiva's 262-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Anthropic exam blueprint
This CCAR-P practice question is part of Courseiva's free Anthropic certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CCAR-P exam.