An enterprise client is building a Claude integration that will run in production for 3+ years. They require output stability — the same input must produce consistent outputs over time for audit trail purposes. The architect must design the integration to handle potential model updates. What is the best approach?
Select an answer to reveal the explanation.
Short Explanation
You should pin to a specific dated model version identifier, like claude-3-5-sonnet-20241022, so the model doesn’t change without an explicit deployment decision. Pair that with a governance process for intentional upgrades, and you get control, testing, and audit-friendly stability.
Full Explanation
Pinning to a specific dated model version identifier, such as claude-3-5-sonnet-20241022, ensures that the model used does not change without an explicit deployment decision. Documenting a model governance process for intentional upgrades gives the team control over when and how model behavior changes, with testing before production rollout. This is the standard enterprise stability pattern for long-lived production integrations that need reproducible outputs for audit trails. The generic 'claude-3-5-sonnet-latest' alias is wrong because the 'latest' alias is designed for development environments — in production, it means the model can change without warning, breaking audit trails and reproducibility guarantees. Storing model outputs in a database and returning cached responses for previously seen inputs is wrong because caching only helps for exact input repeats — unique inputs still go to Claude and may return different results if the underlying model changes; caching cannot guarantee output stability for novel inputs. Negotiating a custom SLA with Anthropic to freeze model behavior for enterprise customers is wrong because Anthropic does not offer model behavior freezing as an enterprise SLA product — the correct mechanism is version pinning via the API.