You are building an Azure multi-agent assistant that must call internal APIs for order status and, when needed, dynamically select optional tools for returns or exchanges. Which tool-use implementation is most appropriate?
Select an answer to reveal the explanation.
Short Explanation
D reflects modern tool ecosystems: function calling for structured tool use, specified tools for common intents, and dynamic selection when optional flows apply—while server-side authz remains mandatory. A wastes tokens and risk. B abandons agent tooling. C is a critical secret leak. Teach agents how to choose tools, but never trust the model as the security boundary.
Full Explanation
D is correct because building tool ecosystems includes function calling, specified tool use, and dynamic tool use under secure integration. Server-side authorization must still validate every invocation. A is incorrect: calling all tools every turn is inefficient and increases attack surface. B is incorrect: manual-only invocation defeats agent automation. C is incorrect: secrets must not appear in tool descriptions; use managed identity/Key Vault patterns. Validate tool arguments and results before side effects.