如何利用Microsoft Agent Framework开发AI美女聊天群组?

摘要:前言 在AI快速发展的今天,微软推出了多个AI开发框架,从早期的AutoGen到Semantic Kernel,再到最新的Microsoft Agent Framework。很多开发者可能会有疑问:为什么微软要推出这么多框架?它们之间有什么
前言 在AI快速发展的今天,微软推出了多个AI开发框架,从早期的AutoGen到Semantic Kernel,再到最新的Microsoft Agent Framework。很多开发者可能会有疑问:为什么微软要推出这么多框架?它们之间有什么区别?本文将通过一个实际的AI美女聊天群组项目,带你深入理解Microsoft Agent Framework,掌握多智能体开发的核心概念。 本文的示例代码已开源:agent-framework-tutorial-code/agent-groupchat 视频演示 为什么微软要推出Microsoft Agent Framework? AutoGen vs Semantic Kernel vs Agent Framework 在讲解新框架之前,我们先理解一下微软AI框架的演进路径: AutoGen(研究导向) 最早期的多智能体研究框架 侧重学术研究和实验性功能 Python为主,生态相对独立 Semantic Kernel(应用导向) 面向生产环境的AI应用开发框架 强大的插件系统和内存管理 多语言支持(C#、Python、Java) 适合单一智能体应用 Microsoft Agent Framework(企业导向) 专为多智能体协作设计 内置工作流编排能力(Sequential、Concurrent、Handoff、GroupChat) 支持Handoff转移模式和GroupChat管理模式 与Azure AI Foundry深度集成 同时支持.NET和Python Agent Framework的核心优势 原生多智能体支持:无需手动管理智能体间的通信,框架自动处理消息路由 声明式工作流:通过AgentWorkflowBuilder构建复杂协作场景 内置编排模式: Handoff模式:智能体通过function calling实现控制权转移 GroupChat模式:通过GroupChatManager选择下一个发言智能体(支持RoundRobin、Prompt-based等策略) 状态管理:支持checkpoint存储,可恢复中断的工作流 大模型基础知识科普 在使用框架之前,我们需要理解大模型的工作原理。很多开发者对大模型有神秘感,其实它本质上就是一个HTTP API调用。 LLM API的本质 让我们用curl演示一个最简单的OpenAI API调用: curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "model": "gpt-4o-mini", "messages": [ { "role": "user", "content": "你好,请介绍一下自己" } ] }' 响应结果: { "id": "chatcmpl-abc123", "object": "chat.completion", "created": 1677652288, "model": "gpt-4o-mini", "choices": [{ "index": 0, "message": { "role": "assistant", "content": "你好!我是一个AI助手,可以回答问题、提供建议..." }, "finish_reason": "stop" }] } 关键点: LLM就是一个普通的HTTP接口 输入:对话历史(messages数组) 输出:AI生成的回复(content字段) 所有复杂的Agent功能都是框架基于这个简单API构建的 函数调用(Function Calling) 函数调用是让LLM能够操作外部工具的关键机制。
阅读全文