Ship an AI agent without leaving your terminal

Microsoft Developer demonstrates an end-to-end workflow for building and shipping a hosted AI agent from the terminal using GitHub Copilot CLI and Microsoft Foundry, including planning, resource creation, model selection, evaluation-driven improvements, and a secure Azure Functions proxy to connect the agent to a website chat experience.

Overview

The video walks through going from an idea to a live, hosted AI agent without leaving the terminal. The scenario is a “Backer Concierge” for Tailspin Toys that:

Key links shared in the description:

Build an AI Game Concierge

The presenter builds an AI concierge agent for a toy/game catalog, focusing on a production-style workflow where the agent is hosted and then connected to a website.

Define the agent’s trust boundary

The workflow explicitly defines what the agent is allowed to answer from and how it should be constrained:

Plan with GitHub Copilot CLI

GitHub Copilot CLI is used from the terminal to:

The workflow is approval-driven: the developer approves each step before changes are applied.

Create Microsoft Foundry resources

The video shows creating the required Microsoft Foundry resources from the terminal, using Foundry and Azure skills via GitHub Copilot CLI.

Select and deploy a model

Copilot proposes a model, and the workflow includes selecting and deploying that model as part of the agent build-out.

Build the hosted agent

The agent is built as a hosted agent in Microsoft Foundry, with the concierge behavior and conversation memory.

Evaluate and improve responses

An evaluation set is used to catch issues in the agent’s responses. Copilot then helps fix what the evals detect, and the agent is iterated until it meets expectations.

Deploy the agent to Foundry

After improvements, the agent is deployed as a hosted agent in Foundry.

Build a secure Azure Functions proxy

The solution includes an Azure Functions-based proxy layer designed to:

Add the website chat widget

The hosted agent is wired into a website via a chat widget, using the Functions proxy as the backend connection point.

Review the complete solution

The video ends with a review of the full end-to-end setup: