agents
12 TopicsImpariamo a conoscere MCP: Introduzione al Model Context Protocol (MCP)
Non perderti il prossimo evento “Let’s Learn – MCP” su Microsoft Reactor il 24 di Luglio, pensato per chiunque voglia conoscere meglio il nuovo standard per agenti intelligenti (il Model Context Protocol) e imparare a metterlo in pratica. La sessione è in Italiano e le demo sono in Python, ma fa parte di una serie di live-streaming disponibili in tantissime lingue.How do I A/B test different versions of my agent?
We tend to think of A/B testing as a marketer’s tool (i.e. headline A vs. headline B). But it’s just as useful for developers building agents. Why? Because most agent improvements are experimental. You’re changing one or more of the following: the system prompt the model the tool selection the output format the interaction flow But without a structured way to test those changes, you’re just guessing. You might think your updated version is smarter or more helpful…but until you compare, you won’t know! A/B testing helps you turn instincts into insight and gives you real data to back your next decision.How do I give my agent access to tools?
Welcome back to Agent Support—a developer advice column for those head-scratching moments when you’re building an AI agent! Each post answers a real question from the community with simple, practical guidance to help you build smarter agents. Today’s question comes from someone trying to move beyond chat-only agents into more capable, action-driven ones: 💬 Dear Agent Support I want my agent to do more than just respond with text. Ideally, it could look up information, call APIs, or even run code—but I’m not sure where to start. How do I give my agent access to tools? This is exactly where agents start to get interesting! Giving your agent tools is one of the most powerful ways to expand what it can do. But before we get into the “how,” let’s talk about what tools actually mean in this context—and how Model Context Protocol (MCP) helps you use them in a standardized, agent-friendly way. 🛠️ What Do We Mean by “Tools”? In agent terms, a tool is any external function or capability your agent can use to complete a task. That might be: A web search function A weather lookup API A calculator A database query A custom Python script When you give an agent tools, you’re giving it a way to take action—not just generate text. Think of tools as buttons the agent can press to interact with the outside world. ⚡ Why Give Your Agent Tools? Without tools, an agent is limited to what it “knows” from its training data and prompt. It can guess, summarize, and predict, but it can’t do. Tools change that! With the right tools, your agent can: Pull live data from external systems Perform dynamic calculations Trigger workflows in real time Make decisions based on changing conditions It’s the difference between an assistant that can answer trivia questions vs. one that can book your travel or manage your calendar. 🧩 So… How Does This Work? Enter Model Context Protocol (MCP). MCP is a simple, open protocol that helps agents use tools in a consistent way—whether those tools live in your app, your cloud project, or on a server you built yourself. Here’s what MCP does: Describes tools in a standardized format that models can understand Wraps the function call + input + output into a predictable schema Lets agents request tools as needed (with reasoning behind their choices) This makes it much easier to plug tools into your agent workflow without reinventing the wheel every time! 🔌 How to Connect an Agent to Tools Wiring tools into your agent might sound complex, but it doesn’t have to be! If you’ve already got a MCP server in mind, there’s a straightforward way within the AI Toolkit to expose it as a tool your agent can use. Here’s how to do it: Open the Agent Builder from the AI Toolkit panel in Visual Studio Code. Click the + New Agent button and provide a name for your agent. Select a Model for your agent. Within the Tools section, click + MCP Server. In the wizard that appears, click + Add Server. From there, you can select one of the MCP servers built my Microsoft, connect to an existing server that’s running, or even create your own using a template! After giving the server a Server ID, you’ll be given the option to select which tools from the server to add for your agent. Once connected, your agent can call tools dynamically based on the task at hand. 🧪 Test Before You Build Once you’ve connected your agent to an MCP server and added tools, don’t jump straight into full integration. It’s worth taking time to test whether the agent is calling the right tool for the job. You can do this directly in the Agent Builder: enter a test prompt that should trigger a tool in the User Prompt field, click Run, and observe how the model responds. This gives you a quick read on tool call accuracy. If the agent selects the wrong tool, it’s a sign that your system prompt might need tweaking before you move forward. However, if the agent calls the correct tool but the output still doesn’t look right, take a step back and check both sides of the interaction. It might be that the system prompt isn’t clearly guiding the agent on how to use or interpret the tool’s response. But it could also be an issue with the tool itself—whether that’s a bug in the logic, unexpected behavior, or a mismatch between input and expected output. Testing both the tool and the prompt in isolation can help you pinpoint where things are going wrong before you move on to full integration. 🔁 Recap Here’s a quick rundown of what we covered: Tools = external functions your agent can use to take action MCP = a protocol that helps your agent discover and use those tools reliably If the agent calls the wrong tool—or uses the right tool incorrectly—check your system prompt and test the tool logic separately to isolate the issue. 📺 Want to Go Deeper? Check out my latest video on how to connect your agent to a MCP server—it’s part of the Build an Agent Series, where I walk through the building blocks of turning an idea into a working AI agent. The MCP for Beginners curriculum covers all the essentials—MCP architecture, creating and debugging servers, and best practices for developing, testing, and deploying MCP servers and features in production environments. It also includes several hands-on exercises across .NET, Java, TypeScript, JavaScript and Python. 👉 Explore the full curriculum: aka.ms/AITKmcp And for all your general AI and AI agent questions, join us in the Azure AI Foundry Discord! You can find me hanging out there answering your questions about the AI Toolkit. I'm looking forward to chatting with you there! Whether you’re building a productivity agent, a data assistant, or a game bot—tools are how you turn your agent from smart to useful.How do I get my agent to respond in a structured format like JSON?
Welcome back to Agent Support—a developer advice column for those head-scratching moments when you’re building an AI agent! Each post answers a real question from the community with simple, practical guidance to help you build smarter agents. 💬 Dear Agent Support I’m building an agent that feeds its response into another app—but sometimes the output is messy or unpredictable. Can you help? This looks like a job for JSON! While agent output often comes back as plain text, there are times when you need something more structured, especially if another system, app, or service needs to reliably parse and use that response. 🧠 What’s the Deal with JSON Output? If your agent is handing off data to another app, you need the output to be clean, consistent, and easy to parse. That’s where JSON comes in. JSON (JavaScript Object Notation) is a lightweight, widely supported format that plays nicely with almost every modern tool or platform. Whether your agent is powering a dashboard, triggering a workflow, or sending data into a UI component, JSON makes the handoff smooth. You can define exactly what shape the response should take (i.e. keys, values, types) so that other parts of your system know what to expect every single time. Without it? Things get messy fast! Unstructured text can vary wildly from one response to the next. A missing field, a misaligned format, or even just an unexpected line break can break downstream logic, crash a frontend, or silently cause bugs you won’t catch until much later. Worse, you end up writing brittle post-processing code to clean up the output just to make it usable. The bottom line: If you want your agent to work well with others, it needs to speak in a structured format. JSON isn’t just a nice-to-have, it’s the language of interoperability. 🧩 When You’d Want Structured Output Not every agent needs to speak JSON, but if your response is going anywhere beyond the chat window, structured output is your best bet. Let’s say your agent powers a dashboard. You might want to display the response in different UI components—a title, a summary, maybe a set of bullet points. That only works if the response is broken into predictable parts. Same goes for workflows. If you’re passing the output into another service, like Power Automate, an agent framework like Semantic Kernal, or even another agent, it needs to follow a format those systems can recognize. Structured output also makes logging and debugging easier. When every response follows the same format, you can spot problems faster. Missing fields, weird values, or unexpected data types stand out immediately. It also future proofs your agent. If you want to add new features later, like saving responses to a database or triggering different actions based on the content, having structured output gives you the flexibility to build on top of what’s already there. If the output is meant to do more than just be read by a human, it should be structured for a machine. 📄 How to Define a JSON Format Once you know your agent’s output needs to be structured, the next step is telling the model exactly how to structure it. That’s where defining a schema comes in. In this context, a schema is just a blueprint for the shape of your data. It outlines what fields you expect, what type of data each one should hold, and how everything should be organized. Think of it like a form template: the model just needs to fill in the blanks. Here’s a simple example of a JSON schema for a to-do app: { "task": "string", "priority": "high | medium | low", "due_date": "YYYY-MM-DD" } Once you have your format in mind, include it directly in your prompt. But if you’re using the AI Toolkit in Visual Studio Code, you don’t have to do this manually every time! 🔧 Create a JSON schema with the AI Toolkit The Agent Builder feature supports structured output natively. You can provide a JSON schema alongside your prompt, and the agent will automatically aim to match that format. This takes the guesswork out of prompting. Instead of relying on natural language instructions to shape the output, you’re giving the model a concrete set of instructions to follow. Here’s how to do it: Open the Agent Builder from the AI Toolkit panel in Visual Studio Code. Click the + New Agent button and provide a name for your agent. Select a Model for your agent. Within the System Prompt section, enter: You recommend a movie to watch. Within the User Prompt section, enter: Recommend a science-fiction movie with robots. In the Structured Output section, select json_schema as the output format. Click Prepare schema. In the wizard, select Use an example. For the example, select paper_metadata. Save the file to your desired location. You can name the file: movie_metadata. In the Agent Builder, select movie_metadata to open the file. Using the template provided, modify the schema to format the title, genre, year, and reason. Once done, save the file. { "name": "movie_metadata", "strict": true, "schema": { "type": "object", "properties": { "title": { "type": "string" }, "genre": { "type": "array", "items": { "type": "string" } }, "year": { "type": "string" }, "reason": { "type": "array", "items": { "type": "string" } } }, "required": [ "title", "genre", "year", "reason" ], "additionalProperties": false } } And just like that, you’ve set up a JSON schema for your agent’s output! 🧪 Test Before You Build You can submit a prompt with the Agent Builder to validate whether the agent adheres to the JSON schema when returning its response. When you click Run, the agent’s response will appear in the Prompt tab, ideally in JSON format. 🔁 Recap Here’s a quick rundown of what we covered: JSON lets you create reliable, machine-friendly agent responses. JSON is essential for interoperability between apps, tools, and workflows. Without JSON, you risk fragile pipelines, broken features, or confusing bugs. The AI Toolkit supports including a JSON schema with your agent’s prompt. 📺 Want to Go Deeper? Check out the AI Agents for Beginners curriculum in which we dive a bit more into agentic design patterns which includes defining structured outputs. We’ll have a video landing soon in the Build an Agent Series that takes you through a step-by-step look of creating a JSON schema for your agent!What models can I use for free while prototyping?
Welcome back to Agent Support—a developer advice column for those head-scratching moments when you’re building an AI agent! Each post answers a real question from the community with simple, practical guidance to help you build smarter agents. Today’s question comes from someone still in the prototyping phase—looking to use free models until they’re ready to commit: 💬 Dear Agent Support I’m experimenting with different agent ideas, but I’m not ready to pay for API credits just yet. Are there any models I can use for free? Short answer: yes, and you’ve got a couple of good options! Let’s break them down. 🧠 GitHub Models: A Free Way to Experiment If you’re just getting started with agents and want a no-cost way to try things out, GitHub-hosted models are a great option. These models are maintained by the GitHub team and run entirely on GitHub’s infrastructure, so you don’t need to bring your own API key or worry about usage fees. They’re designed for prototyping and lightweight experimentation, making them ideal for testing out ideas, building proof-of-concepts, or just getting familiar with how agents and models interact. You can try them directly in the GitHub web interface or through tools like the AI Toolkit, which includes them in its Model Catalog. Many supports common features like structured output, chat history, and tool use, and are regularly updated to reflect community needs. Think of these as your training wheels: stable, reliable, and free to use while you explore what your agent can do. ⚠️ But Beware of Rate Limits Free models are great for prototyping…but there’s a catch! GitHub-hosted models come with usage limits, which means you might hit a wall if you’re testing frequently, building complex agents, or collaborating with teammates. These rate limits exist to ensure fair access for everyone using the shared infrastructure, especially during peak demand. If you’ve ever wondered why your responses stop, it’s probably because you’ve reached the cap for the day. The good news? GitHub recently introduced a Pay-As-You-Go option. This lets you continue using the same hosted models with more generous limits, only paying for what you use. It’s a helpful bridge for developers who’ve outgrown the free tier but aren’t ready to commit to a full API plan with another provider. If your agent is starting to feel constrained, this might be the right moment to switch gears. 🖥️ Want More Control? Run a Local Model If you’d rather skip rate limits altogether, or just prefer running things on your own machine, you could always use a local model. Local models give you full control over how the model runs, how often you use it, and what kind of hardware it runs on. There’s no API key, no usage tracking, and no hidden costs. It’s just you and the model, running side by side. You can download and host open-source models like LLaMA, Mistral, or Code Phi models using tools like Ollama or Foundry Local, which makes setup surprisingly simple. Most local models are optimized to run efficiently on consumer-grade hardware, so even a decent laptop can handle basic inference. This is especially handy if you're experimenting with sensitive data, need offline access, or want to test agents in environments where cloud isn’t an option. Of course, going local means you’re responsible for setup, performance tuning, and hardware compatibility, but for many developers, that tradeoff is worth it! 🧰 Ready to Try One Out? Whether you’re curious about GitHub-hosted models or want to use a local one, the Models feature within the AI Toolkit makes it easy to test them out, no custom setup required. With just a few clicks, you can browse available models, run test prompts in the Playground, and even use them with the agent you’re building. Here’s how to do it: Use a GitHub Model Open the Model Catalog from the AI Toolkit panel in Visual Studio Code. Click the Hosted by filter near the search bar. Select GitHub. Browse the filtered results. Select + Add Model to add a model to your list of models. Use a Local Model Note: Only Ollama and Custom ONNX models are currently supported. The instructions below only focus on adding local models from Ollama. Download your chosen local model to your computer. From the AI Toolkit panel in Visual Studio Code, hover over My Models and select the + icon. In the wizard, select Add Ollama Model. In the wizard, select Select models from Ollama library. This will provide a list of the models available in your local Ollama library (i.e. models you’ve downloaded). In the wizard, select the model(s) you want to connect and click OK. Your cost-free models are now available to use with your agent! If you’re unsure whether a model is a GitHub model or Ollama model, you can view its category within the My Models section of the AI Toolkit panel. The models within that section are organized by model source/host. 🧪 Test Before You Build Whether you’ve added a GitHub hosted model or a local model, you can chat with the models in the Playground or within the Agent Builder. The model is available for selection within the Model drop-down. As a reminder, GitHub hosted models have rate limits. If you hit a rate limit with a GitHub hosted model, the AI Toolkit will provide a notification presenting you with the option to either use GitHub pay-as-you-go models or Deploy to Azure AI Foundry for higher limits. Whichever path you choose, the AI Toolkit helps you prototype with confidence, giving you flexibility early on and clear upgrade paths when you're ready to scale! 🔁 Recap Here’s a quick rundown of what we covered: GitHub-hosted models let you start building fast, with no API keys or fees, but they do come with rate limits. GitHub Pay-As-You-Go gives you a way to scale up without switching tools. Local models give you full control and zero rate limits, just run them on your own machine using tools like Ollama. The AI Toolkit supports both options, letting you chat with models, test prompts, and build agents right inside VS Code. 📺 Want to Go Deeper? With so many models available these days, it can feel overwhelming to keep tabs on what’s available. Check out the Model Mondays series for all the latest news on language models! By the way, GitHub has guides on discovering and experimenting with free AI models; definitely worth a read if you want to understand what’s under the hood. Check out their articles on GitHub Models. No matter where you are in your agent journey, having free, flexible model options means you can spend more time building—and less time worrying about the bill.Swagger Auto-Generation on MCP Server
Would you like to generate a swagger.json directly on an MCP server on-the-fly? In many use cases, using remote MCP servers is not uncommon. In particular, if you're using Azure API Management (APIM), Azure API Center (APIC) or Copilot Studio in Power Platform, integrating with remote MCP servers is inevitable.Learn Together: Building an MCP Server with AI Toolkit
AI is evolving fast—but building real, useful AI applications still requires more than just a smart model. That’s where the Model Context Protocol (MCP) comes in. MCP is an open standard that helps AI systems talk to tools, data, and services in a clean, reusable way. Think of it as the coordination layer that turns a smart model into an intelligent application. Whether you’re integrating APIs, calling scripts, or orchestrating multiple agents, MCP provides the structure that makes it all work together. And thanks to the AI Toolkit for Visual Studio Code, working with MCP is now easier than ever. The toolkit gives you an intuitive playground, built-in server tools, model integration, and everything you need to go from idea to working prototype without leaving your editor. 📅 Join the Event: Learn Together – Building an MCP Server with AI Toolkit In this live, hands-on workshop, we’ll walk through four practical modules designed to help you build, configure, and test your own MCP server from scratch. You’ll get to follow along step-by-step using the AI Toolkit extension for VS Code. Whether you're building multi-agent workflows, enabling tools in a RAG app, or just looking for a smarter way to connect your models to real-world actions, this workshop is for you. 🧪 What You’ll Learn – Inside the Labs Here’s a preview of the four modules we’ll cover during the livestream: Module 1: Getting Started with AI Toolkit In this lab, you’ll install and configure the AI Toolkit for Visual Studio Code, then dive into its key features—like the model catalog, interactive playground, and agent builder. You'll build your first functional agent, experiment with real-time model testing, and evaluate outputs using built-in metrics. Along the way, you’ll also explore batch processing and multimodal support. By the end, you’ll have a solid foundation in what the AI Toolkit can do. Module 2: Integrating MCP with Your Agents This lab introduces the Model Context Protocol (MCP) and shows you how to supercharge your AI agents with tool-using capabilities. You’ll connect to existing MCP servers, like the Playwright automation server, then integrate them into your agents using the AI Toolkit. From configuring tools to testing and deploying MCP-powered agents, you’ll see how external tools become part of your model’s workflow. This lab is your bridge between smart models and real-world actions. Module 3: Building and Debugging Custom MCP Servers Here, you’ll go beyond using prebuilt MCP servers and start creating your own. You’ll learn how to use the latest MCP Python SDK to configure and debug a custom server, including a weather tool example. The lab walks through setting up the MCP Inspector, testing tool calls, and running agents in a local dev environment. You’ll leave with a full understanding of how to build, test, and debug your own MCP endpoints. Module 4: Real-World MCP Server – GitHub Clone Agent In this final lab, you’ll build a GitHub clone MCP server that replicates real dev workflows. It features smart repo cloning, intelligent directory setup, error handling, and direct integration with VS Code. You’ll even enable GitHub Copilot’s Agent Mode to interact with your custom tools. This lab wraps everything together into a production-grade example of what’s possible with MCP. 💡 Why MCP + AI Toolkit? The magic of MCP is in its modularity. It gives developers a structured way to define tools, link models, and control interactions, all in a language-agnostic, reusable way. And when paired with the AI Toolkit, you get a guided development experience with built-in tools for testing, telemetry, evaluation, and more. Whether you're building an agent to automate tasks, assist users, or connect enterprise systems, MCP makes it possible. The AI Toolkit makes it easier! 📅 Save the Date! Don’t miss your chance to build alongside us and see MCP in action. This is more than just a demo, it’s a full walkthrough of what modern, production-aware AI development looks like. ✅ Register now to join the Learn Together livestream on the 5th August and take your first step toward building smarter AI applications. 👉 Click here to register for the event!JS AI Build-a-thon: Project Showcase
In the JS AI Build-a-thon, quest 9 was all about shipping faster, smarter, and more confidently. This quest challenged developers to skip the boilerplate and focus on what really matters, solving real-world problems with production-ready AI templates and cloud-native tools. And wow, did our builders deliver, with a massive 28 projects. From personalized chatbots to full-stack RAG applications, participants used the power of the Azure Developer CLI (azd) and robust templates to turn ideas into fully deployed AI solutions on Azure, in record time. What This Quest Was About Quest 9 focused on empowering developers to: Build AI apps faster with production-ready templates Use Azure Developer CLI (azd) to deploy with just a few commands Leverage Infrastructure-as-Code (IaC) to provision everything from databases to APIs Follow best practices out of the box — scalable, secure, and maintainable Participants explored a curated gallery of templates and learned how to adapt them to their unique use cases. No Azure experience? No problem. azd made setup, deployment, and teardown as simple as azd up. 🥁And the winner is..... With the massive votes from the community, the winning project as AI Academic advisor by Aryanjstar AI Career Navigator - Your Personal AI Career Coach by Aryanjstar [Project Submission] AI Career Navigator - Your Personal AI Career Coach · Issue #47 · Azure-Samples/JS-AI-Build-a-thon Aryan, a Troop Leader of the Geo Cyber Study Jam, created the AI Career Navigator to address common challenges faced by developers in the tech job market, such as unclear skill paths, resume uncertainty, and interview anxiety. Built using the Azure Search OpenAI Demo template, the tool offers features like resume-job description matching, skill gap analysis, and dynamic interview preparation. The project leverages a robust RAG setup and Azure integration to deliver a scalable, AI-powered solution for career planning. 🥉 Other featured projects: Deepmine-sentinel by Josephat-Onkoba [Project Submission] Deepmine-Sentinel · Issue #29 · Azure-Samples/JS-AI-Build-a-thon DeepMine Sentinel AI is an intelligent safety assistant designed to tackle the urgent risks facing workers in the mining industry, one of the most hazardous sectors globally. Built by customizing the “Get Started with Chat” Azure template, this solution offers real-time safety guidance and monitoring to prevent life-threatening incidents like cave-ins, toxic gas exposure, and equipment accidents. In regions where access to safety expertise is limited, DeepMine Sentinel bridges the gap by delivering instant, AI-powered support underground, ensuring workers can access critical information and protocols when they need it most. With a focus on accessibility, real-world impact, and life-saving potential, this project demonstrates how AI can be a powerful force for good in high-risk environments. PetPal - Your AI Pet Care Assistant by kelcho-spense [Project Submission] PetPal - Your AI Pet Care Assistant · Issue #70 · Azure-Samples/JS-AI-Build-a-thon PetPal is an AI-powered pet care assistant designed to support pet owners, especially first-timers, by offering instant, reliable answers to common pet-related concerns. From health and nutrition advice to emergency support and behavioral training, PetPal uses a serverless architecture powered by LangChain.js, Azure OpenAI, and Retrieval-Augmented Generation (RAG) to deliver accurate, context-aware responses. The app features a warm, pet-themed interface built with Lit and TypeScript, and includes thoughtful customizations like pet profile management, personalized chat history, and species-specific guidance. With backend services hosted on Azure Functions and data stored in Azure Cosmos DB, PetPal is production-ready, scalable, and focused on reducing anxiety while promoting responsible and informed pet ownership. MLSA LearnBot by Shunlexxi [Project Submission] MLSA LearnBot · Issue #67 · Azure-Samples/JS-AI-Build-a-thon Navigating the Microsoft Learn Student Ambassadors program can be overwhelming. To solve this, a student built an Intelligent Chatbot Q&A App using a Microsoft azd template, transforming a generic AI chatbot into a tailored assistant for Student Ambassadors and aspiring members. By integrating essential documentation, FAQs, and natural language support with Azure services like App Service, AI Search, and OpenAI, this tool empowers students to get instant, reliable answers and navigate their roles with ease. The front end was customized to reflect a student-friendly brand, and deployment was simplified using azd for a seamless, production-ready experience. You okay? Meet Vish AI, your mental health companion by ToshikSoni [Project Submission] You okay? Meet Vish AI, your mental health companion · Issue #38 · Azure-Samples/JS-AI-Build-a-thon Vish.AI is an empathetic GenAI companion designed to support emotional well-being, especially for individuals facing depression, loneliness, and mental burnout. Built using Azure’s AI Chat RAG template and enhanced with LangChain for conversational memory, the assistant offers a deeply personalized experience that remembers past interactions and responds with both emotional intelligence and informed support. By integrating a curated collection of resources on mental health into its RAG system, Vish.AI provides meaningful guidance and a comforting presence, available anytime, anywhere. Created to bridge the gap for those who may not feel comfortable opening up to friends or family, this project combines AI with a human touch to offer always-accessible care, demonstrating how thoughtful technology can help make life a little lighter for those quietly struggling. Want to Catch Up? If you missed the Build-a-thon or want to explore other quests (there are 9!), check them out here: 👉 GitHub - Azure-Samples/JS-AI-Build-a-thon If you want to catch up with how the challenge went and how you can get started, check out 👉JS AI Build‑a‑thon: Wrapping Up an Epic June 2025! | Microsoft Community Hub Join the Community The conversation isn’t over. The Quests are now self-paced. We’re keeping the momentum going over on Discord in the #js-ai-build-a-thon channel. Drop your questions, showcase your builds, or just come hang out with other builders. 👉 Join the community on Join the Azure AI Foundry Discord Server! Additional Resources 🔗 Microsoft for JavaScript developers 📚 Generative AI for Beginners with JavaScriptAI Toolkit for VS Code July Update
We’re back with the July update for the AI Toolkit for Visual Studio Code! This month marks a major release—version 0.16.0—bringing features we teased in the June prerelease into full availability, along with new enhancements across the board. 💳 GitHub Pay-as-you-go Model Support AI Toolkit now supports GitHub pay-as-you-go models, making it easier to continue building without friction when you exceed the free tier limits. Here’s how it works: When you hit the usage limit for GitHub’s hosted models, AI Toolkit will provide a clear prompt with a link to GitHub’s paid usage documentation. You can enable model usage billing in your GitHub Settings. Once enabled, you can continue using the same model in the Playground or Agent Builder—no changes needed in your workflow. This integration helps keep your development flow uninterrupted while giving you flexibility on how and when to scale. 🤖 Agent Builder Enhancements In last month’s June update, we introduced early access to function calling and agent version management—two highly requested features for building more reliable and dynamic AI agents. With v0.16.0, these features are now officially included in the stable release. We’ve also made several usability improvements: Resizable divider between input and output panels Cleaner, more compact evaluation results table Explore the latest features in the Agent Builder documentation. 🌐 Agent Development in VS Code: From Local to Cloud Whether you’re just getting started or ready to scale, AI Toolkit now makes it seamless to go from local experiments to production-ready deployments in the cloud. 🔍 Discover and Deploy Models with Ease You can now browse and explore a growing collection of models—including 100+ models from Azure AI Foundry—directly in the Model Catalog view. Once you’ve selected a model, you can deploy it to Azure AI Foundry with a single click, all within VS Code. ➡️ Learn more about the Model Catalog ➡️ How deployment works in Azure AI Foundry ⚙️ Iterate Locally, Scale When Ready The Playground and Agent Builder experience is designed to help you with prototyping quickly. Start with free, hosted models on GitHub to experiment with prompts and agent behavior. As your use case grows, you might hit rate limits or token caps—when that happens, the toolkit will proactively guide you to deploy the same model to Azure AI Foundry, so you can continue testing without interruption. 🚀 Get Started and Share Your Feedback If you haven’t tried the AI Toolkit for VS Code yet, now is a great time to get started. Install it directly from the Visual Studio Code Marketplace and begin building intelligent agents today. We’d love to hear from you! Whether it's a feature request, a bug report, or feedback on your experience, join the conversation and contribute directly on our GitHub repository. Let’s build the future of AI agent development together 💡💬 📄 See full changelog for v0.16.0 🧠 AI Toolkit Documentation Happy coding, and see you in August!How can I measure the quality of my agent's responses?
Welcome back to Agent Support—a developer advice column for those head-scratching moments when you’re building an AI agent! Each post answers a real question from the community with simple, practical guidance to help you build smarter agents. Today’s question comes from someone curious about measuring how well their agent responds: 💬Dear Agent Support My agent seems to be responding well—but I want to make sure I’m not just guessing. Ideally, I’d like a way to check how accurate or helpful its answers really are. How can I measure the quality of my agent’s responses? 🧠 What are Evaluations? Evaluations are how we move from “this feels good” to “this performs well.” They’re structured ways of checking how your agent is doing, based on specific goals you care about. At the simplest level, evaluations help answer: Did the agent actually answer the question? Was the output relevant and grounded in the right info? Was it easy to read or did it ramble? Did it use the tool it was supposed to? That might mean checking if the model pulled the correct file in a retrieval task. Or whether it used the right tool when multiple are registered. Or even something subjective like if the tone felt helpful or aligned with your brand. 🎯 Why Do We Do Evaluations? When you're building an agent, it’s easy to rely on instinct. You run a prompt, glance at the response, and think: “Yeah, that sounds right.” But what happens when you change a system prompt? Or upgrade the model? Or wire in a new tool? Without evaluations, there’s no way to know if things are getting better or quietly breaking. Evaluations help you: Catch regressions early: Maybe your new prompt is more detailed, but now the agent rambles. A structured evaluation can spot that before users do. Compare options: Trying out two different models? Testing a retrieval-augmented version vs. a base version? Evaluations give you a side-by-side look at which one performs better. Build trust in output quality: Whether you're handing this to a client, a customer, or just your future self, evaluations help you say, “Yes, I’ve tested this. Here’s how I know it works.” They also make debugging faster. If something’s off, a good evaluation setup helps you narrow down where it went wrong: Was the tool call incorrect? Was the retrieved content irrelevant? Did the prompt confuse the model? Ultimately, evaluations turn your agent into a system you can improve with intention, not guesswork. ⏳ When Should I Start Evaluating? Short answer: Sooner than you think! You don’t need a finished agent or a fancy framework to start evaluating. In fact, the earlier you begin, the easier it is to steer things in the right direction. Here’s a simple rule of thumb: If your agent is generating output, you can evaluate it. That could be: Manually checking if it answers the user’s question Spotting when it picks the wrong tool Comparing two prompt versions to see which sounds clearer Even informal checks can reveal big issues early before you’ve built too much around a flawed behavior. As your agent matures, you can add more structure: Create a small evaluation set with expected outputs Define categories you want to score (like fluency, groundedness, relevance) Run batch tests when you update a model Think of it like writing tests for code. You don’t wait until the end, you build them alongside your system. That way, every change gets feedback fast. The key is momentum. Start light, then layer on depth as you go. You’ll save yourself debugging pain down the line, and build an agent that gets better over time. 📊 AI Toolkit You don’t need a full evaluation pipeline or scoring rubric on day one. In fact, the best place to begin is with a simple gut check—run a few test prompts and decide whether you like the agent’s response. And if you don’t have a dataset handy, no worry! With the AI Toolkit, you can both generate datasets and keep track of your manual evaluations with the Agent Builder’s Evaluation feature. Sidebar: If you’re curious about deeper eval workflows, like using AI to assist in judging your agent output against a set of evaluators like fluency, relevance Tool Call, or even custom evaluators, we’ll cover that in a future edition of Agent Support. For now, let’s keep it simple! Here’s how to do it: Open the Agent Builder from the AI Toolkit panel in Visual Studio Code. Click the + New Agent button and provide a name for your agent. Select a Model for your agent. Within the System Prompt section, enter: You recommend a movie based on the user’s favorite genre. Within the User Prompt section, enter: What’s a good {{genre}} movie to watch? On the right side of the Agent Builder, select the Evaluation tab. Click the Generate Data icon (the first icon above the table). For the Rows of data to generate field, increase the total to 5. Click Generate. You’re now ready to start evaluating the agent responses! 🧪 Test Before You Build You can run the rows of data either individually or in bulk. I’d suggest starting with a single run to get an initial feel for how the feature works. When you click Run, the agent’s response will appear in the response column. Review the output. In the Manual Evaluation column, select either thumb up or thumb down. You can continue to run the other rows or even add your own row and pass in a value for {{city}}. Want to share the evaluation run and results with a colleague? Click the Export icon to save the run as a .JSONL file. You’ve just taken the first step toward building a more structured, reliable process for evaluating your agent’s responses! 🔁 Recap Here’s a quick rundown of what we covered: Evaluations help you measure quality and consistency in your agent’s responses. They’re useful for debugging, comparing, and iterating. Start early—even rough checks can guide better decisions. The AI Toolkit makes it easier to run and track evaluations right inside your workflow. 📺 Want to Go Deeper? Check out my previous live-stream for AgentHack: Evaluating Agents where I explore concepts and methodologies for evaluating generative AI applications. Although I focus on leveraging the Azure AI Evaluation SDK, it’s still an invaluable intro to learning more about evaluations. The Evaluate and Improve the Quality and Safety of your AI Applications lab from Microsoft Build 2025 provides a comprehensive self-guided introduction to getting started with evaluations. You’ll learn what each evaluator means, how to analyze the scores, and why observability matters—plus how to use telemetry data locally or in the cloud to assess and debug your app’s performance! 👉 Explore the lab: https://github.com/microsoft/BUILD25-LAB334/ And for all your general AI and AI agent questions, join us in the Azure AI Foundry Discord! You can find me hanging out there answering your questions about the AI Toolkit. I'm looking forward to chatting with you there! Whether you’re debugging a tool call, comparing prompt versions, or prepping for production, evaluations are how you turn responses from plausible to dependable.