Blog

  • Understand agent orchestration

    The Microsoft Agent Framework SDK’s agent orchestration framework makes it possible to design, manage, and scale complex multi-agent workflows without having to manually handle the details of agent coordination. Instead of relying on a single agent to manage every aspect of a task, you can combine multiple specialized agents. Each agent with a unique role or area of expertise can collaborate to create systems that are more robust, adaptive, and capable of solving real-world problems collaboratively.

    By orchestrating agents together, you can take on tasks that would be too complex for a single agent—from running parallel analyses, to building multi-stage processing pipelines, to managing dynamic, context-driven handoffs between experts.

    Why multi-agent orchestration matters

    Single-agent systems are often limited in scope, constrained by one set of instructions or a single model prompt. Multi-agent orchestration addresses this limitation by allowing you to:

    • Assign distinct skills, responsibilities, or perspectives to each agent.
    • Combine outputs from multiple agents to improve decision-making and accuracy.
    • Coordinate steps in a workflow so each agent’s work builds on the last.
    • Dynamically route control between agents based on context or rules.

    This approach opens the door to more flexible, efficient, and scalable solutions, especially for real-world applications that require collaboration, specialization, or redundancy.

    Supported orchestration patterns

    Microsoft Agent Framework provides several orchestration patterns directly in the SDK, each offering a different approach to coordinating agents. These patterns are designed to be technology-agnostic so you can adapt them to your own domain and integrate them into your existing systems.

    • Concurrent orchestration – Broadcast the same task to multiple agents at once and collect their results independently. Useful for parallel analysis, independent subtasks, or ensemble decision making.
    • Sequential orchestration – Pass the output from one agent to the next in a fixed order. Ideal for step-by-step workflows, pipelines, and progressive refinement.
    • Handoff orchestration – Dynamically transfer control between agents based on context or rules. Great for escalation, fallback, and expert routing where one agent works at a time.
    • Group chat orchestration – Coordinate a shared conversation among multiple agents (and optionally a human), managed by a chat manager that chooses who speaks next. Best for brainstorming, collaborative problem solving, and building consensus.
    • Magentic orchestration – A manager-driven approach that plans, delegates, and adapts across specialized agents. Suited to complex, open-ended problems where the solution path evolves.
    dynamics 365 field service training courses malaysia

  • Understand the Microsoft Agent Framework

    The Microsoft Agent Framework is an open-source SDK that enables developers to integrate AI models into their applications. This framework provides comprehensive support for creating AI-powered agents that can work independently or collaborate with other agents to accomplish complex tasks.

    What is the Microsoft Agent Framework?

    The Microsoft Agent Framework is designed to help developers build AI-powered agents that can process user inputs, make decisions, and execute tasks autonomously by leveraging large language models and traditional programming logic. The framework provides structured components for defining AI-driven workflows, enabling agents to interact with users, APIs, and external services seamlessly.

    Core concepts

    The Microsoft Agent Framework provides a flexible architecture with the following key components:

    • AgentsAgents are intelligent, AI-driven entities capable of reasoning and executing tasks. They use large language models, tools, and conversation history to make decisions dynamically and respond to user needs.
    • Agent orchestrationMultiple agents can collaborate towards a common goal using different orchestration patterns. The Microsoft Agent Framework supports several orchestration patterns with a unified interface for construction and invocation, allowing you to easily switch between patterns without rewriting your agent logic.

    The framework includes several core features that power agent functionality:

    • Chat clientsChat clients provide abstractions for connecting to AI services from different providers under a common interface. Supported providers include Azure OpenAI, OpenAI, Anthropic, and more through the BaseChatClient abstraction.
    • Tools and function integrationTools enable agents to extend their capabilities through custom functions and built-in services. Agents can automatically invoke tools to integrate with external APIs, execute code, search files, or access web information. The framework supports both custom function tools and built-in tools like Code Interpreter, File Search, and Web Search.
    • Conversation managementAgents can maintain conversation history across multiple interactions using AgentThread, allowing them to track previous interactions and adapt responses accordingly. The structured message system uses roles (USER, ASSISTANT, SYSTEM, TOOL) for persistent conversation context.
    dynamics 365 customer service training courses malaysia
  • How to use Azure AI Foundry Agent Service

    Azure AI Foundry Agent Service is a fully managed service designed to empower developers to securely build, deploy, and scale high-quality, extensible AI agents without needing to manage the underlying compute and storage resources. This unit covers the purpose, benefits, key features, and integration capabilities of Azure AI Foundry Agent Service.

    Purpose of Azure AI Foundry Agent Service

    The Foundry Agent Service allows developers to create AI agents tailored to their needs through custom instructions and advanced tools like code interpreters and custom functions. These agents can answer questions, perform actions, or automate workflows by combining generative AI models with tools that interact with real-world data sources. The service simplifies the development process by reducing the amount of code required and managing the underlying infrastructure.

    Previously, developers could create an agent-like experience by using standard APIs in Azure AI Foundry and connect to custom functions or other tools, but doing so would take a significant coding effort. Foundry Agent Service handles all of that for you through AI Foundry to build agents via the portal or in your own app in fewer than 50 lines of code. The exercise in the module explores both methods of building an agent.

    Foundry Agent Service is ideal for scenarios requiring advanced language models for workflow automation. It can be used to:

    • Answer questions using real-time or proprietary data sources.
    • Make decisions and perform actions based on user inputs.
    • Automate complex workflows by combining generative AI models with tools that interact with real-world data.

    For example, an AI agent can be created to generate reports, analyze data, or even interact with users through apps or chatbots, making it suitable for customer support, data analysis, and automated reporting.

    devops certification training courses malaysia
  • Examples of AI agent use cases

    AI agents have a wide range of applications across various industries. Here are some notable examples:

    Personal productivity agents

    Personal productivity agents assist individuals with daily tasks such as scheduling meetings, sending emails, and managing to-do lists. For instance, Microsoft 365 Copilot can help users draft documents, create presentations, and analyze data within the Microsoft Office suite.

    Research agents

    Research agents continuously monitor market trends, gather data, and generate reports. These agents can be used in financial services to track stock performance, in healthcare to stay updated with the latest medical research, or in marketing to analyze consumer behavior.

    Sales agents

    Sales agents automate lead generation and qualification processes. They can research potential leads, send personalized follow-up messages, and even schedule sales calls. This automation helps sales teams focus on closing deals rather than administrative tasks.

    Customer service agents

    Customer service agents handle routine inquiries, provide information, and resolve common issues. They can be integrated into chatbots on websites or messaging platforms, offering instant support to customers. For example, Cineplex uses an AI agent to process refund requests, significantly reducing handling time and improving customer satisfaction.

    Developer agents

    Developer agents help in software development tasks such as code review, bug fixing, and repository management. They can automatically update codebases, suggest improvements, and ensure that coding standards are maintained. GitHub Copilot is a great example of a developer agent.

    dell emc training courses malaysia
  • What is an AI agent

    An AI agent is a software service that uses generative AI to understand and perform tasks on behalf of a user or another program. These agents use advanced AI models to understand context, make decisions, utilize grounding data, and take actions to achieve specific goals. Unlike traditional applications, AI agents can operate independently, executing complex workflows and automating processes without the need of constant human intervention. The evolution of generative AI enables agents to behave intelligently on our behalf, transforming how we can use and integrate these agents.

    Understanding what an AI agent is and how to utilize them is crucial for effectively using AI to automate tasks, make informed decisions, and enhance user experiences. This knowledge enables organizations to deploy AI agents strategically, maximizing their potential to drive innovation, improve efficiency, and achieve business objectives.

    Why Are AI agents useful?

    AI agents are incredibly useful for several reasons:

    • Automation of Routine Tasks: AI agents can handle repetitive and mundane tasks, freeing up human workers to focus on more strategic and creative activities. This leads to increased productivity and efficiency.
    • Enhanced Decision-Making: By processing vast amounts of data and providing insights, AI agents support better decision-making. They can analyze trends, predict outcomes, and offer recommendations based on real-time data. AI Agents can even use advanced decision-making algorithms and machine learning models to analyze data and make informed decisions autonomously. This allows them to handle complex scenarios and provide actionable insights, whereas generative AI chat models primarily focus on generating text-based responses.
    • Scalability: AI agents can scale operations without the need for proportional increases in human resources. This is beneficial for businesses looking to grow without significantly increasing operational costs.
    • 24/7 Availability: Like all software, AI agents can operate continuously without breaks, ensuring that tasks are completed promptly and customer service is available around the clock.
    hadoop training courses malaysia

  • How to integrate custom tools

    Custom tools in an agent can be defined in a handful of ways, depending on what works best for your scenario. You may find that your company already has Azure Functions implemented for your agent to use, or a public OpenAPI specification gives your agent the functionality you’re looking for.

    Function Calling

    Function calling allows agents to execute predefined functions dynamically based on user input. This feature is ideal for scenarios where agents need to perform specific tasks, such as retrieving data or processing user queries, and can be done in code from within the agent. Your function may call out to other APIs to get additional information or initiate a program.

    Example: Defining and using a function

    Start by defining a function that the agent can call. For instance, here’s a fake snowfall tracking function:

    PythonCopy

    import json
    
    def recent_snowfall(location: str) -> str:
        """
        Fetches recent snowfall totals for a given location.
        :param location: The city name.
        :return: Snowfall details as a JSON string.
        """
        mock_snow_data = {"Seattle": "0 inches", "Denver": "2 inches"}
        snow = mock_snow_data.get(location, "Data not available.")
        return json.dumps({"location": location, "snowfall": snow})
    
    user_functions: Set[Callable[..., Any]] = {
        recent_snowfall,
    }
    

    Register the function with your agent using the Azure AI SDK:

    PythonCopy

    # Initialize agent toolset with user functions
    functions = FunctionTool(user_functions)
    toolset = ToolSet()
    toolset.add(functions)
    agent_client.enable_auto_function_calls(toolset=toolset)
    
    # Create your agent with the toolset
    agent = agent_client.create_agent(
        model="gpt-4o-mini",
        name="snowfall-agent",
        instructions="You are a weather assistant tracking snowfall. Use the provided functions to answer questions.",
        toolset=toolset
    )
    

    The agent can now call recent_snowfall dynamically when it determines that the prompt requires information that can be retrieved by the function.

    Azure Functions

    Azure Functions provide serverless computing capabilities for real-time processing. This integration is ideal for event-driven workflows, enabling agents to respond to triggers such as HTTP requests or queue messages.

    Example: Using Azure Functions with a queue trigger

    First, develop and deploy your Azure Function. In this example, imagine we have a function in our Azure subscription to fetch the snowfall for a given location.

    When your Azure Function is in place, integrate add it to the agent definition as an Azure Function tool:

    PythonCopy

    storage_service_endpoint = "https://<your-storage>.queue.core.windows.net"
    
    azure_function_tool = AzureFunctionTool(
        name="get_snowfall",
        description="Get snowfall information using Azure Function",
        parameters={
                "type": "object",
                "properties": {
                    "location": {"type": "string", "description": "The location to check snowfall."},
                },
                "required": ["location"],
            },
        input_queue=AzureFunctionStorageQueue(
            queue_name="input",
            storage_service_endpoint=storage_service_endpoint,
        ),
        output_queue=AzureFunctionStorageQueue(
            queue_name="output",
            storage_service_endpoint=storage_service_endpoint,
        ),
    )
    
    agent = agent_client.create_agent(
        model=os.environ["MODEL_DEPLOYMENT_NAME"],
        name="azure-function-agent",
        instructions="You are a snowfall tracking agent. Use the provided Azure Function to fetch snowfall based on location.",
        tools=azure_function_tool.definitions,
    )
    citrix training courses malaysia
  • Options for implementing custom tools

    Azure AI Foundry Agent Service offers various custom tools that enhance the capabilities and efficiency of your AI agents. These tools allow for scalable interoperability with various applications, making it easier to integrate with existing infrastructure or web services.

    Custom tool options available in Azure AI Foundry Agent Service

    Azure AI services provide several custom tool options, including OpenAPI specified tools, Azure Functions, and function calling. These tools enable seamless integration with external APIs, event-driven applications, and custom functions.

    • Custom function: Function calling allows you to describe the structure of custom functions to an agent and return the functions that need to be called along with their arguments. The agent can dynamically identify appropriate functions based on their definitions. This feature is useful for integrating custom logic and workflows, in a selection of programming languages, into your AI agents.
    • Azure Functions: Azure Functions enable you to create intelligent, event-driven applications with minimal overhead. They support triggers and bindings, which simplify how your AI Agents interact with external systems and services. Triggers determine when a function executes, while bindings facilitate streamlined connections to input or output data sources.
    • OpenAPI specification tools: These tools allow you to connect your Azure AI Agent to an external API using an OpenAPI 3.0 specification. This provides standardized, automated, and scalable API integrations that enhance the capabilities of your agent. OpenAPI specifications describe HTTP APIs, enabling people to understand how an API works, generate client code, create tests, and apply design standards.
    • Azure Logic Apps: This action provides low-code/no-code solutions to add workflows and connects apps, data, and services with the low-code Logic App.
    citrix certification malaysia
  • Customer support automation

    • Scenario: A retail company integrates a custom tool that connects the Azure AI Agent to their customer relationship management (CRM) system.
    • Functionality: The AI agent can retrieve customer order histories, process refunds, and provide real-time updates on shipping statuses.
    • Outcome: Faster resolution of customer queries, reduced workload for support teams, and improved customer satisfaction.

    Inventory management

    • Scenario: A manufacturing company develops a custom tool to link the AI agent with their inventory management system.
    • Functionality: The AI agent can check stock levels, predict restocking needs using historical data, and place orders with suppliers automatically.
    • Outcome: Streamlined inventory processes and optimized supply chain operations.

    Healthcare appointment scheduling

    • Scenario: A healthcare provider integrates a custom scheduling tool with the AI agent.
    • Functionality: The AI agent can access patient records, suggest available appointment slots, and send reminders to patients.
    • Outcome: Reduced administrative burden, improved patient experience, and better resource utilization.

    IT Helpdesk support

    • Scenario: An IT department develops a custom tool to integrate the AI agent with their ticketing and knowledge base systems.
    • Functionality: The AI agent can troubleshoot common technical issues, escalate complex problems, and track ticket statuses.
    • Outcome: Faster issue resolution, reduced downtime, and improved employee productivity.
    cisco certification training courses malaysia

  • Why use custom tools

    Azure AI Foundry Agent Service offers a powerful platform for integrating custom tools to enhance productivity and provide tailored solutions for specific business needs. By using these custom tools, businesses can achieve greater efficiency and effectiveness in their operations.

    Why use custom tools?

    Custom tools in Azure AI services can significantly enhance productivity by automating repetitive tasks and streamlining workflows that are specific to your use case. These tools improve accuracy by providing precise and consistent outputs, reducing the likelihood of human error. Additionally, custom tools offer tailored solutions that address specific business needs, enabling organizations to optimize their processes and achieve better outcomes.

    • Enhanced productivity: Automate repetitive tasks and streamline workflows.
    • Improved accuracy: Provide precise and consistent outputs, reducing human error.
    • Tailored solutions: Address specific business needs and optimize processes.

    Adding tools makes custom functionality available for the agent to use, depending on how it decides to respond to the user prompt. For example, consider how a custom tool to retrieve weather data from an external meteorological service could be used by an agent.

    Diagram showing an agent using a custom tool t call an external meteorological service.

    The diagram shows the process of an agent choosing to use the custom tool:

    1. A user asks an agent about the weather conditions in a ski resort.
    2. The agent determines that it has access to a tool that can use an API to get meteorological information, and calls it.
    3. The tool returns the weather report, and the agent informs the user.

    Common scenarios for custom tools in agents

    Custom tools within the Foundry Agent Service enable users to extend the capabilities of AI agents, tailoring them to meet specific business needs. Some example use cases that illustrate the versatility and impact of custom tools include:

    ccnp certification training courses malaysia

  • GitHub Copilot Large Language Models (LLMs)

    GitHub Copilot is powered by Large Language Models (LLMs) to assist you in writing code seamlessly. In this unit, we focus on understanding the integration and impact of LLMs in GitHub Copilot. Let’s review the following topics:

    • What are LLMs?
    • The role of LLMs in GitHub Copilot and prompting
    • Fine-tuning LLMs
    • LoRA fine-tuning

    What are LLMs?

    Large Language Models (LLMs) are artificial intelligence models designed and trained to understand, generate, and manipulate human language. These models are ingrained with the capability to handle a broad range of tasks involving text, thanks to the extensive amount of text data they’re trained on. Here are some core aspects to understand about LLMs:

    Volume of training data

    LLMs are exposed to vast amounts of text from diverse sources. This exposure equips them with a broad understanding of language, context, and intricacies involved in various forms of communication.

    Contextual understanding

    They excel in generating contextually relevant and coherent text. Their ability to understand context allows them to provide meaningful contributions, be it completing sentences, paragraphs, or even generating whole documents that are contextually apt.

    Machine learning and AI integration

    LLMs are grounded in machine learning and artificial intelligence principles. They’re neural networks with millions, or even billions, of parameters that are fine-tuned during the training process to understand and predict text effectively.

    Versatility

    These models aren’t limited to a specific type of text or language. They can be tailored and fine-tuned to perform specialized tasks, making them highly versatile and applicable across various domains and languages.

    ccie certification training courses malaysia