Microsoft Agent Framework(MAF) - 如何将workflow或者A2A client转换成一个AI Agent

1. 简单介绍

当前AI Agent已经广泛存在于各个公司或组织。业务用户和专业开发者都可以进行agent的创建。不同领域的用户创建AI Agent的方式可能不同。业务用户可能倾向于low-code 和 no-code的方式,专业开发者可以使用pro-code的方式进行创建。针对low-code,微软提供了Agent Builder;针对low-code,微软提供了Copilot Studio;针对pro-code,微软提供了Microsoft Agent Framework(简称MAF)和M365 Agent SDK。同时为了对组织内的AI Agent(包含shadow agent)进行更好地管控,微软还提供了Microsoft Agent 365平台。

这篇文章还是有关Microsoft Agent Framework方面的。这次打算尝试一下将workflow或者A2A(Agent to Agent) client转换成AI Agent。

2.具体说明

这次试验中使用的大模型来自Github models中的deepseek/DeepSeek-V3-0324。使用Microsoft Agent Framework来创建AI Agent和agentic workflow的。

2.1 Workflow as AI Agent

假定已经存在一个translationworkflow,可以将输入依次翻译成英文,法文,西班牙文,中文。

MAF中为workflow提供了一个拓展方法 AsAIAgent,

复制代码
public static AIAgent AsAIAgent(this Workflow workflow, string? id = null, string? name = null, string? description = null, IWorkflowExecutionEnvironment? executionEnvironment = null, bool includeExceptionDetails = false, bool includeWorkflowOutputsInResponse = false)
{
	return new WorkflowHostAgent(workflow, id, name, description, executionEnvironment, includeExceptionDetails, includeWorkflowOutputsInResponse);
}

下面是将workflow转换成AI Agent并执行的代码,

复制代码
var translationWorkflow 
	= new WorkflowBuilder(englishAgent)
		.AddEdge(englishAgent, frenchAgent)
		.AddEdge(frenchAgent, spanishAgent)
		.AddEdge(spanishAgent, chineseAgent)
		.Build();
var agent = translationWorkflow.AsAIAgent("translation-agent", "Translation workflow agent");
var session = await agent.CreateSessionAsync();

string? input = Console.ReadLine();
await ProcessTranslationAsync(agent, session, input);

执行一下,发现能够运行成功

2.2 A2A client as AI Agent

在A2A library中,也为IA2AClient提供了一个拓展方法,

复制代码
public static AIAgent AsAIAgent(this IA2AClient client, string? id = null, string? name = null, string? description = null, ILoggerFactory? loggerFactory = null)
{
	return new A2AAgent(client, id, name, description, loggerFactory);
}
  1. 假定已经存在一个A2A server,可以提供计算和天气查询服务,如下图所示,

note, A2A server可以基于v1版本来制作,相对于之前的v0.3,接口变化很大。这是一个breaking change。

  1. 制作一个A2A Client,并将其转换为AI Agent,代码如下,

    A2AClient a2aClient = new(new Uri("http://localhost:5226/calculator-agent/"));
    AIAgent agent = a2aClient.AsAIAgent(name: "calculator-agent", description: "A helpful calculator assistant which can help with calculations.");
    Console.WriteLine(await agent.RunAsync("Hello calculator! What is the result of 5 + 7?"));

上述代码中使用了AsAIAgent拓展方法,将A2AClient转换成AI Agent,

启动一下程序,发现能够正常运行,

3.总结

本文简单介绍了一下如何将Workflow和A2A client转换成AI Agent并执行AI Agent。这些都是基于Microsoft Agent Framework来实现的。2026年4月3号,微软发布了Microsoft Agent Framework 1.0。关于Microsoft Agent Framework的内容有很多,还需继续跟着微软老师们学习一下。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

相关推荐
一起学安全技术3 小时前
拆大模型 06|Prompt 工程不靠玄学:上下文要当程序写
人工智能·语言模型·prompt·aigc
七夜zippoe5 小时前
Agent 上线第一天就炸了:6 个生产事故的根因分析与修复记录
大数据·ai·agent·根因分析·修复记录
秋饼5 小时前
GPT-Live 全双工语音 API Java 服务端落地实战:事件协议、会话恢复与生产踩坑
java·ai·技术分享·后端开发
bst@微胖子5 小时前
SpringAI快速入门(7) RAG 实战(三):检索增强配置与重排序实战
ai
#六脉神剑5 小时前
myBuilder 11 月新版本:AI辅助设计
ide·人工智能·低代码·ai·mybuilder
Dawson Zhu9 小时前
【LLM推理与Serving⑨】业务模型推理引擎开发:以BEV自动驾驶为例的专用推理实践
人工智能·语言模型·架构·aigc·agi
codigger9 小时前
AI 把代码写得飞快,然后呢?聊聊我验收生成代码的一套流程
ai·程序员·编程·#人工智能
Rocky Ding*9 小时前
【三年面试五年模拟】2026-11-05_月之暗面大模型算法岗一面、二面面经全解析
论文阅读·人工智能·深度学习·机器学习·aigc·强化学习·ai-native
Jeff-Tsai10 小时前
Day 17:Connector 与调用端的职责收敛
.net·架构设计·erp·definition-driven
Dawson Zhu1 天前
【LLM推理与Serving⑪】MoE推理与MLA:DeepSeek-V3架构下的显存与通信权衡
人工智能·语言模型·架构·aigc·agi