GitHub Copilot - 尝试使用一下GitHub Copilot SDK

1. 简单介绍

AI的浪潮奔涌向前,微软在2021年就推出了GitHub Copilot,当前AI Coding在项目开发中使用比重越来越大。在年初参加的微软会议中,有参会者的观点认为有了AI coding之后,开发者对于算法,设计模式,领域驱动,微服务方面花费精力不如以前了,会上讲课老师也对此表示认同。GitHub Copilot在IDE,web, 移动端都可以使用,同时从2026/2/27开始,Github Copilot CLI 正式发布了,这表示命令行中也可以使用到GitHub Copilot的能力了。

随着大语言模型以及AI Agent的普及,微软陆续发布了Semantic Kernel, Autogen, Microsoft.Extension.AI, Microsoft Agent Framework框架,进一步提高了AI应用开发的效率。同时微软也推出了GitHub Copilot SDK,允许我们在自己的应用程序中使用agentic AI workflows。GitHub Copilot SDK是对GitHub Copilot CLI的后端引擎进行的封装。

当前GitHub Copilot SDK还处于technical preview阶段,

当前支持4种编程语言,

这边将简单尝试一下C#应用中的GitHub Copilot SDK

2. 具体说明

2.1 准备阶段

  1. GitHub Copilot Plan

首先需要有一个GitHub Copilot Plan。

  1. GitHub Copilot CLI

由于GitHub Copilot SDK需要调用GitHub Copilot CLI进行agent task运行,因此需要实现安装好GitHub Copilot CLI。

Your Application → SDK Client → (JSON-RPC) → Copilot CLI (server mode)

  1. VS Code with GitHub Copilot Chat extension

note, 需要使用github帐号去登录Visual Studio Code

  1. 由于是在Visual Studio Code中运行C#代码,

因此还需要安装一下 C# Dev Kit,

2.2 GitHub Copilot SDK使用

假定有一个Blazor应用程序, 可以为用户提供order信息的问询,

2.2.1 DB

SQLite DB有如下一些table,

数据操作是通过Microsoft.EntityFrameworkCore进行的, model约束使用Fluent API.

2.2.2 Service

在其中的一个service类中,定义了一些可以查询和操作order信息的方法,

2.2.3 Controller

在一个特定的Controller中,定义了一个处理用户order请求的api,

  1. 使用AIFunctionFactory.Create方法创建AI应用程序中可以使用的tool,
  1. GitHub Copilot SDK的使用, 代码如下,

    await using var session = await _copilotClient.CreateSessionAsync(new SessionConfig
    {
    Model = "gpt-4.1",
    SystemMessage = new SystemMessageConfig
    {
    Mode = SystemMessageMode.Replace,
    Content = @"[your system prompt]"
    },
    Tools = tools,
    InfiniteSessions = new InfiniteSessionConfig { Enabled = false },
    OnPermissionRequest= PermissionHandler.ApproveAll
    });

    ...

    session.On(evt =>
    {
    switch (evt)
    {
    case AssistantMessageEvent msg:
    ...
    break;
    case SessionIdleEvent:
    ...
    break;
    case SessionErrorEvent err:
    ...
    break;
    }
    });

note, 其中OnPermissionRequest= PermissionHandler.ApproveAll很重要,要不然程序将运行不了, 报如下的错误,

note, 关于OnPermissionRequest的配置,2026年3月微软老师的技术分享时候也强调了一下。

2.2.4 Blazor界面
2.2.5 运行一下

使用dotnet run 运行程序, 在提问框输入要查询的order信息, 点击Send按钮,

最后有信息返回,

从Visual Studio Code 的控制台输出的log中,可以看出 GetorderDetails tool被调用了,

使用Microsoft Agent Framework也能实现上述的功能。不过对于这种场景,集成GitHub Copilot SDK确实方便一些。

note, 微软在2026/4/3发布了Microsoft Agent Framework 1.0

3.总结

本文简单介绍了一下GitHub Copilot SDK。GitHub Copilot SDK 依赖于GitHub Copilot CLI。在运行GitHub Copilot SDK应用程序之前,还需要GitHub Copilot 身份认证。如果使用BYOK(Bring Your Own Key)的方式去使用GitHub Copilot SDK,则可以不进行Copilot身份认证。

GitHub Copilot CLI和GitHub Copilot SDK的内容还很多,还需要继续跟着微软老师学习一下。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

相关推荐
怕浪猫43 分钟前
2026 年 AI Agent 面试到底考什么?这套题库覆盖了 90% 的高频考点
面试·aigc·ai编程
源流之道1 小时前
联想Y700 五代(TB323FU)刷 ColorOS 16 教程指南
网络·ai·刷机指南·刷机心得
Yan-英杰3 小时前
2026年数据采集服务怎么选?4大主流平台(亮数据 Bright Data、Apify、ScrapingBee、Zyte)深度对比
人工智能·神经网络·microsoft·机器学习·ai开发工具
dingdingfish4 小时前
系统架构概述
microsoft·系统架构·ea·architecture
无忧智库4 小时前
AI分镜提示词怎么选
人工智能·ai
小凡geo4 小时前
本地商家 GEO:用脚本一键生成 FAQPage 结构化数据,让 AI 切片更稳
开发语言·人工智能·python·microsoft·搜索引擎·ai
u1301305 小时前
GitHub 热榜项目:月榜(2026-09-30)
人工智能·github
摹客6 小时前
【趋势】AI重构原型设计:从表达文件到验证行为,5个变化+工具选型
人工智能·microsoft·产品经理
m4Rk_6 小时前
【论文阅读】Agent 记忆机制(86):Skill-Pro——用 Non-Parametric PPO 将交互经验演化为可复用技能
论文阅读·人工智能·学习·开源·github
别动我齐刘海7 小时前
简历技术栈全面复习——UDP / TCP / CAN / ZMQ / Protobuf 通信工程
网络·c++·python·tcp/ip·机器学习·udp·github