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 准备阶段
- GitHub Copilot Plan
首先需要有一个GitHub Copilot Plan。
- GitHub Copilot CLI
由于GitHub Copilot SDK需要调用GitHub Copilot CLI进行agent task运行,因此需要实现安装好GitHub Copilot CLI。
Your Application → SDK Client → (JSON-RPC) → Copilot CLI (server mode)
- VS Code with GitHub Copilot Chat extension

note, 需要使用github帐号去登录Visual Studio Code
- 由于是在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,
- 使用AIFunctionFactory.Create方法创建AI应用程序中可以使用的tool,

-
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的内容还很多,还需要继续跟着微软老师学习一下。
本文如果哪里有错误,麻烦告之,谢谢谢谢!