The supplied Claude Developer examination source selects A . The purpose of choosing an agent SDK rather than implementing a custom Messages API loop is to consume the SDK's higher-level abstractions. Re-implementing dispatch, iteration, and state handling would discard much of the value provided by the SDK.
Anthropic's current documentation distinguishes low-level tool-use loops from higher-level SDK-managed abstractions. With a manually implemented Messages API workflow, application code must inspect stop_reason, execute requested client tools, append tool_result blocks, preserve conversation history, and repeat until Claude completes the turn. Anthropic's higher-level tooling can instead encapsulate this repetitive control flow. Current migration guidance also confirms that Agent SDK @tool functions are automatically dispatched by the SDK and that agents, tools, and sessions are first-class SDK concepts.
B is incorrect because structured tool use should not be replaced with informal plain-text calls. C introduces an unnecessary custom state dependency when no external persistence requirement exists. D duplicates control-loop functionality despite the explicit decision to use the SDK.
Relevant Claude Developer topics: Agent SDK, tool definitions, dispatch, agentic loops, conversation state, tool execution, and abstraction selection .
===============