Overview
In the previous part, we built command-line applications that send prompts to a model and handle the response. In this part, we go one step further: the model can now be connected to tools that let it retrieve data or trigger deterministic operations.
This is the basic idea behind many current “agentic” systems. The model does not only generate text. It can also decide that a tool should be used, provide parameters for that tool, receive the tool result, and continue from there.
That does not mean the model becomes an independent software engineer or a magical general-purpose agent. In useful systems, tool use is still wrapped inside software that defines the available tools, validates parameters, limits permissions, and decides when human oversight is needed.
Figure 1 summarizes the high-level loop used in many tool-using systems.
Capability and authority are different things
Part 4 adds new capabilities, but it does not automatically grant the system new authority. A model may be able to suggest a tool call, but the surrounding program still decides which tools exist, what permissions they have, what arguments are accepted, and whether a human needs to confirm the result.
That distinction is important throughout the rest of the course. Many discussions about agents become confusing when capability and authority are mixed together. A useful system can be quite capable while still operating inside very narrow boundaries.
The structure of this part is as follows:
- From Chatbots to Agents explains what changes when an LLM system can act through tools.
- Function Calling and Tool Schemas shows how tools are described to the model and how calls are executed.
- The Model Context Protocol introduces MCP as a standard for connecting models, tools, and resources.
- Multi-Step Workflows and Bounded Autonomy focuses on orchestration, approval boundaries, and practical control.
- Tutorial: Building a Tool-Connected Assistant combines these ideas in a CLI assistant that can inspect local issue data through explicit tools.
- Framework Variant: Tool Calling with LangChainJS revisits the same assistant so that you can compare explicit orchestration with a framework-based abstraction.
Finally, Recap and Feedback summarizes the part and prepares you for the next part on retrieval and evaluation.