AgileAI - 一个新的 .NET AI 库

[复制链接]
发表于 2026-4-7 00:35:41 | 显示全部楼层 |阅读模式
AgileAI:在 SK、MAF 之外,我想做一个更顺手的 .NET AI 组件

如果把 .NET 生态里的 AI 组件放在一起看,各人最认识的通常还是 Semantic Kernel,客岁开始微软也在一连推进 Microsoft Agent Framework(MAF)。但在我本身的实践里,这条门路固然值得关注,却并不总是充足顺手:MAF 恒久带着比力显着的 preview / prerelease 色彩,而真正拿它去快速拼一个能跑、能扩展、还能继承往产物层走的东西,体验也没有我等候得那么轻。
于是我开始想:
在 .NET 天下里,除了 SK 和 MAF 之外,能不能有另一种更轻量、更直接、更恰当快速做 AI 应用和 Agent 的组件化方案?
这就是 AgileAI 的出发点。
对我来说,AgileAI 也是一次 AI 编程实验。整个项目重新到尾全部由 AI 完成,我本人没有手写一行代码。而它给出的答案是:可以,而且已经靠近能一连演进的水平。
AgileAI 是什么?

一句话说,AgileAI 是一个面向 .NET 的 AI SDK / Agent 组件,同时堆栈里还自带一个当地优先的 AI 工作台 AgileAI.Studio
懒的读笔墨的可以看视频

它大抵分成两层:
第一层:底层 SDK / Runtime

这一层紧张用来:

  • 快速接入差别 LLM
  • 管理对话和流式输出
  • 支持 Tool Calling
  • 管理 Session 恒久化
  • 支持 Skill
  • 提供 Agent Runtime
第二层:上层产物 AgileAI.Studio

这一层紧张负责:

  • 可视化管理模子毗连
  • 创建 Agent
  • 发起和生存对话
  • 审批当地工具实行
  • 展示工具/技能使用情况
  • 作为一个真正的当地 AI 工作台运行
换句话说,它既可以被当成一个 .NET AI 开发组件,也可以被当成一个 完备可运行的当地 AI 产物原型
AgileAI 能做什么?

如果只看效果,AgileAI 紧张做了两件事:
1)快速对接 LLM

AgileAI 当前支持的 Provider 包罗:

  • OpenAI Chat Completions
  • OpenAI-compatible Chat Completions
  • Azure OpenAI
  • OpenAI Responses API
  • Gemini
  • Claude
如果你在 .NET 里做 AI 应用,不想每换一个模子供应商就改一套代码,AgileAI 提供了一层同一抽象,让你可以用相对同等的方式发起哀求、处理处罚相应、接流式输出和工具调用。
它底层的焦点接口围绕这些概念构造:

  • IChatClient
  • IChatModelProvider
  • IChatSession
  • IAgentRuntime
这套抽象的意义,不光是“写得优雅”,而是实着实在地低落了切 Provider、切模子和做同一封装的资本。
2)快速打造 Agent

除了“调用模子”,AgileAI 更想办理的是“怎么快速搭一个 Agent”。
以是它在焦点层里内建了这些东西:

  • 多轮对话 ChatSession
  • 流式相应
  • Tool Calling
  • Session 恒久化
  • Skill 选择和一连
  • Middleware 风格的实行拦截
  • 当地工具注册与调用
它不是只办理“问模子一句话”,而是办理“让 Agent 真正运行起来”的那一层。
一个最简朴的使用示例

如果你想快速感受 AgileAI 的风格,可以看一个非常范例的用法:先注册 Provider,然后创建 ChatSession,末了直接发哀求。
下面这个例子来自文件体系工具 sample,挺能代表它的思绪:
  1. using AgileAI.Abstractions;
  2. using AgileAI.Core;
  3. using AgileAI.DependencyInjection;
  4. using AgileAI.Extensions.FileSystem;
  5. using AgileAI.Providers.OpenAICompatible.DependencyInjection;
  6. using Microsoft.Extensions.DependencyInjection;
  7. var services = new ServiceCollection();
  8. services.AddAgileAI();
  9. services.AddOpenAICompatibleProvider(options =>
  10. {
  11.     options.ProviderName = "openapi";
  12.     options.ApiKey = Environment.GetEnvironmentVariable("OPENAI_COMPATIBLE_API_KEY")!;
  13.     options.BaseUrl = Environment.GetEnvironmentVariable("OPENAI_COMPATIBLE_BASE_URL")!;
  14.     options.RelativePath = "chat/completions";
  15. });
  16. var serviceProvider = services.BuildServiceProvider();
  17. var chatClient = serviceProvider.GetRequiredService<IChatClient>();
  18. var toolRegistry = new InMemoryToolRegistry()
  19.     .RegisterFileSystemTools(options =>
  20.     {
  21.         options.RootPath = @"D:\workspace\MyProject";
  22.         options.MaxReadCharacters = 12000;
  23.     });
  24. var session = new ChatSessionBuilder(chatClient, "openapi:gpt-5.4")
  25.     .WithToolRegistry(toolRegistry)
  26.     .Build();
  27. var response = await session.SendAsync(
  28.     "Use search_files to find mentions of AgileAI.Studio, then use read_files_batch to inspect the best matching files and summarize them.");
  29. Console.WriteLine(response.Message?.TextContent);
复制代码
这个例子很能分析 AgileAI 的定位:

  • 先接上模子
  • 再注册工具
  • 然后直接进入 Agent 式调用
中心没有太重的 ceremony,也没有一大堆必须先明白完才气开始用的框架概念。它的目标很明白:
尽快跑起来。
内置 Tool:不但能调用,还思量了安全界限

AgileAI 里很值得单独拿出来说的一块,是它的 tool 体系
文件体系工具

堆栈里已经实现了一组当地文件体系工具,包罗:

  • list_directory
  • search_files
  • read_file
  • read_files_batch
  • write_file
除此之外,源码里着实还实现了更多文件使用工具,比如:

  • create_directory
  • move_file
  • patch_file
  • delete_file
  • delete_directory
它不光是一个“让模子看文件”的小插件,而是已经开始具备比力完备的当地工作区使用本领。
run_local_command

这是 Studio 里最关键的一个工具之一。
它答应 Agent 哀求实行当地下令,比如 shell / bash / pwsh 下令。
但这里最紧张的不是“它能实行下令”,而是:
它不是直接实行,而是走审批流程。
也就是:

  • 模子提出下令实行哀求
  • 体系停息当前工具流程
  • 用户看到待实行下令
  • 用户手动答应或拒绝
  • 答应后再继承后续实行
这个筹划很关键。由于 AI Tool Calling 真正落地时,最大的风险之一就是当地实行本领。AgileAI 没有回避这件事,而是把它做成了显式审批流程。
web_fetch

Studio 里还内置了一个 web_fetch 工具,可以让 Agent 拉取网页内容。
这类工具看起来简朴,但很有用。只要进入 Agent 场景,你很快就会碰到“必要自动获取外部信息”的标题。与其让调用端本身绕很多逻辑,不如把它收敛成同一的 tool 本领。
Skill 支持:让 Agent 有“脚色本领包”

AgileAI 的另一个亮点,是它支持 Skill
这里的 Skill,不是那种非常重的插件生态,而更像是:
一组基于当地文件、带有元信息和提示束缚的本领包。
堆栈里 Skill 的实现包罗:

  • 当地 Skill 文件加载
  • Skill Manifest 剖析
  • Skill Registry
  • Skill Planner
  • Skill Continuation Policy
  • Prompt-based Skill Execution
AgileAI.Studio:全功能演示项目

如果说前面的 AgileAI 更像“底层本领”,那 AgileAI.Studio 就是它的产物化形态。
Studio 的技能栈很直接:

  • 后端:ASP.NET Core + EF Core + SQLite
  • 前端:Vue 3 + Vite + Pinia + Naive UI
  • 通讯方式:REST + SSE 流式相应
  • 测试:Playwright
它现在已经能完成这些事变:

  • 设置 Provider Connection
  • 添加和测试模子
  • 创建 Agent
  • 管剖析话
  • 流式谈天
  • 表现 Tool 使用纪录
  • 表现 Skill 使用状态
  • 对 run_local_command 举行审批
  • 用 web_fetch 拉网页内容
也就是说,Studio 已经不是一个“摆拍式 Demo UI”,而是一个有真实工作流的当地 AI Workspace 雏形。
几张 Studio 截图

堆栈里已经带了几张 Playwright 天生的截图,恰好能对应它现在的几个紧张页面。
Models 页面

这里可以管理模子毗连和模子设置。
如果你要做一个真正能切换差别 Provider 的 AI 工作台,这一页着实是根本中的根本。

Agents 页面

这一页是 Agent 的焦点设置区。
你可以在这里界说:

  • Agent 名称
  • Prompt
  • 温度
  • 最大 Token
  • 可用 tools
  • 可用 skills

Chat 页面

这是 Studio 最像“产物”的部门。不但能谈天,还能看到:

  • 流式复兴
  • Agent 当前使用的 skill
  • 用过哪些 tools
  • 工具审批状态
  • 汗青会话列表

结语

如果你近来正筹划使用 .NET 来开发 Agent 大概可以试试这个新的框架 AgileAI 。有什么意见大概发起都可以给我提 Issue。
👉👉👉 https://github.com/kklldog/AgileAI

免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表