<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Module 2: Agents &amp; Tool Calling - AI 101 — Agents, MCP &amp; the Agentic Security Model</title><link>https://fortinetcloudcse.github.io/ai-101/03agents/index.html</link><description>This page covers the theory behind how an agent works: the tool-call loop, how the model signals that it wants to run a function, how tool schemas are structured, and why the agent in this workshop is deliberately simple. The hands-on portion is in Lab 2.&#10;By the end of this page you should be able to explain:&#10;What an agent is at the code level (a loop, nothing more) How finish_reason: tool_calls drives the loop What a tool schema is and why the description field matters How the message list grows with each iteration What MAX_ITERATIONS protects against and why it is not a security control The UI Lab 2 introduces a browser UI. Lab 2 gives the URL for your deployment path. It is a single-page vanilla JS application that talks to the agent API (proxied through nginx as /api/).</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://fortinetcloudcse.github.io/ai-101/03agents/index.xml" rel="self" type="application/rss+xml"/><item><title>Lab 2 — The Agent Loop</title><link>https://fortinetcloudcse.github.io/ai-101/03agents/1_lab.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://fortinetcloudcse.github.io/ai-101/03agents/1_lab.html</guid><description>Lab 2 brings up the agent and UI alongside Ollama. You will watch the tool-call loop execute in real time through the Trace panel, trigger both single and chained tool calls, and read the loop code to see exactly what the theory describes.&#10;Your path: Docker ComposeKubernetes / Helm Locked in — every lab page follows this choice. ​ Docker Compose Kubernetes / Helm Docker Compose — every command on this page runs on your own machine.</description></item></channel></rss>