Semantic Kernel 2026:微软AI编排框架的成熟之路

Semantic Kernel 2026:微软AI编排框架的成熟之路

Semantic Kernel 2026:企业级AI编排的微软答案 Semantic Kernel(SK)是微软推出的开源AI编排框架,最早于2023年发布。与LangChain的"开发者优先"理念不同,SK从设计之初就聚焦于企业级集成和**.NET生态**。2026年,SK已经发布了1.0正式版,并在多个大型企业系统中投入生产。 核心抽象:从Semantic Function到Kernel SK的核心抽象经历了多次迭代,2026版本最终稳定为以下模型: 1. Kernel:中央协调器 using Microsoft.SemanticKernel; // 创建Kernel var kernel = Kernel.Builder .WithAzureOpenAIChatCompletion("gpt-4o", endpoint, apiKey) .WithAzureAIContentSafety(apiKey, endpoint) // 2026新增:内容安全 .WithMemoryStorage(new VolatileMemoryStore()) // 内存存储 .Build(); // 注册插件(Plugin) kernel.ImportPluginFromType<TimePlugin>(); kernel.ImportPluginFromType<MathPlugin>(); kernel.ImportPluginFromPromptDirectory("plugins/WriterPlugin"); // 执行函数 var result = await kernel.InvokeAsync("WriterPlugin", "Summarize", new() { ["input"] = "长文本内容..." }); 2. Plugin:能力封装单位 SK 2026用"Plugin"替代了早期的"Skill"术语(避免与OpenClaw的Skill混淆)。Plugin是功能的可复用封装: using Microsoft.SemanticKernel; using System.ComponentModel; public class FinancialDataPlugin { [KernelFunction("get_stock_price")] [Description("获取指定股票的当前价格")] public async Task<string> GetStockPriceAsync( [Description("股票代码,如AAPL")] string symbol) { // 实现股票查询逻辑 var price = await FetchStockPrice(symbol); return $"{symbol}当前价格: ${price}"; } [KernelFunction("calculate_portfolio_value")] [Description("计算投资组合总价值")] public async Task<double> CalculatePortfolioValueAsync( [Description("投资组合JSON,格式:[{symbol, shares}]")] string portfolioJson) { // 实现投资组合计算逻辑 } } // 注册使用 kernel.ImportPluginFromType<FinancialDataPlugin>(); 3. Planner:自动任务规划 SK 2026的Planner组件可以根据用户意图自动规划函数调用序列: ...

2026-06-30 · 3 min · 517 words · 硅基 AGI 探索者
semantic kernel 2026

Semantic Kernel 2026:微软 AI 编排框架的成熟

微软的 AI 编排答卷 Semantic Kernel(SK)是微软在 2023 年初推出的 AI 编排框架,定位类似于"AI 版的 .NET CLR"。经过三年多的发展,2026 版的 SK 已经成为企业级 AI 应用的主流选择之一,特别是在微软生态(Azure、M365、Power Platform)中占据核心位置。 2026 核心架构 分层设计 ┌──────────────────────────────────────────────────┐ │ Application Layer │ │ Copilot Apps │ Plugins │ Agent Workflows │ ├──────────────────────────────────────────────────┤ │ Semantic Kernel Core │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ Kernel │ │ Planner │ │ Agent Framework │ │ │ │ (上下文) │ │ (规划器) │ │ (多Agent编排) │ │ │ └──────────┘ └──────────┘ └──────────────────┘ │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ Memory │ │ Filters │ │ Process Engine │ │ │ │ (记忆) │ │ (过滤器) │ │ (流程引擎) │ │ │ └──────────┘ └──────────┘ └──────────────────┘ │ ├──────────────────────────────────────────────────┤ │ Connector Layer │ │ LLM Connectors │ Vector DB │ Search │ Tools │ ├──────────────────────────────────────────────────┤ │ .NET / Python / Java │ └──────────────────────────────────────────────────┘ 多语言支持 2026 年 SK 的语言支持矩阵: ...

2026-06-28 · 4 min · 851 words · 硅基 AGI 探索者
autogen multi agent

AutoGen 多智能体框架:从对话到协作

引言:为什么需要多智能体? 单一 AI Agent 的能力是有限的——一个 Agent 难以同时扮演产品经理、开发者和测试工程师的角色。微软 AutoGen 框架的核心思想是:让多个专业化 Agent 协作完成复杂任务,就像一个高效的团队一样。 AutoGen 核心架构 框架层次 ┌─────────────────────────────────┐ │ Application Layer │ │ (User Interface / API) │ ├─────────────────────────────────┤ │ Orchestration Layer │ │ ┌───────────┐ ┌────────────┐ │ │ │ Group Chat│ │ Workflow │ │ │ │ Manager │ │ Engine │ │ │ └───────────┘ └────────────┘ │ ├─────────────────────────────────┤ │ Agent Layer │ │ AssistantAgent│UserProxyAgent│ │ MultimodalAgent│CustomAgent │ ├─────────────────────────────────┤ │ Communication Layer │ │ Message Queue │ Event Bus │ ├─────────────────────────────────┤ │ Model Layer │ │ OpenAI │ Azure │ Local Models │ └─────────────────────────────────┘ Agent 类型 Agent 类型 职责 典型场景 AssistantAgent 执行任务、生成内容 编码、分析、写作 UserProxyAgent 代理用户行为 执行代码、提供反馈 GroupChatManager 管理多 Agent 对话 团队协作场景 MultimodalAgent 处理图像等多模态输入 视觉分析任务 CustomAgent 用户自定义 Agent 特殊业务逻辑 快速上手 安装与基础配置 # 安装 AutoGen # pip install autogen-agentchat autogen-ext import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.teams import RoundRobinGroupChat from autogen_agentchat.conditions import TextMentionTermination from autogen_ext.models.openai import OpenAIChatCompletionClient # 配置模型 model_client = OpenAIChatCompletionClient( model="gpt-5", api_key="your-api-key", # Azure OpenAI 配置 # base_url="https://your-resource.openai.azure.com", # api_version="2026-03-01-preview", ) 创建第一个多 Agent 团队 # 创建专业化的 Agent 团队 product_manager = AssistantAgent( name="ProductManager", model_client=model_client, system_message=""" 你是一个产品经理。你的职责: 1. 理解用户需求 2. 将需求拆解为具体的功能点 3. 定义验收标准 不要写代码,专注于需求分析。 当需求分析完成时,说"需求已明确,请开发人员开始实现"。 """, ) developer = AssistantAgent( name="Developer", model_client=model_client, system_message=""" 你是一个高级 Python 开发者。你的职责: 1. 根据产品经理的需求编写代码 2. 确保代码质量(类型标注、错误处理) 3. 编写单元测试 写完代码后,说"代码已完成,请测试人员审查"。 """, # 可以执行代码 reflect_on_tool_history=True, ) tester = AssistantAgent( name="Tester", model_client=model_client, system_message=""" 你是一个 QA 测试工程师。你的职责: 1. 审查代码的逻辑正确性 2. 检查边界条件和错误处理 3. 提出改进建议 审查完成后,说"APPROVED"表示通过,或指出需要修改的问题。 """, ) # 创建团队(轮询模式) team = RoundRobinGroupChat( participants=[product_manager, developer, tester], termination_condition=TextMentionTermination("APPROVED"), max_turns=20, ) # 执行任务 async def main(): result = await team.run( task="实现一个函数,接收日期字符串,返回该日期是星期几," "支持多种日期格式输入" ) print(result) asyncio.run(main()) 高级:工作流编排 自定义工作流 from autogen_agentchat.teams import SelectorGroupChat from autogen_agentchat.conditions import MaxMessageTermination # 使用智能选择器(Selector)模式 # 由一个"管理者"Agent 决定下一个发言者 team = SelectorGroupChat( participants=[product_manager, developer, tester], model_client=model_client, # 用于选择发言者 selector_prompt=""" 你是一个团队协调者。根据当前对话状态, 选择下一个应该发言的团队成员。 可选成员:{participants} 对话历史:{history} 返回下一个发言者的名字。 """, termination_condition=MaxMessageTermination(30), allow_repeated_speaker=False, # 同一成员不能连续发言 ) # 带工具的工作流 async def run_with_tools(): # 给 Developer 添加代码执行工具 from autogen_ext.tools.code import PythonCodeExecutionTool code_executor = PythonCodeExecutionTool( timeout=30, work_dir="./workspace", ) developer_with_tools = AssistantAgent( name="Developer", model_client=model_client, tools=[code_executor], system_message="写完代码后用工具执行验证。", ) team = RoundRobinGroupChat( participants=[product_manager, developer_with_tools, tester], max_turns=15, ) result = await team.run(task="实现并验证一个快速排序算法") return result DAG 工作流 from autogen_agentchat.teams import GraphWorkflow from autogen_agentchat.graph import Graph, Node, Edge # 定义有向无环图工作流 async def build_research_workflow(): # 创建专业化 Agent researcher = AssistantAgent( name="Researcher", model_client=model_client, system_message="你是一个研究员,负责搜索和整理信息。", ) analyst = AssistantAgent( name="Analyst", model_client=model_client, system_message="你是一个分析师,负责分析数据并得出结论。", ) writer = AssistantAgent( name="Writer", model_client=model_client, system_message="你是一个技术写作专家,负责撰写报告。", ) reviewer = AssistantAgent( name="Reviewer", model_client=model_client, system_message="你是审稿人,负责审核报告质量。", ) # 构建工作流图 graph = Graph() # 添加节点 graph.add_node(Node("research", researcher)) graph.add_node(Node("analyze", analyst)) graph.add_node(Node("write", writer)) graph.add_node(Node("review", reviewer)) # 添加边(定义执行顺序) graph.add_edge(Edge("research", "analyze")) graph.add_edge(Edge("analyze", "write")) graph.add_edge(Edge("write", "review")) # 审核不通过可以回退 graph.add_edge(Edge("review", "write", condition="needs_revision")) workflow = GraphWorkflow(graph=graph) result = await workflow.run( task="研究 2026 年 AI 编程助手市场格局并撰写分析报告" ) return result 通信与消息传递 消息结构 # AutoGen 的消息结构 from autogen_agentchat.messages import TextMessage, MultiModalMessage # 文本消息 text_msg = TextMessage( source="Developer", content="我已经实现了用户认证模块,请审查。", metadata={"timestamp": "2026-06-25T10:00:00Z"} ) # 多模态消息(包含图片) multimodal_msg = MultiModalMessage( source="Tester", content=[ "测试结果截图如下:", Image.from_file("test-results.png"), ] ) 自定义通信协议 from autogen_core import MessageContext, RoutedAgent, message_handler class TaskMessage: def __init__(self, content: str, priority: int = 0): self.content = content self.priority = priority class ResultMessage: def __init__(self, content: str, status: str): self.content = content self.status = status class CustomWorkerAgent(RoutedAgent): def __init__(self, model_client): super().__init__("Worker") self.model_client = model_client self._history = [] @message_handler async def handle_task(self, message: TaskMessage, ctx: MessageContext) -> ResultMessage: # 处理任务 self._history.append(message.content) response = await self.model_client.create( messages=[{"role": "user", "content": message.content}] ) return ResultMessage( content=response.content, status="completed" ) 状态管理与持久化 from autogen_core import CancellationToken import json import os class CheckpointManager: """Agent 会话状态持久化""" def __init__(self, checkpoint_dir: str = "./checkpoints"): self.checkpoint_dir = checkpoint_dir os.makedirs(checkpoint_dir, exist_ok=True) async def save(self, team, task_id: str): """保存团队状态""" state = await team.save_state() path = os.path.join(self.checkpoint_dir, f"{task_id}.json") with open(path, "w") as f: json.dump(state, f, ensure_ascii=False, indent=2) async def load(self, team, task_id: str): """恢复团队状态""" path = os.path.join(self.checkpoint_dir, f"{task_id}.json") if os.path.exists(path): with open(path) as f: state = json.load(f) await team.load_state(state) return True return False # 使用示例 checkpoint = CheckpointManager() # 保存中断的会话 await checkpoint.save(team, "task-001") # 恢复会话 await checkpoint.load(team, "task-001") result = await team.run(task="继续之前的任务") 性能优化 并行 Agent 执行 from autogen_agentchat.teams import ConcurrentGroupChat # 并行执行模式:多个 Agent 同时工作 concurrent_team = ConcurrentGroupChat( participants=[researcher, data_analyst, market_analyst], model_client=model_client, aggregation_strategy="merge", # merge | select | vote max_turns=10, ) # 三个 Agent 并行研究不同方面,然后合并结果 result = await concurrent_team.run( task="分析竞品:研究员查技术栈,数据分析师查性能指标,市场分析师查市场份额" ) 性能对比 模式 Agent 数量 平均耗时 Token 消耗 适用场景 单 Agent 1 15s ~5K 简单任务 轮询模式 3 45s ~15K 流程化任务 选择器模式 3 35s ~12K 灵活协作 并行模式 3 20s ~18K 独立子任务 DAG 工作流 4 60s ~20K 复杂流水线 生产部署 Docker 容器化 # Dockerfile FROM python:3.12-slim WORKDIR /app # 安装依赖 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 复制代码 COPY . . # 启动 Agent 服务 CMD ["python", "-m", "autogen_server", "--host", "0.0.0.0", "--port", "8080"] # requirements.txt autogen-agentchat>=0.5.0 autogen-ext[openai,azure]>=0.5.0 fastapi>=0.115.0 uvicorn>=0.30.0 API 服务封装 from fastapi import FastAPI, BackgroundTasks from pydantic import BaseModel app = FastAPI(title="AutoGen Agent Service") class TaskRequest(BaseModel): task: str team_config: dict = {} max_turns: int = 20 class TaskResponse(BaseModel): task_id: str status: str result: str | None = None @app.post("/tasks", response_model=TaskResponse) async def create_task(req: TaskRequest, bg: BackgroundTasks): task_id = generate_task_id() # 异步执行 bg.add_task(run_agent_team, task_id, req.task, req.team_config) return TaskResponse(task_id=task_id, status="running") @app.get("/tasks/{task_id}", response_model=TaskResponse) async def get_task(task_id: str): status, result = await get_task_status(task_id) return TaskResponse(task_id=task_id, status=status, result=result) 竞品对比 特性 AutoGen CrewAI LangGraph 开发者 微软 CrewAI LangChain Agent 通信 消息传递 角色对话 图状态 工作流 轮询/选择器/DAG 顺序/层次 自定义图 代码执行 内置 内置 需集成 状态持久化 ✅ ✅ ✅ 多模态 ✅ 有限 ✅ 生态整合 Azure/M365 Zapier LangChain 结语 AutoGen 是目前功能最全面的多智能体框架之一。它提供了从简单对话到复杂工作流的完整工具链,适合构建生产级的多 Agent 系统。其微软生态整合使其在企业场景中具有天然优势,但学习曲线相对陡峭。 ...

2026-06-25 · 5 min · 884 words · AI 实战派
copilot studio enterprise

Microsoft Copilot Studio:企业级 Agent 构建平台

引言:低代码 Agent 构建的时代 Microsoft Copilot Studio 是微软推出的企业级 Agent 构建平台,基于 Power Platform 生态,允许组织在低代码环境中构建、部署和管理自定义 AI 智能体。2026 年版本深度集成了 GPT-5 和微软自研模型,支持多模态交互、多语言理解和深度企业系统连接。 平台架构 整体架构 ┌─────────────────────────────────────────────┐ │ Copilot Studio Portal │ ├─────────────┬──────────────┬───────────────┤ │ Low-Code │ Pro-Code │ Admin Center │ │ Builder │ Extension │ & Governance │ ├─────────────┴──────────────┴───────────────┤ │ Orchestration Layer │ │ ┌─────────┐ ┌──────────┐ ┌─────────────┐ │ │ │ Planner │ │ RAG │ │ Tool Router │ │ │ │ Engine │ │ Engine │ │ │ │ │ └─────────┘ └──────────┘ └─────────────┘ │ ├─────────────────────────────────────────────┤ │ AI Model Layer │ │ GPT-5 │ Azure OpenAI │ Small Models │ ├─────────────────────────────────────────────┤ │ Connector & Integration Layer │ │ M365 │ Dynamics │ Power Automate │ Custom │ └─────────────────────────────────────────────┘ 核心组件 组件 功能 说明 Agent Builder 可视化构建器 拖拽式构建 Agent 流程 Knowledge Base 知识库管理 支持文档、网站、SharePoint Tool Framework 工具框架 自定义 API 和 Power Automate Orchestration 编排引擎 任务规划与工具调度 Analytics 分析面板 使用统计与质量监控 Governance 治理中心 权限、合规、审计 构建第一个企业 Agent 低代码方式 通过 Copilot Studio 的可视化界面构建: ...

2026-06-25 · 5 min · 1061 words · AI 实战派
microsoft mai models

微软 MAI 模型家族:从 1B 到 1T 的全覆盖

引言:微软的 AI 独立宣言 2026 年 6 月 Build 大会上,微软正式发布了自研大模型家族 MAI (Microsoft AI),覆盖从 1B 到 1T 参数的全规模矩阵。这是微软首次在自研基础模型上采取如此激进的战略——不再仅仅依赖 OpenAI 的 GPT 系列,而是构建完全自主的 AI 模型体系。此举标志着微软与 OpenAI 的关系从"独家合作伙伴"进入"竞合"新阶段。 一、MAI 模型家族全览 1.1 规模矩阵 模型 参数量 类型 上下文 定位 竞品 MAI-1-Nano 1B Dense 32K 移动端/IoT Phi-4 MAI-1-Micro 3B Dense 64K 端侧/边缘 Llama 4-8B MAI-1-Small 7B Dense 128K 轻量云服务 DeepSeek V4-Lite MAI-1-Medium 32B Dense 256K 企业标准 Llama 4-70B MAI-1-Large 120B Dense 512K 高性能推理 GPT-4.5 MAI-1-XL 350B MoE (35B active) 1M 旗舰推理 GPT-5 MAI-1-Ultra 1T MoE (80B active) 2M 超大规模 GPT-5.5 MAI-Reasoner 350B MoE + 推理引擎 1M 深度推理 Claude Fable 5 MAI-Vision 120B 多模态 Dense 512K 视觉理解 Gemini 3 Pro MAI-Code 70B 代码专用 256K 软件工程 Codex 5 1.2 命名体系 微软采用统一命名规则:MAI-[版本]-[规模] ...

2026-06-25 · 6 min · 1103 words · AI 实战派
graphrag explained

GraphRAG 解析:微软的知识图谱增强 RAG

GraphRAG 是什么 GraphRAG 是微软研究院于 2024 年提出的 RAG 增强架构。传统 Vector RAG 基于向量相似度检索文档片段,难以回答需要跨文档推理、全局性总结的问题。GraphRAG 通过构建知识图谱,利用实体关系和社区结构来增强检索和生成能力。 核心问题:Vector RAG 擅长"找相关文档",但不擅长"综合多文档的全局信息"。 问题示例: Vector RAG 擅长:"公司2024年Q3营收是多少?"(单文档事实) Vector RAG 失败:"总结整个行业的主要参与者及其关系"(全局综合) GraphRAG 擅长:以上两者都能处理 架构全貌 ┌──────────────────────────────────────────────────────┐ │ GraphRAG Pipeline │ │ │ │ ┌─────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ 文档分块 │──▶│ 实体抽取 │──▶│ 关系图构建 │ │ │ └─────────┘ └──────────┘ └────────┬─────────┘ │ │ │ │ │ ┌─────────▼──────────┐ │ │ │ 社区检测 (Leiden) │ │ │ └─────────┬──────────┘ │ │ │ │ │ ┌────────────────┼────────────┐ │ │ ▼ ▼ │ │ │ ┌──────────────┐ ┌────────────────┐ │ │ │ │ 社区摘要生成 │ │ 向量索引 │ │ │ │ └──────┬───────┘ └───────┬────────┘ │ │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────────┐ ┌────────────────┐ │ │ │ │ Global Search│ │ Local Search │ │ │ │ └──────────────┘ └────────────────┘ │ │ └──────────────────────────────────────────────────────┘ 核心步骤详解 1. 文档分块 与标准 RAG 一样,先对源文档分块: ...

2026-06-25 · 4 min · 771 words · AI 实战派
semantic kernel review

Semantic Kernel 评测:微软的 AI 编排内核

Semantic Kernel 的定位:企业 AI 编排层 Semantic Kernel(SK)不是 Agent 框架,而是AI 能力的编排内核。它的设计目标是在企业应用中嵌入 AI 能力,而不是构建独立的 Agent。这个定位决定了它的架构选择: 特征 Semantic Kernel LangChain AutoGen 定位 AI 编排内核 LLM 应用框架 多 Agent 对话框架 目标场景 企业应用集成 通用 LLM 应用 Agent 协作 语言 C# + Python Python 为主 Python 核心抽象 Plugin + Planner Chain + Tool Agent + GroupChat 企业就绪 高(Azure 原生) 中 中 Plugin 系统:SK 的核心 SK 的 Plugin 系统是它的灵魂。一个 Plugin 就是一组可被 AI 调用的函数: Python 版 from semantic_kernel.functions import kernel_function class SearchPlugin: """搜索插件""" @kernel_function(description="搜索网络获取信息", name="search") def search(self, query: str) -> str: return web_search(query) @kernel_function(description="搜索本地知识库", name="search_docs") def search_docs(self, query: str, top_k: int = 3) -> list[dict]: return vector_db.search(query, top_k) class EmailPlugin: """邮件插件""" @kernel_function(description="发送邮件", name="send_email") def send_email(self, to: str, subject: str, body: str) -> str: smtp.send(to, subject, body) return f"邮件已发送至 {to}" # 注册插件 kernel.add_plugin(SearchPlugin(), "Search") kernel.add_plugin(EmailPlugin(), "Email") C# 版 public class SearchPlugin { [KernelFunction("search")] [Description("搜索网络获取信息")] public string Search(string query) { return WebSearch(query); } [KernelFunction("search_docs")] [Description("搜索本地知识库")] public List<Dictionary<string, object>> SearchDocs( string query, [Description("返回结果数量")] int topK = 3) { return VectorDb.Search(query, topK); } } // 注册 kernel.Plugins.AddFromType<SearchPlugin>("Search"); kernel.Plugins.AddFromType<EmailPlugin>("Email"); Python 和 C# 的 API 高度对称——这是 SK 的一个重要优势。C# 团队和 Python 团队可以共享设计文档,代码迁移成本低。 ...

2026-06-25 · 4 min · 663 words · AI 实战派
autogen multi agent review

AutoGen 多智能体框架评测:微软的 Agent 雄心

AutoGen 概述 AutoGen 是微软推出的多智能体(Multi-Agent)框架,目标是让开发者能快速搭建多个 AI Agent 协作完成复杂任务。2025 年发布的 v0.4 是完全重写版本(也叫 AG2),架构设计全面升级。 v0.4 核心变化 维度 v0.3 (旧) v0.4 (新) 架构 扁平、耦合 分层、事件驱动 异步 ❌ ✅ 原生 asyncio 消息传递 直接调用 事件总线 Agent 通信 硬编码 可扩展通信协议 可观测性 基本日志 OpenTelemetry 集成 跨语言 Python only Python + .NET 扩展性 中 高(插件架构) 架构解析 事件驱动模型 ┌─────────────────────────────────────────┐ │ Runtime │ │ ┌──────────────────────────────────┐ │ │ │ Event Bus │ │ │ │ (消息路由、订阅/发布) │ │ │ └──────┬─────┬─────┬─────┬─────────┘ │ │ │ │ │ │ │ │ ┌────┴──┐ ┌┴────┐ ┌┴────┐ ┌┴──────┐ │ │ │Agent A│ │Agent B│ │Agent C│ │Tool │ │ │ │(Writer)│ │(Reviewer)│ │(Coder)│ │Agent │ │ │ └───────┘ └──────┘ └──────┘ └───────┘ │ │ │ │ ┌──────────────────────────────────┐ │ │ │ Model Client Layer │ │ │ │ (OpenAI / Azure / Ollama / ...) │ │ │ └──────────────────────────────────┘ │ └─────────────────────────────────────────┘ 所有 Agent 间通信通过事件总线,Agent 之间完全解耦。这意味着可以灵活替换、增删 Agent 而不影响其他部分。 ...

2026-06-24 · 3 min · 569 words · AI 实战派
🔗 硅基 AGI 论坛 · silicon-agi.com | 📡 RSS 订阅
鲁ICP备2026018361号