Exercise 5 of 10 · 0 passed
Tool Use (Function Calling)
Tools let Claude call your Python functions. The model decides when to call a tool and what arguments to pass — you execute it and feed the result back.
The loop:
- Send message with tool definitions
- If
stop_reason == "tool_use", execute the requested tools - Append the assistant turn + tool results and call again
- Repeat until
stop_reason == "end_turn"
Why care? This is how AI goes from chatbot to agent. Claude can look up live data, call external APIs, or run calculations mid-conversation — all while you stay in control of execution.
Task
Complete answer_with_tools(question, client). A get_exchange_rate function and its tool schema are already defined. Run the agentic loop until the model returns a final text answer.
Click "Run tests". First time loads Python in your browser (~5s). After that, runs are instant on this page and ~1s on the others.
Loading tests…
Pass the tests to reveal the reference solution.
The point of the exercise is the struggle, not the answer. Once your tests are green, the reference solution unlocks here so you can compare patterns.
Loading solution…
That's the warm-up.
You ran ten exercises against a mocked SDK. The cohort builds the real thing: an AI agent shipped to production with 150+ passing tests, Telegram bot, FastAPI, Streamlit, Docker. Six weeks. Every PR reviewed.