mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
56b8307589
HandoffAgentExecutor synthesizes a 'Transferred.' tool-result update for each handoff function call. That update was created without setting ResponseId, so MessageMerger routed it to the global dangling bucket and flushed all such tool results at the very end of the merged AgentResponse, breaking per-step grouping for multi-step handoffs (see #4544). Streaming output already preserved order because updates are yielded directly without going through the merger. Fix: stamp the synthesized update with the same ResponseId as the preceding agent stream updates so it groups with the agent's other messages in MessageMerger. Also adds a regression test that drives the real workflow through WorkflowHostAgent.RunAsync over a 3-agent handoff chain and asserts the per-step message ordering of the merged response.
56b8307589
·
2026-05-28 11:48:24 +00:00
History
Get Started with Microsoft Agent Framework for C# Developers
Quickstart
Basic Agent - .NET
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using OpenAI.Responses;
var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!;
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME")!;
var agent = new AzureOpenAIClient(new Uri(endpoint), new AzureCliCredential())
.GetResponsesClient(deploymentName)
.AsAIAgent(name: "HaikuBot", instructions: "You are an upbeat assistant that writes beautifully.");
Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework."));
Examples & Samples
- Getting Started with Agents: basic agent creation and tool usage
- Agent Provider Samples: samples showing different agent providers
- Workflow Samples: advanced multi-agent patterns and workflow orchestration