Semantic Kernel的企业级AI集成:插件系统与规划器的协同工作机制
Semantic Kernel的企业级AI集成插件系统与规划器的协同工作机制微软的Semantic KernelSK是一个将LLM能力集成到企业应用中的轻量级SDK。其核心设计——插件系统Plugin System和规划器Planner——分别解决了如何让LLM安全调用企业服务和如何自动编排多步骤AI工作流两个关键问题。本文从架构层面分析SK的插件注册与依赖注入机制、规划器的Function Calling触发流程并通过一个跨系统的工单自动处理场景展示两者在实际企业环境中的协同工作模式。一、插件系统的依赖注入架构Semantic Kernel的插件系统建立在.NET依赖注入容器之上。每个插件是一个实现了特定接口的类其公开方法通过[KernelFunction]特性标注方法的参数通过[Description]特性向LLM暴露语义描述。插件注册的关键机制是自动函数描述生成SK在运行时通过反射读取每个[KernelFunction]方法的签名、参数类型和[Description]特性将其转换为LLM可理解的JSON Schema格式OpenAPI Function Calling规范。这使得LLM能够理解每个插件方法的功能、输入参数和返回值从而在适当的时机自主决定调用哪个方法。这一设计与传统的RPC/REST API集成有本质区别传统的API集成需要开发者预先编写调用逻辑如果用户想查订单就调用getOrder接口而SK将调用决策权部分交给LLM语义内核会基于用户意图自动选择最匹配的插件方法。二、规划器的工作机制规划器Planner是SK中负责将用户意图分解为多步骤执行计划的组件。其核心流程为意图分析→计划生成→步骤执行→中间结果传递→异常回退规划器与简单的Function Calling链的区别在于它不是线性地调用一个工具后结束而是能够生成包含条件分支、循环和错误恢复的多步骤计划。例如帮我汇总过去一周所有P1级别的工单发送给运维主管这一请求需要分解为查询工单→筛选P1→汇总统计→查找运维主管邮箱→发送邮件五个步骤。// Semantic Kernel 插件定义与规划器使用的示例C# // 展示企业场景中多个插件的协作模式 using Microsoft.SemanticKernel; public class TicketPlugin { private readonly ITicketRepository _repository; public TicketPlugin(ITicketRepository repository) { _repository repository; } [KernelFunction(query_tickets)] [Description(查询工单列表。支持按优先级、状态和时间范围过滤。)] [return: Description(符合条件的工单列表JSON 数组格式)] public async Taskstring QueryTicketsAsync( [Description(优先级过滤可选值P0/P1/P2/P3逗号分隔)] string priority, [Description(开始日期格式 yyyy-MM-dd)] string startDate, [Description(结束日期格式 yyyy-MM-dd)] string endDate ) { var tickets await _repository.QueryAsync( priority: priority, start: DateTime.Parse(startDate), end: DateTime.Parse(endDate) ); return JsonSerializer.Serialize(tickets); } [KernelFunction(summarize_tickets)] [Description(对工单列表进行汇总统计返回各优先级的数量和平均处理时长。)] [return: Description(工单汇总统计结果的 Markdown 格式文本)] public string SummarizeTickets( [Description(工单列表的 JSON 数组字符串)] string ticketsJson ) { var tickets JsonSerializer.DeserializeListTicket(ticketsJson); var summary tickets .GroupBy(t t.Priority) .Select(g new { Priority g.Key, Count g.Count(), AvgHours g.Average(t (t.ResolvedAt - t.CreatedAt).TotalHours) }); return MarkdownGenerator.GenerateTable(summary); } }三、跨系统协同场景的完整实现以智能工单处理为场景系统需要在三个企业的独立服务Jira工单系统、企业通讯录、邮件服务之间进行编排。SK的插件系统将每个服务封装为独立插件规划器负责跨插件的工作流编排。# Semantic Kernel Python SDK 的规划器配置示例 import semantic_kernel as sk from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion from semantic_kernel.planners import SequentialPlanner async def build_ticket_workflow(): 构建工单处理的 SK 工作流。 展示多插件工单、通讯录、邮件的协作模式。 # 初始化内核配置 LLM 后端 kernel sk.Kernel() kernel.add_service( OpenAIChatCompletion( service_idgpt-4o, ai_model_idgpt-4o, api_key..., # 实际使用环境变量或密钥管理服务 ) ) # 注册三个企业服务插件 # 每个插件封装了对应服务的认证和 API 调用逻辑 kernel.import_plugin_from_object( TicketPlugin(repository), plugin_nameticket ) kernel.import_plugin_from_object( ContactsPlugin(ldap_client), plugin_namecontacts ) kernel.import_plugin_from_object( EmailPlugin(smtp_client), plugin_nameemail ) # 配置规划器允许最多 10 个步骤避免无限循环 planner SequentialPlanner( kernel, configsk.SequentialPlannerConfig( max_steps10, # 允许 LLM 在计划执行中根据中间结果调整后续步骤 allow_missing_functionsFalse ) ) # 用户自然语言输入触发规划 user_request ( 汇总上周所有 P1 及以上级别的工单 统计平均处理时长 将报告发送给运维主管 zhangweicompany.com ) plan await planner.create_plan(user_request) print(f生成的计划包含 {len(plan.steps)} 个步骤) for i, step in enumerate(plan.steps): print(f Step {i1}: {step.plugin_name}.{step.function_name}) # 执行计划 result await plan.invoke(kernel) return result四、企业部署中的安全边界设计将LLM接入企业内部系统时安全边界是首要考量。SK提供了多层防护机制调用权限白名单并非所有插件方法都对LLM可见。可以通过KernelFunction的可见性控制和插件的选择性导入确保敏感的数据库写入、文件删除等操作不会暴露给LLM。人工审批网关对于高风险操作如发送邮件、修改配置可以插入一个人工审批步骤。SK的规划器支持HITLHuman-in-the-Loop步骤——规划到某一步时暂停执行将操作摘要和参数发送给审批人审批通过后继续执行。参数约束验证在插件方法的实现中进行严格的参数校验确保LLM生成的参数值在安全范围内如邮件收件人必须在企业域内、日期范围不超过90天等。五、总结Semantic Kernel通过插件系统和规划器的协同为企业级AI集成提供了一套实用的架构方案。插件系统利用.NET依赖注入和反射机制将企业服务封装为LLM可理解的功能接口规划器通过自动生成的执行计划编排跨服务的多步骤工作流。安全边界的多层设计权限白名单、人工审批网关、参数约束验证确保LLM在企业环境中的可控性。这一架构代表了AI应用工程化的一个重要方向不是让LLM替代企业系统而是让它成为企业系统之间的智能编排层。

相关新闻

JCMsuite应用—单光子光源耦合至光纤

JCMsuite应用—单光子光源耦合至光纤

在本示例中,我们考虑将单个光子发射器耦合到光纤中。 有关系统和数值方法的详细信息,请参见参考文献[1]。单光子源由一个嵌入在砷化镓(GaAs)中制成的球形微透镜中的量子点(QD)组成。底层的布拉格多层结构将量子点发出的光反射回上半球。光被耦合到量子点…

2026/7/24 18:06:12阅读更多 →
MySQL高阶实战进阶,高频疑难面试题、生产隐性坑点、架构优化高阶方案全覆盖

MySQL高阶实战进阶,高频疑难面试题、生产隐性坑点、架构优化高阶方案全覆盖

0. 前言:告别基础,迈入MySQL高阶架构实战我们完成了MySQL基础原理、核心机制、调优实战、高可用架构的全体系入门与深耕,吃透了日常开发与面试的核心知识点。但在真实大厂面试、百万级并发架构、复杂线上故障场景中,仅掌握基础原理…

2026/7/24 18:06:12阅读更多 →
产线PLC上位机定制方案|Modbus数据采集系统解决车间数据盲区

产线PLC上位机定制方案|Modbus数据采集系统解决车间数据盲区

现阶段多数传统制造产线普遍存在数据盲区问题:设备独立运行、数据无法互通、生产状态不透明、产量与损耗靠人工统计。尤其是新旧设备混用的车间,不同品牌PLC设备通信不兼容,导致管理层无法实时掌握产线真实产能、设备状态、故障原因及耗材损耗…

2026/7/24 18:06:12阅读更多 →
海外算力部署方案推荐:OgCloud ICT帮你从0到1跑通全链路

海外算力部署方案推荐:OgCloud ICT帮你从0到1跑通全链路

我们复盘了过去几年服务过的出海企业,发现一个规律:海外算力部署准时交付率最高的团队,不是在设备采购上花钱最多的,而是在前期需求梳理上花时间最多的。反过来,预算充足但没提前理清机房、清关、组网方案的&#xff0…

2026/7/24 19:22:23阅读更多 →
企业海外算力部署哪家靠谱?2026主流服务商对比与推荐

企业海外算力部署哪家靠谱?2026主流服务商对比与推荐

一台GPU服务器从下单到海外机房通电,中间要经过采购对接、出口报关、国际运输、目的地清关、本地运输、机房上架、网络联调、运维接管——八个环节,任何一个掉链子,交付周期就翻倍。大多数企业的问题不是预算不够,是找不到一家能把…

2026/7/24 19:22:23阅读更多 →
C++ 基础内置数据类型列表

C++ 基础内置数据类型列表

1、bool 占用内存:1 字节 存储类型:无符号布尔类型 取值范围:false (0) 、true (非 0,逻辑上只有两个状态) 2、char 占用内存:1 字节 存储类型:实现定义(部分编译器 signed char、部分 unsigned…

2026/7/24 19:22:23阅读更多 →
Datadog Temper系统:AI智能体通用运行时架构与Claude Code集成实战

Datadog Temper系统:AI智能体通用运行时架构与Claude Code集成实战

最近在AI智能体开发领域,一个重要的技术突破引起了广泛关注——Datadog为Claude Code构建了名为"Temper"的通用机床运行时系统。这个创新方案解决了AI智能体开发中的核心痛点:如何让不同的AI模型和工具在统一的运行时环境中高效协作。本文将深…

2026/7/24 19:22:23阅读更多 →
产品创建支持试用开启,还能自动获取试用许可证,这软件太贴心!

产品创建支持试用开启,还能自动获取试用许可证,这软件太贴心!

产品试用功能全新升级 该软件在产品创建方面有了重要更新,现在支持开启试用功能,并且可以设置试用时长。这一功能让用户在购买产品前有机会充分体验其功能和性能,为购买决策提供更可靠的依据。 自动获取试用许可证,提升用户体验 除…

2026/7/24 19:22:23阅读更多 →
如何彻底解决Linux系统RTL8852BE驱动兼容性问题:实战架构解析与性能调优

如何彻底解决Linux系统RTL8852BE驱动兼容性问题:实战架构解析与性能调优

如何彻底解决Linux系统RTL8852BE驱动兼容性问题:实战架构解析与性能调优 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 在Linux系统中部署RTL8852BE Wi-Fi 6网卡驱动面临多重…

2026/7/24 19:20:23阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/24 19:00:40阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/24 19:00:40阅读更多 →