首页 > 基础资料 博客日记

Surging AI Agent 完整产品介绍

2026-06-30 23:00:03基础资料围观24

本篇文章分享Surging AI Agent 完整产品介绍,对你有帮助的话记得收藏一下,看极客资料网收获更多编程知识

一、产品总览

Surging AI Agent(取名:AgentForge,自研开发助手智能体 DevAgent),是深度原生集成 Surging 微服务引擎的.NET 专属本地 AI 智能体,依托engine-cli命令行终端交互,一站式实现框架答疑、配置生成、微服务模块创建、代码编译、集群部署全自动化研发流程。
 
下方为本地engine-cli真实运行交互截图,直观展示对话问答、工程流水线、轻量化离线运行效果:

546083ccab50a1836dad53fb598e459e

 

核心场景解读

 1、自然语言对话问答

 终端直接提问,Agent 输出结构化说明 + 可直接复制的 JSON 配置:Surging 框架介绍、服务 IP 部署、OAuth2 网关鉴权、IP 黑白名单生产级配置;支持标准工具函数调度(时间查询GetCurrentTime标准化 JSON 调用结构)。

 

2、全自动微服务工程流水线

输入需求生成订单中心模块代码,输出WebApi,目标框架.NET8.0,自动串行执行:GenerateModule → Compile → Deploy,无需人工分步操作。

 

3、低资源离线本地推理

右侧任务管理器可见engine-cli进程内存占用仅 5.5G,基于 C# 原生 LLamaSharp 推理,相比其它语言 Agent 硬件门槛大幅降低,适配政务、金融内网信创离线场景。

二、智能体组件注册入口:DevAgentSupportProvider

该类是 Surging 标准组件扩展,引擎启动自动加载 DevAgent 智能体,统一完成智能体基础信息、工具插件挂载、分层 RAG 知识库、多智能体编排提示词注册。

public class DevAgentSupportProvider : ComponentSupportProvider
{
    public override IObservable<IComponentSupport> Create(ComponentContext context)
    {
        // 初始化智能体实例,并发权重2
        var support = new AgentSupport(2);
        support.Id = "DevAgent";
        support.Name = "开发助手智能体";
        support.Author = "fanly"; 
        
        // 挂载内置工具插件
        support.AddAgentPluginSupport("Time", typeof(TimePlugin));
        support.AddAgentPluginSupport("CodeGenerator", typeof(CodeGeneratorPlugin));
        support.AddAgentPluginSupport("CodeCompile", typeof(CodeGeneratorPlugin));
        support.AddAgentPluginSupport("Deploy", typeof(DeployPlugin));
        
        // 可选:支持远程surging服务、MCP (GRPC/HTTP)插件接入
        //support.AddAgentPluginSupport("CodeGenerator", new ServiceDescriptor { RoutePath = "/plugin/codeGenerator/generatemodule" });
        //support.AddAgentPluginSupport("CodeGenerator","grpc://127.0.0.1/plugin/codeGenerator/generatemodule");
        //support.AddAgentPluginSupport("CodeGenerator", "http://127.0.0.1/plugin/codeGenerator/generatemodule");

        // 1. 静态框架知识库(Knowledge类型,问答检索核心数据源)
        support.AddRAGDocument("Knowledges/surging-knowledge.txt", context.ComponentLocation, "surging_doc", tags: new Dictionary<string, List<string?>>
        {
            { "tags", new List<string?> { "surging", "microservice","微服务引擎"} },
        }).AddDocType(RAGDocumentType.Knowledge);

        support.AddRAGDocument("Knowledges/surging-setting.txt", context.ComponentLocation, "surging_setting_doc", tags: new Dictionary<string, List<string?>>
        {
            { "tags", new List<string?> { "surging", "microservice","设置","微服务引擎"} },
        }).AddDocType(RAGDocumentType.Knowledge);

        support.AddRAGDocument("Knowledges/engine-cli‌-knowledge.txt", context.ComponentLocation, "engine-cli_doc", tags: new Dictionary<string, List<string?>>
        {
            { "tags", new List<string?> { "engine-cli", "cli tool","ai tool","ai助手"} },
        }).AddDocType(RAGDocumentType.Knowledge);

        support.AddRAGDocument("Knowledges/xiaotao-knowledge.txt", context.ComponentLocation, "engine-cli_doc", tags: new Dictionary<string, List<string?>>
        {
            { "tags", new List<string?> { "小滔", "ai助手","xiaotao"} },
        }).AddDocType(RAGDocumentType.Knowledge);

        // 2. 单智能体角色提示词(Agent类型,定义DevAgent基础行为规范)
        support.AddRAGDocument("Prompts/agent-prompt.json", context.ComponentLocation, "agent-engine-cli_doc", tags: new Dictionary<string, List<string?>>
        {
            { "tags", new List<string?> { "engine-cli", "cli tool","agent","ai tool","ai助手"} },
        }).AddDocType(RAGDocumentType.Agent);

        // 3. 多智能体串行编排提示词(Sequential类型,支撑大型项目分工协同)
        support.AddRAGDocument("Prompts/agentgroup-prompt.json", context.ComponentLocation, "agentgroup-engine-cli_doc", tags: new Dictionary<string, List<string?>>
        {
            { "tags", new List<string?> { "engine-cli", "cli tool","agentgroup","ai tool","ai助手"} },
        }).AddAdditionalDescPath("Prompts/agentgroup-desc.md", context.ComponentLocation)
          .AddDocType(RAGDocumentType.Sequential);

        return Observable.Return(support);
    }
}

三、全套核心 Kernel 插件完整源码

流水线前两步核心能力,负责创建微服务模块、数据库表结构与代码编译校验
/// <summary>
/// 代码生成&编译核心插件,提供模块创建、项目编译两大AI可调用函数
/// </summary>
sealed class CodeGeneratorPlugin
{
    /// <summary>
    /// AI调用:根据项目信息、数据表结构生成完整WebApi微服务模块、分层代码、建表SQL
    /// </summary>
    [KernelFunction]
    [Description("生成完整模块代码、数据库表结构时调用")]
    public Task GenerateModule(
        [Description("""
        入参格式:{"Project":{"Name":"","Desc":""},"Tables":[{"Name":"","Desc":"",Columns:[{"Name":"","Datatype":"","Desc":""}]}]}
        """)] CodeProject project, 
        List<CodeTable> tables)
    {
        Console.WriteLine($"调用了GenerateModule,project.Name:{project.Name},project.Desc:{project.Desc}");
        // 底层实现:自动生成分层架构、CRUD逻辑、数据库SQL、Surging服务配置、Swagger文档
        return Task.CompletedTask;  
    }

    /// <summary>
    /// AI调用:对生成完成的模块代码执行编译校验,同步执行数据库建表脚本
    /// </summary>
    [KernelFunction]
    [Description("编译模块代码、运行数据库表结构时调用")]
    public Task Compile(
        [Description("""
         入参格式:{"Project":{"Name":"","Desc":""}}
         """)] CodeProject project)
    {
        Console.WriteLine($"调用了Compile,project.Name:{project.Name},project.Desc:{project.Desc}");
        // 底层实现:.NET项目编译、语法校验、框架适配修复、执行DDL建表语句
        return Task.CompletedTask;
    }
}

2. 部署插件 DeployPlugin

流水线收尾能力,编译完成后一键部署服务与库表至集群

/// <summary>
/// 项目部署插件,负责编译后服务打包、镜像构建、集群发布、数据库脚本上线
/// </summary>
sealed class DeployPlugin
{
    [KernelFunction]
    [Description("部署模块代码、部署数据库表结构时调用")]
    public Task Deploy(
        [Description("""
             入参格式:{"Project":{"Name":"","Desc":""}}
             """)] CodeProject project)
    {
        Console.WriteLine("调用了Deploy");
        // 底层实现:生成Docker镜像、推送仓库、Surging服务注册、K8s/本地集群发布、执行上线SQL
        return Task.CompletedTask;
    }
}

3. 配套入参实体(统一结构化入参规范)

/// <summary>
/// 项目基础信息实体,所有工程插件统一入参标准
/// </summary>
public class CodeProject
{
    public string Name { get; set; }
    public string Desc { get; set; }
}

/// <summary>
/// 数据库表定义实体
/// </summary>
public class CodeTable
{
    public string Name { get; set; }
    public string Desc { get; set; }
    public List<CodeColumn> Columns { get; set; }
}

/// <summary>
/// 数据表字段定义实体
/// </summary>
public class CodeColumn
{
    public string Name { get; set; }
    public string Datatype { get; set; }
    public string Desc { get; set; }
}

四、核心亮点

1、标准 SemanticKernel 规范开发

全部工具基于[KernelFunction]官方注解实现,强类型结构化入参,AI 自动识别函数、自动组装参数,不会出现通用 Agent 参数错乱、无法落地的问题;同时支持本地 C# 插件 、Surging微服务插件、MCP( GRPC/HTTP) 插件扩展。

2、Surging 原生内置,无额外中间件依赖

通过ComponentSupportProvider作为标准组件注册进微服务引擎,引擎启动自动加载 AI 智能体,深度打通 RPC、服务注册、集群发布底层能力,生成代码开箱即用。

3、精细化分层 RAG 知识库

区分框架文档、单智能体提示词、多智能体串行编排文档,标签向量检索相似度稳定≥95%,精准解答 Surging 各类配置、运维、部署问题。

4、轻量化离线私有化运行

依托 LLamaSharp C# 原生推理,截图可见仅 5.5G 内存即可运行llama3.1 8B_4Q 大模型、BGE向量模型,无外网数据上传,完美适配金融、政务、国企信创内网隔离场景。

 5、CLI 终端深度融合
开发者无需切换 IDE、网页、客户端,日常使用engine-cli时直接对话 AI,把 AI 能力嵌入原有开发工作流,学习成本极低。

五、适用场景

1、Surging 新手快速开发:一句话生成标准微服务模块,搭配知识库答疑快速上手框架;

2、内网离线信创研发:本地私有化大模型,数据不出内网,满足安全合规要求;

3、大型分布式系统协同开发:多智能体 Sequential、Concurrent、Handoff、GroupChat、Magentic五种模式拆分复杂任务编排协同;

总结

市面上的AI Agent 和微服务架构完全割裂;而 Surging的 AgentForge从底层组件注册、标准化 Kernel 插件、分层 RAG 知识库、CLI 终端离线推理全链路深度绑定.NET 微服务生态,拥有完整可落地的自动化交付能力,让.NET有一战之力。

文章来源:https://www.cnblogs.com/fanliang11/p/20980032
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云