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的内容还很多,还需要继续跟着微软老师学习一下。

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

相关推荐
jiayong2310 分钟前
国内外视频/图像大模型与智能体工具平台竞品对比
ai·音视频·agent
GEO索引未来14 分钟前
国内首部GEO可信传播标准立项通过/DeepSeek-V4 正式上线并开源/Open AI、Google继续推进AI广告标准化
大数据·人工智能·gpt·ai·chatgpt·开源
维元码簿39 分钟前
Claude Code 深度拆解:Agent 执行内核 3 — 从 API 调用到安全退出
ai·agent·claude code·ai coding
珑哥说自养号采购40 分钟前
破解亚马逊风控:安全搭建买家号上评系统,提升店铺竞争力
人工智能·eclipse·github
来一斤小鲜肉41 分钟前
Spring AI 多模态能力全景
后端·aigc
marsh020643 分钟前
39 openclaw持续集成实践:自动化构建与部署流程
运维·ci/cd·ai·自动化·编程·技术
活跃的煤矿打工人1 小时前
【星海出品】防止大模型强依赖(二)
ai·gpu算力
阿昊真人1 小时前
嵌入式五层级
microsoft
AI刀刀1 小时前
手机AI怎么导出pdf
人工智能·ai·智能手机·pdf·deepseek·ds随心转