Agents are where AI-103 differs most from the old AI-102. You need to know how an agent keeps track of a conversation, how it remembers users across sessions, which tool fits which job, how to evaluate tool use, and how several agents work together. These skills sit in Implement generative AI and agentic solutions, the largest area of the exam at 30-35%.
This is the fourth post in our AI-103 series (Questions 31-40). The questions reflect the current Foundry Agent Service, where agents work with conversations, responses, and a shared set of tools. Every question is an original practice scenario, not a copy of a real exam item.
Answer each one before you reveal it. Tool questions are full of near-misses, so the explanations say why each wrong tool fails the requirement.
Question 31: Picking Up a Conversation Days Later
A travel agent built on Foundry Agent Service must let a user start planning a trip on a laptop, close the browser, and continue the same conversation two days later on a phone. The team does not want to store or resend the whole chat history itself. What should the app do?
A) Create a new agent version for each user and store the history in its instructions
B) Set store to false and send every previous message again on each turn
C) Create a conversation object, save its ID with the user’s account, and pass that conversation ID on every new request
D) Put the full transcript into the file search vector store after each turn
👁 Reveal Answer
Correct Answer: C
Explanation: In Foundry Agent Service, conversations are durable objects with unique IDs that can be reused across sessions. When you send a request with a conversation ID, the stored items are used as input and the new response is appended to the same conversation, so the app only needs to remember the ID. A misuses agent versions, which define behavior, not user data. B is the opposite of the requirement: with store set to false, the app must carry the context forward itself. D turns chat history into searchable documents, which loses the turn-by-turn context and is not how conversation state works.
Reference: Agent runtime components: agents, conversations, and responses
Question 32: Remembering Preferences Across Conversations
Users of a shopping agent want it to remember things such as “I am vegetarian” and “ship to my office address” in every future conversation, not only the current one. The team wants a managed solution rather than building its own database. What should they use?
A) Memory in Foundry Agent Service, with the memory search tool attached to the agent and the scope set per user
B) A larger context window model, so more history fits in each request
C) A conversation vector store for each user with file search
D) Add each user’s preferences to the agent’s shared instructions
👁 Reveal Answer
Correct Answer: A
Explanation: Memory (preview) is a managed long-term memory solution. It extracts and consolidates information such as user profile details and chat summaries, stores them in a memory store, and retrieves what is relevant in later conversations. Attaching the memory search tool with scope set to {{$userId}} keeps each user’s memories separate. Memory needs compatible chat and embedding model deployments. B only helps inside one long conversation. C is for documents, and conversation vector stores expire by default seven days after they were last active. D would show every user’s personal details to everyone.
Reference: Memory in Foundry Agent Service
Question 33: Calling an Internal API Protected by Entra ID
An agent must check stock levels by calling an internal REST API. The API has an OpenAPI 3.0 specification and accepts only Microsoft Entra ID tokens. Security forbids storing secrets for this integration. How should the tool be configured?
A) Add the OpenAPI tool with anonymous authentication
B) Put a client secret in the OpenAPI specification’s server URL
C) Ask the code interpreter tool to call the API with Python requests
D) Add the OpenAPI tool with managed identity authentication, set the audience to the API’s resource identifier, and grant the Foundry managed identity a least-privilege role on the API
👁 Reveal Answer
Correct Answer: D
Explanation: The OpenAPI tool supports anonymous, API key (stored in a project connection), and managed identity authentication. With managed identity, Foundry gets an Entra token for the audience you set, which must be the target service’s resource identifier, not your Foundry endpoint. The identity also needs a data-plane role on the target; without it the call returns 401 Unauthorized. Each operation in the spec needs an operationId so the model can pick it. A fails because the API requires a token. B puts a secret where it never belongs. C runs in a sandbox meant for computation, not governed API access.
Reference: Connect agents to OpenAPI tools
Question 34: Reusing an Existing Search Index
A data team already maintains an Azure AI Search index of two million product articles, refreshed every hour by an indexer. A new agent must answer questions from that content. What is the best tool choice?
A) Export all articles and upload them to a file search vector store
B) The Azure AI Search tool, connected to the existing index
C) The web search tool, limited to the company’s public website
D) The code interpreter tool, reading articles from a CSV file
👁 Reveal Answer
Correct Answer: B
Explanation: Microsoft’s guidance is simple: to search an existing Azure AI Search index, use the Azure AI Search tool. The agent gets the data team’s hourly updates automatically, and nothing is copied. A duplicates the data, would go stale within an hour, and a vector store holds at most 10,000 files. File search is meant for documents you upload directly. C only sees public pages and sends queries outside your compliance boundary. D is not a retrieval tool.
Reference: File search tool (when to use other tools)
Question 35: Answering Questions About an Uploaded Spreadsheet
Finance users upload a CSV export of monthly expenses and ask questions such as “Which department grew fastest this quarter? Show me a chart.” The answers must be calculated exactly, not estimated. Which tool should the agent use?
A) File search, so the agent can retrieve the most relevant rows
B) Code interpreter, so the agent writes and runs Python against the file in a sandbox
C) Web search, to find industry benchmarks
D) Function calling, with a single function named analyze_anything
👁 Reveal Answer
Correct Answer: B
Explanation: Code interpreter lets the agent write and run Python in a sandbox, so it can load the CSV, compute growth rates exactly, and produce a chart file. A retrieves text chunks for grounding; it does not perform calculations, and the model would be guessing from partial rows. C answers a different question. D means you would have to build and host the whole analysis engine yourself, and a vague function description gives the model nothing to work with.
Reference: Tools for Foundry agents (Toolbox overview)
Question 36: Current Events and a Compliance Review
A market research agent must answer questions about this week’s industry news and show the source of each fact. Before approving it, the compliance team asks what is special about this kind of tool. Which statement is correct?
A) Use the web search tool; it returns inline URL citations, but queries sent to Grounding with Bing are not covered by the Microsoft Data Protection Addendum and can leave your compliance and geographic boundaries
B) Use file search; it automatically downloads the latest news every night
C) Use the Azure AI Search tool; it can query the public internet without an index
D) Fine-tune the model every night on news articles so it always knows current events
👁 Reveal Answer
Correct Answer: A
Explanation: The web search tool retrieves public web content before the model answers and returns url_citation annotations you can show to users. It is built on Grounding with Bing Search, and Microsoft’s documentation states that the Data Protection Addendum does not apply to data sent to Grounding with Bing and that data transfers occur outside compliance and geographic boundaries. That is exactly what compliance needs to review. It also costs extra, and results should be treated as untrusted input. B does not fetch anything by itself. C searches your own indexes. D is slow, expensive, and still out of date between runs.
Reference: Web search tool for Foundry agents
Question 37: A Function That Takes 15 Minutes
An agent uses function calling to request a warehouse report. The app runs the function, but the report takes about 15 minutes to build, and the agent’s run expires before the output is submitted. What should the developer change?
A) Move the function code into the agent so Foundry runs it
B) Submit the function output without the call_id once the report is ready
C) Increase the run timeout in the agent definition to 30 minutes
D) Have the function start the report job and immediately return a job ID and status, and add a second function the agent can call to check the job later
👁 Reveal Answer
Correct Answer: D
Explanation: With function calling, your app runs the function and returns a function_call_output item with the matching call_id. Runs expire 10 minutes after creation, and that limit covers the total elapsed time, so Microsoft recommends returning a status immediately for slow work and using polling. A is wrong because the agent never runs your function code. B breaks the link between request and result. C describes a setting that does not exist; the expiry is fixed.
Reference: Function calling for Foundry agents
Question 38: An Agent That Calls Tools It Does Not Need
Traces show that a support agent answers order questions correctly, but it often calls search_catalog and get_store_hours in addition to get_order_status, which adds latency and cost. Which built-in evaluator measures this specific problem?
A) Intent Resolution
B) Groundedness
C) Tool Selection
D) Fluency
👁 Reveal Answer
Correct Answer: C
Explanation: Tool Selection measures whether the agent selected the correct tools without selecting unnecessary ones. Related process evaluators look at other steps: Tool Call Accuracy (right calls with correct parameters), Tool Input Accuracy (parameter correctness), Tool Output Utilization (using results correctly), and Tool Call Success (technical errors). A checks whether the agent understood what the user wanted, which it did. B checks whether the answer is supported by context. D checks language quality. None of them look at extra tool calls.
Reference: Agent evaluators
Question 39: Passing the Customer to a Specialist
A team is building a multi-agent solution with Microsoft Agent Framework. A triage agent greets the customer, works out what they need, and then must hand the conversation to a billing, shipping, or returns specialist. The specialist takes over and talks directly with the customer from that point. Which orchestration pattern fits?
A) Concurrent, so all three specialists answer at the same time
B) Sequential, so every request passes through billing, then shipping, then returns
C) Handoff, where agents transfer control to each other based on context
D) An A2A tool call, where the triage agent keeps ownership of the conversation
👁 Reveal Answer
Correct Answer: C
Explanation: Agent Framework includes sequential, concurrent, handoff, group chat, and magentic orchestrations. Handoff is defined as agents transferring control to each other based on context, which is exactly the triage-to-specialist pattern where the specialist takes over. A wastes calls and produces three competing answers. B forces every customer through all three specialists. D is the key distractor: with the A2A tool, the calling agent stays in control and only uses the remote agent’s answer, but here the specialist must own the conversation.
Reference: Microsoft Agent Framework orchestrations
Question 40: Asking a Partner’s Agent for Help
A logistics company’s Foundry agent must ask a shipping partner’s agent for delivery estimates. The partner exposes its agent through the Agent2Agent (A2A) protocol. The company’s agent must stay in charge of the customer conversation and write the final answer itself. What should the team configure?
A) The A2A tool on the company’s agent, using a project connection to the partner’s A2A endpoint with the authentication the partner requires
B) A connected agent that points to the partner’s agent
C) A group chat orchestration in which the partner’s agent can take over the conversation
D) Copy the partner agent’s instructions into the company agent
👁 Reveal Answer
Correct Answer: A
Explanation: The A2A tool lets a Foundry agent call a remote agent that implements the A2A protocol. The remote agent returns a response, and your agent uses it to answer the user and continues to manage the conversation. You create a project connection for the remote endpoint with a supported authentication type, and Microsoft recommends the generally available a2a tool type for new integrations. B is the classic connected agents feature, which is not available in the new Foundry Agent Service. C lets control pass to other agents, which breaks the requirement. D cannot reproduce the partner’s live data and systems.
Reference: Agent-to-agent (A2A) tool
Study Tips for Building Agents
- Short-term vs long-term. Conversations hold the current chat; memory keeps what the agent learns about a user across chats.
- Match the tool to the data. Existing index: Azure AI Search tool. Uploaded files: file search. Calculations: code interpreter. Live public info: web search. Your own APIs: OpenAPI or function calling.
- Your app runs functions, not the agent. Return outputs with the right
call_idbefore the run expires. - Who owns the conversation? If one agent stays in charge, think A2A tool. If control moves between agents, think handoff or group chat.
- Evaluate the process, not just the answer. Tool evaluators show wasted or wrong tool calls that a good final answer can hide.
Keep Practicing for AI-103
Go back to AI-103 Questions 21-30 for RAG and model basics, then continue to Questions 41-50 on image generation, video, and multimodal vision. The official AI-103 study guide lists every skill measured.
