A code review system uses claude-3-5-sonnet with extended thinking enabled and a thinking budget of 800 tokens. During load testing, the team discovers that on complex pull requests, the model frequently exhausts the thinking budget before completing its reasoning, resulting in truncated analyses. What is the correct architectural response?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Here's the deal — a is correct because dynamic budget allocation solves the exhaustion problem efficiently — complex PRs (many files changed, deep call graphs) genuinely need more thinking tokens, while simple PRs (single-line fixes, documentation) need far fewer. A fast complexity heuristic (file count, diff size, cyclomatic complexity proxy) routes each request to an appropriate budget tier.
Full explanation below image
Full Explanation
A is correct because dynamic budget allocation solves the exhaustion problem efficiently — complex PRs (many files changed, deep call graphs) genuinely need more thinking tokens, while simple PRs (single-line fixes, documentation) need far fewer. A fast complexity heuristic (file count, diff size, cyclomatic complexity proxy) routes each request to an appropriate budget tier. B is wrong because setting a uniformly high budget wastes tokens on simple PRs (driving up cost significantly) without adding quality — budget should match task complexity. C is wrong because switching to Haiku loses the reasoning capability that makes the code review valuable; Haiku's non-thinking responses will miss subtle logic errors that extended thinking catches. D is wrong because standard chain-of-thought prompting produces reasoning in the output token stream, consuming visible tokens and still requiring similar depth of reasoning — it does not avoid the underlying compute constraint.