人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » 最新消息

AI Agent系列-什么是AI智能体,使用Semantic Kernel开发一个AI Agent

2025-06-29 8

AI Agent系列-什么是AI智能体,使用Semantic Kernel开发一个AI Agent

今年最热的技术除了LLM大语言模型外,AI Agent智能体成为下一个最热的技术发展热点。、

近期准备整理几篇AI智能体的博客,带着大家了解并学习AI 智能体的开发和应用。

一、什么是AI 智能体

AI智能体(AI Agent)是指一个由人工智能驱动的系统或程序,能够在一定的环境中自主感知、决策和执行任务,同时不断学习和优化自身行为。

智能体的目标是完成特定任务或解决问题,模拟或增强人类的智能活动。

核心特性

自主性:智能体可以独立完成任务,而不需要人类的实时干预。

感知能力:通过传感器(物理或虚拟),获取环境中的信息。

决策能力:根据感知到的信息,分析情况并制定行动计划。

执行能力:实施决策,改变自身或环境状态。

学习能力:通过与环境的交互不断优化决策和行为。

组成部分

感知模块:采集数据,例如通过摄像头、麦克风、API接口等获取外界信息。

决策模块:利用算法或规则制定行动策略。

执行模块:实施决策,例如控制机器人动作或生成文本回复。

学习模块:通过机器学习或深度学习模型改进未来的行为。

物理智能体:例如机器人、无人机、自动驾驶汽车,它们存在于现实世界中,与物理环境交互。

虚拟智能体:例如聊天机器人、智能客服、游戏中的NPC(非玩家角色),它们存在于数字或虚拟环境中。

应用领域

自动驾驶:自动驾驶汽车利用智能体感知道路状况,做出驾驶决策。

智能客服:通过自然语言处理技术与用户交流,解决问题或提供服务。

游戏开发:NPC智能体增强了游戏的互动性和挑战性。

金融分析:智能体可以根据市场数据提供投资建议或进行风险评估。

通俗理解

AI智能体就像是一个有“眼睛”“大脑”和“手脚”的虚拟助手。它能看(感知)、想(决策)、做(执行),并且能从错误中学习,让自己变得更聪明。无论是帮助你回答问题、完成任务,还是自动驾驶和导航,它都可以独立完成,而不需要你时时刻刻指导它。

二、使用Microsoft Semantic Kernel开发AI Agent

Semantic Kernel 是一个软件开发工具包(SDK),用于将大型语言模型(LLM),如 OpenAI、Azure OpenAI 和 Hugging Face,与传统编程语言(如 C#、Python 和 Java)集成。

它通过定义插件,并以几行代码将它们串联在一起,实现这一点。

Semantic Kernel 的独特之处在于其能够利用人工智能自动协调插件。通过 Semantic Kernel 的计划器,可以请求 LLM 生成一个实现用户特定目标的计划,然后由 Semantic Kernel 为用户执行该计划。

它提供了以下功能:

AI 服务的抽象(如聊天、文本转图像、音频转文本等)和内存存储。

针对 OpenAI、Azure OpenAI、Hugging Face、本地模型等服务的这些抽象的实现,以及针对众多向量数据库(如 Chroma、Qdrant、Milvus 和 Azure)的实现。

插件的通用表示形式,之后可由 AI 自动协调。

从多种来源创建此类插件的能力,包括 OpenAPI 规范、提示和用目标语言编写的任意代码。

对提示管理和渲染的可扩展支持,包括对 Handlebars 和 Liquid 等常见格式的内置处理。

基于这些抽象的丰富功能,例如负责任的 AI 过滤器、依赖注入集成等。

由于其灵活性、模块化和可观察性,Semantic Kernel 被企业广泛使用。它具备增强安全性的功能,如遥测支持,以及挂钩和过滤器,能够大规模提供负责任的 AI 解决方案。

三、详细开发流程

1. 安装和配置 Semantic Kernel

安装 SDK:通过 NuGet 或 pip 安装 Semantic Kernel 的库。

配置 API:将 OpenAI、Azure OpenAI 或其他 LLM API 集成到项目中。

var kernel = Kernel.Builder

.WithOpenAIChatCompletionService("gpt-4", "YOUR_API_KEY", "https://api.openai.com/v1/")

.Build();

2. 定义功能插件

插件类型:插件可以是用提示(Prompts)、代码函数,或 OpenAPI 规范定义的功能模块。

创建插件:插件可以封装不同的任务,例如处理文本、执行计算、或与外部服务交互。

示例(简单文本生成插件):

var textPlugin = kernel.CreateSemanticFunction("What's your goal? Summarize the following: {{input}}");

3. 编排和组合插件

单一任务执行:直接调用一个插件完成任务。

任务链式执行:通过 Semantic Kernel 的“计划器”自动将多个插件组合起来完成复杂任务。

示例(任务链式执行):

var planner = kernel.ImportPlannerPlugin();

var plan = await planner.CreatePlanAsync("Summarize a long document and translate it into French.");

var result = await kernel.RunAsync(plan, new ContextVariables("Input text here."));

Console.WriteLine(result.Result);

4. 集成内存功能

记忆用户上下文:Semantic Kernel 提供内存存储支持,可以将数据保存到向量数据库中(如 Chroma、Milvus)。

查询历史记录:通过语义查询,智能体可以动态访问存储的上下文信息。

示例(内存集成):

kernel.ImportMemoryPlugin();

await kernel.Memory.SaveInformationAsync("userData", "User's preference for French summaries.");

5. 扩展和优化

自定义 Prompt 模板:支持 Handlebars 和 Liquid 模板格式,轻松管理复杂的提示。

安全性和责任感:启用遥测和过滤器,确保解决方案符合企业要求。

多模型支持:切换到新的 LLM 模型(例如 GPT-4、Claude)时,只需替换 API,而无需改动代码。

四、示例应用:多功能 AI Agent

目标:开发一个 AI Agent,具备以下能力:

分析并总结输入文本。

将总结翻译成用户指定语言。

保存用户偏好到内存中。

完整代码示例(C#):

using Microsoft.SemanticKernel;

class Program

static async Task Main(string[] args)

// 初始化 Semantic Kernel

var kernel = Kernel.Builder

.WithOpenAIChatCompletionService("gpt-4", "YOUR_API_KEY", "https://api.openai.com/v1/")

.Build();

// 定义插件

var summarizer = kernel.CreateSemanticFunction("Summarize the following: {{input}}");

var translator = kernel.CreateSemanticFunction("Translate to {{language}}: {{input}}");

// 用户输入

string inputText = "Semantic Kernel is a framework for integrating LLMs into apps.";

string targetLanguage = "French";

// 执行任务

var summary = await kernel.RunAsync(summarizer, new ContextVariables(inputText));

var translatedText = await kernel.RunAsync(translator, new ContextVariables(summary.Result)

["language"] = targetLanguage

});

// 保存用户偏好到内存 kernel.ImportMemoryPlugin();

await kernel.Memory.SaveInformationAsync("userPreferences", $"Preferred language: {targetLanguage}");

// 输出结果

Console.WriteLine("Summa

ry: " + summary.Result);

Console.WriteLine("Translation: " + translatedText.Result);

原文链接:https://blog.csdn.net/weixin_55010563/article/details/144814664?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522d174d2df71c2e48b52f42a3573e3eba0%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=d174d2df71c2e48b52f42a3573e3eba0&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-22-144814664-null-null.nonecase&utm_term=AI+AIAgent

相关推荐

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部