.NET 实验¶
通过以下动手实践,您将使用 GitHub Copilot SDK 构建 AI Genius S5E2 — Agent HQ Demo。这是 .NET 学习路径:请在 .NET 与 Python 中选择 一条 路径,并按顺序完成。两套技术栈可以同时运行,因为 .NET 使用 5050/5051 端口,而 Python 使用 5070 端口。
先决条件¶
| 需求 | 注意事项 |
|---|---|
| .NET 10 SDK | dotnet --version 应报告 10.x |
| GitHub Copilot CLI | npm install -g @github/copilot,并已使用 Copilot 访问权限登录 |
git, curl, jq |
可选的治理钩子实验需要使用 jq |
| 终端与编辑器 | 建议使用 VS Code — 仓库随附 .vscode/mcp.json |
开始前请先确认:
🎯 SDK 学习路径¶
这是核心路径。完整完成大约需要两小时。
| # | 实验 | 您将进行的操作 | 时间 |
|---|---|---|---|
| 01 | 环境设置 | 构建并执行应用程序与 SDK 示例项目 | 约 15 分钟 |
| 02 | 首次对话 | 流式传输返回响应;在运行时探索模型 | 约 20 分钟 |
| 03 | 工具 | 使用 CopilotTool.DefineTool 让模型调用您的 C# 代码 |
约 20 分钟 |
| 04 | 事件 | 阅读真正的会话事件生命周期 | 约 20 分钟 |
| 05 | 会话 | 跨重新启动持久保存并继续对话 | 约 20 分钟 |
| 06 | MCP | 连接 MCP 服务器,以使用非自定义工具 | 约 20 分钟 |
| 07 | 总结 | 整合成果、清理环境并选择下一步 | 约 10 分钟 |
可执行示例¶
实验 03–06 由真正的控制台项目支持,每个实验都有一个子命令:
dotnet run --project src/AgentOrchestrator/samples/SdkLabs -- tools
dotnet run --project src/AgentOrchestrator/samples/SdkLabs -- events
dotnet run --project src/AgentOrchestrator/samples/SdkLabs -- sessions
dotnet run --project src/AgentOrchestrator/samples/SdkLabs -- mcp
这些实验中的每个命令,都已针对真正的 Copilot CLI 执行,输出也原样贴上。
📎 额外实验 — 不属于 SDK¶
这些内容很有用,但涵盖的是 Copilot CLI 和常规应用程序开发,而不是 SDK。它们均为选修内容,并且独立于编号的学习路径。
| 实验 | 涵盖范围 | 为什么属于额外内容 |
|---|---|---|
| 扩展 API | ASP.NET Core、EF Core、xUnit | 将 Copilot 用作编程助手;不使用任何 SDK |
| 自定义代理 | .agent.md 文件、代理辅助查看 |
这是两条学习路径共享的 Copilot CLI 功能 — 归类于 深入解析 |
| 治理钩子 | Shell 钩子、安全检查关卡、审计日志 | 这是 Copilot CLI 功能;对应的 SDK 作法请参阅 实验 03 |
只有 扩展 API 是.NET专用内容。自定义代理与治理钩子是不受语言限制的CLI实验,因此网站将其们列为 深入解析 → 延伸实现 ,而且两条学习路径共享同一份内容。
惯例¶
- 命令可以 直接复制粘贴执行 从仓库根目录
- 画面会显示预期输出,方便您确认每个步骤
- ⚠️ 表示忽略后会出问题的项目
- 💡 表示选择性的加分练习
⚠️ 在您「修正」任何项目之前¶
此仓库 刻意地 包含四种有缺陷的代码模式,供代码审查演示使用:
- 中的 N+1 查询:
GetTransactionsWithSegmentsAsync - 中的 null 检查缺漏:
GetTransactionAsync - 中的输入验证缺漏:
AddTransactionAsync - 中的硬式编码临界值:
PredictSegmentAsync
额外内容 — 自定义代理 要求您 找到 它们。请勿修复 — 练习依赖它们继续存在。请参阅
AGENTS.md.