《智能体设计模式》中文版已发布, 点击阅读

GitHub Copilot CLI 自定义 Agent 实战:打造命令行 AI 助手

本文介绍 GitHub Copilot CLI 新增的自定义 Agent 功能,演示如何在命令行中创建你的 AI 助手,自动执行代码修复、任务委托和工作流集成。

让命令行成为你的 AI 战友,而不仅仅是工具箱。

背景:从 AI 补全到 AI 助手

自 2024 年底 GitHub 推出 Copilot Chat、CLI、Workspace 三件套以来,Copilot 已经从“智能补全”演进为“AI Pair Programmer”(AI 编程助手)。2025 年 10 月,GitHub 官方宣布 Copilot CLI(命令行版 Copilot)支持自定义 Agent 与任务委托。这一更新让开发者能够在终端中构建属于自己的 AI 助手,让 Copilot 不仅能补全代码,还能自动执行复杂任务、创建分支、发起 PR,甚至帮你重构整个模块。

本文将介绍 Copilot CLI 的核心能力,并结合实际场景,帮助你快速上手自定义 Agent。

功能概览

Copilot CLI 的自定义 Agent 功能主要包括以下几个方面。每项能力都极大提升了命令行 AI 助手的实用性和灵活性。

自定义 Agent

自定义 Agent 让 Copilot 理解你的上下文与工作流,成为真正懂你的命令行助手。你可以在不同层级定义 Agent:

  • 项目级:.github/agents/
  • 组织级:{org}/.github/agents/
  • 全局配置:~/.copilot/agents/

下面是一个典型的 Agent 配置示例,适用于 Kubernetes 场景。此配置文件定义了 Agent 的基本信息、可用工具和工作流说明,便于在实际开发中快速复用。

---
name: Kubernetes Assistant
description: "Cloud-native specialist that helps manage and generate Kubernetes YAML manifests."
tools:
  - read
  - search
  - edit
  - shell
prompts:
  - "You are a cloud-native architect who helps users manage Kubernetes clusters and YAML manifests."
---

### 🧭 Kubernetes Agent Instructions

You are a Kubernetes specialist assisting developers and platform engineers.

#### 🎯 Goals
- Generate, explain, and optimize Kubernetes YAML configurations.
- Diagnose `kubectl` outputs and suggest fixes.
- Automate Helm values and chart templating.

#### ⚙️ Workflow
1. Use `kubectl` and `helm` to validate and apply configurations.
2. Parse YAMLs using `yq`.
3. Recommend improvements for manifests (resource requests, labels, probes, etc.).

将该文件保存到 .github/agents/ 目录下,并命名为 k8s.agent.md,然后在 copilot 交互式命令中通过如下命令调用自定义 Agent:

/agent k8s

此时,你的终端就拥有了一个“Kubernetes 智能体”,如下图所示,可以帮你生成、优化、解释 YAML,甚至直接运行相关命令。

在下图中展示了实际在 Copilot CLI 中使用 Kubernetes 智能体的效果:

图 1: 在 Copilot CLI 中使用 Kubernetes 智能体
图 1: 在 Copilot CLI 中使用 Kubernetes 智能体

你可以通过 /agent 命令来调用不同的 Agent,或者通过 /delegate 命令来委托任务。

当我询问 Copilot CLI 如何创建一个 Kubernetes 智能体或 YAML 配置中有什么问题时,它可以提供详细的解释和优化建议。下图展示了与 Kubernetes 智能体交互的实际场景:

图 2: 在 Copilot CLI 中与 Kubernetes 智能体交互
图 2: 在 Copilot CLI 中与 Kubernetes 智能体交互

注:更多 Agent 配置请参考 awesome-copilot

委托任务(/delegate)

委托任务功能让 Copilot CLI 能够自动化处理代码修改和协作流程。下面的命令展示了如何通过 /delegate 实现自动化重构:

/delegate "Refactor the logging module for performance"

执行上述命令后,CLI 会自动完成以下步骤:

  1. 提交未暂存改动到新分支;
  2. 启动 Copilot Coding Agent;
  3. 在后台自动修改代码;
  4. 创建 Draft Pull Request;
  5. 返回链接供你审阅。

这种方式极大简化了“写代码 + 发起 PR”的流程,非常适合团队协作、自动修复与异步开发。

性能优化

新版 Copilot CLI 在性能上也有显著提升:

  • 输出支持 token-by-token 流式显示,响应更及时;
  • 并行调用工具,提高整体处理速度;
  • 内存占用更低,修复了闪屏等体验问题;
  • 与 GitHub MCP Server 的集成更加顺畅。

应用场景

自定义 Agent 能够覆盖多种开发与协作场景。下表总结了典型应用及其说明,帮助你根据实际需求选择合适的 Agent 类型。

场景说明
云原生工程师定义“k8s-agent”,直接在命令行生成 YAML、执行 kubectl 检查。
DevOps 团队创建“pipeline-agent”,帮你生成 CI/CD 流程、Lint 脚本。
技术布道者 / DevRel为示例仓库定义“demo-agent”,自动生成样例与文档。
独立开发者 / 一人公司定义“release-agent”,帮你自动打包、发布、创建版本说明。
表 1: Copilot CLI Agent 应用场景

结合 MCP(Model Context Protocol)

GitHub Copilot CLI 内置了对 MCP(Model Context Protocol)的支持。MCP 让 Agent 能够直接访问本地文件或外部数据源,实现上下文注入与状态持久化。这为构建“AI-native CLI 工具链”提供了基础能力。

通过 MCP,Agent 可以:

  • 访问和处理本地或远程数据;
  • 保持任务上下文的连续性;
  • 支持更复杂的自动化和集成场景。

在下方的流程图中,展示了 Copilot CLI 调用工具(tool)的整体流程,有助于理解其自动化决策机制。

图 3: Copilot 的 tool 调用流程
图 3: Copilot 的 tool 调用流程

总结

GitHub Copilot CLI 的 Agent 功能标志着“AI 在命令行的原生化”。它不仅是补全命令的工具,更是可以执行复杂逻辑的 AI 工作流引擎。随着 MCP 生态逐步完善,未来的 CLI 可能不再是命令集合,而是 AI 助手的集合。

参考文献

文章导航

评论区