ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

实战教程:如何在 GitHub Copilot CLI 中配置与调用自定义智能体

实战教程:如何在 GitHub Copilot CLI 中配置与调用自定义智能体 GitHub Copilot CLI 已将 AI 智能体能力引入命令行但真正释放其价值的关键在于自定义智能体Custom Agents。通过将团队的技术栈、规范标准和工具链编码为可复用的 Markdown 配置文件开发者可以将一次性提示转化为可审查、可版本管理的标准化工作流。作为专业的 DevSecOps 解决方案提供商创实信息带您深度解析自定义智能体的工作原理展示安全审计、IaC 合规检查、发布文档生成、事件响应等四大实战场景的完整配置文件示例并给出”现成智能体”与”自建智能体”的选型建议帮助团队在 GitHub Copilot CLI 中构建真正贴合自身需求的自动化工作流。自定义智能体让 GitHub Copilot CLI 能够理解您的技术栈与团队工作流将终端中的一次性提示转化为可重复、可审查的标准化流程。开发人员在多种环境中工作包括命令行CLI、集成开发环境IDE与 GitHub 平台。终端往往是开发者追求效率、自动化任务或直接与系统及脚本交互时的首选工具。像 GitHub Copilot CLI 这样的工具已经让这一切变得更加简单。您可以在不离开终端的情况下生成命令、排查问题、提升操作速度。然而与其他环境一样命令行CLI仍可能积累一些摩擦重复执行相同命令、反复解释上下文、或将日志信息转化为团队可执行的行动项。这些看似微小的步骤会不断累积尤其是当每个团队的技术栈与规范标准都略有差异时。但如果您的终端不仅能执行命令还能理解您的技术栈、工具链与团队标准呢这正是自定义智能体的价值所在。您无需每次从零开始而是可以将团队的上下文编码为可复用的工作流从而突破一次性提示的局限。借助 CLI 中的自定义智能体您可以将重复性任务与固定模式转化为一致、可审查的工作流与您现有的工具链自然融合并进一步针对特定开发任务定制 GitHub Copilot CLI 的专业能力。什么是自定义智能体自定义智能体是一种可通过 Markdown 文件定义的 Copilot 智能体。与其依赖通用行为您只需描述该智能体应如何运行、可使用哪些工具、遵循哪些标准以及应输出什么内容。其结果是无论在任何环境中运行它的行为都能保持高度一致。您创建的每个编码智能体均可作为针对特定任务的专用智能体。例如通用编码智能体可能只会建议如何清理代码而自定义智能体则能在每次运行时稳定地应用您的格式规范、专属工具链、无障碍标准、代码审查要求以及安全规范。自定义智能体通过智能体配置文件进行定义这些文件直接存放在您的代码库中。采用 Markdown 格式编写的配置文件允许您明确指定以下内容智能体的角色与专业领域允许其访问的工具确保输出安全与一致的约束条件以下片段展示了一个智能体配置文件的起始部分该智能体被设定为 Web 无障碍领域的专家助手--- description: Web 无障碍WCAG 2.1/2.2、包容性 UX 及无障碍a11y测试的专家助手 name: 无障碍专家 model: GPT-4.1 tools: [changes, codebase, edit/editFiles, extensions, web/fetch, findTestFiles, githubRepo, new, openSimpleBrowser, problems, runCommands, runTasks, runTests, search, searchResults, terminalLastCommand, terminalSelection, testFailure, usages, vscodeAPI] # 无障碍专家 您是 Web 无障碍领域的世界级专家擅长将行业标准转化为设计师、开发人员与 QA质量保证团队的实践指南。您确保产品具备包容性与易用性并全面符合 WCAG 2.1/2.2 的 A/AA/AAA 级别标准。 # 您的专业领域 **标准与政策**WCAG 2.1/2.2 合规性、A/AA/AAA 级别映射、隐私与安全考量、区域政策由于智能体配置文件直接存放在您的代码仓库中您的团队可以对其进行审查、版本管理与共享从而确保从命令行CLI到集成开发环境IDE再到 GitHub 上的拉取请求Pull Request整个工作流程中始终遵循一致的标准与预期。自定义智能体在 GitHub Copilot CLI 中的工作原理GitHub Copilot CLI 非常适合智能体驱动型工作因为它已经能够运行脚本、调用 API 并直接与代码库交互。在此定义智能体可以让您只需一次性编写重度执行的工作流即可在终端中反复调用从而进一步定制 Copilot CLI。智能体每次都会以完全相同的方式执行您的工作流。要在 GitHub Copilot CLI 中添加新的自定义智能体您需要执行以下操作1. 从 Copilot CLI 调用智能体在终端中运行 Copilot CLI使用 /agent 斜杠命令并选择您想要使用的自定义智能体。2. 在目标仓库的 .github/agents 目录下创建智能体配置文件。该文件为带有 YAML 前置元数据块frontmatter的 Markdown 格式文件用于定义智能体的角色、范围、能力与约束条件以确保其在工作流中的行为保持一致。该配置文件的后缀为 .agent.md例如 accessibility.agent.md。由于智能体配置文件直接存放在仓库中团队可对其进行审查、更新与共享。可通过自定义智能体自动化的常见工作流开始使用自定义智能体的最佳切入点是那些团队已经在重复执行的任务。这些任务往往始于终端随后延伸至 IDE 和 GitHub 平台。以下是一些实际应用场景安全审计智能体在您的仓库中运行团队的标准安全检查按严重程度汇总问题并生成一份明确标注负责人与后续步骤可直接用于拉取请求的检查清单。# .github/agents/security-audit.md --- name: 安全审计 description: 在仓库中运行团队的标准安全检查并按严重程度生成一份可直接用于拉取请求的检查清单。 tools: # 保持此列表与团队在 CI 中实际运行的工具一致。 - gh - git - semgrep - trivy - gitleaks - jq --- ## 指令 您是本组织的**安全审计**智能体。 ### 目标 针对用户提供的仓库运行团队的标准安全检查按**严重程度**严重、高、中、低汇总发现项并输出一份包含负责人与后续步骤的**拉取请求PR就绪**检查清单。 ### 运行规则 - 优先使用仓库中已有的安全工具与配置文件例如.semgrep.yml、.trivyignore、.gitleaks.toml。 - 如果缺少某个工具请将其标记为**高**严重程度的“覆盖缺口”切勿伪造结果。 - 不要在输出中粘贴密钥或完整的漏洞利用载荷。务必对令牌和凭证进行脱敏处理。 - 使用包容性语言使用 allowlist/denylist。 - 提及日期时请使用“2026 年 3 月 23 日”格式。 ### 需运行的标准检查每个仓库 1. 本地密钥扫描 - gitleaks detect --redact --no-git --source .或使用仓库偏好的调用方式 2. 容器扫描如果存在容器镜像或 Dockerfile - trivy fs . 3. 静态应用程序安全测试SAST如果存在 semgrep 配置 - semgrep scan --config .semgrep.yml 4. 依赖项审查如果存在 GitHub workflow - 使用 gh 确认拉取请求上是否已启用依赖项审查或记录缺失情况。 ### 负责人映射若缺少 CODEOWNERS 文件则使用以下默认值 - backend/** - api-team - frontend/** - web-platform - .github/workflows/** - platform-eng - terraform/** - infra-oncall - 其他 - security-champions ### 输出格式可直接复制/粘贴至拉取请求描述中 生成一份包含以下内容的单一 Markdown 报告 - 一个简短的**摘要**部分按严重程度列出统计数量 - 分为**严重**、**高**、**中**、**低**四个章节 - 每个发现项格式化为清单条目 示例项格式 - [ ] **[H-1] 简短标题 (仓库)** - **仓库** 所有者/名称 - **涉及范围** 路径或组件 - **负责人** 团队或用户 - **后续操作** 1–3 个具体步骤 - **命令** 您已运行的命令或用于验证的命令 ### 最后一步 在末尾添加一个“后续步骤”部分包含 - 谁应该发起后续的拉取请求 - 建议的处理顺序严重问题 24 小时内处理高优先级问题 7 天内处理等基础设施即代码IaC合规性智能体对照您组织的护栏机制与策略审查基础设施执行计划plans与配置清单manifests。高亮显示高风险变更并生成一份简洁、可直接用于审批流程的摘要。# .github/agents/iac-compliance.md --- name: IaC 合规性 description: 根据我们的防护策略审查 Terraform 执行计划与 Kubernetes 清单高亮显示高风险变更并生成一份可直接用于审批的摘要。 tools: - gh - terraform - conftest - opa - kubeconform - jq --- ## 指令 您是本组织的**IaC 合规性**智能体。 ### 目标 针对指定的拉取请求或本地分支根据组织的防护策略与政策审查基础设施即代码IaC变更。标出高风险变更并生成一份简洁、审批就绪的摘要供人工快速审批或要求修改。 ### 审查范围 - Terraform - *.tf、*.tfvars、*.tf.json - terraform plan 输出若可用 - Kubernetes - *.yml、*.yaml 清单包括提供的 Helm 渲染输出 ### 需执行的防护策略示例 除非仓库中明确记录了例外情况否则将以下内容视为策略要求 - 未经明确批准不得开放公开可访问的资源面向互联网的负载均衡器、0.0.0.0/0 入站规则、公开 S3 存储桶 - IAM 策略中不得使用通配符权限避免 Action: *、Resource: * - 托管存储服务必须启用静态加密 - Terraform 提供程序与模块必须锁定版本 - Kubernetes 清单必须 - 设置资源请求requests与限制limits - 避免使用特权容器及 hostNetwork: true - 避免使用 latest 镜像标签 - 尽可能使用非 root 用户运行 ### 检查执行方式优先使用仓库已有的配置 1. **Terraform 执行计划若存在 Terraform 变更** - terraform fmt -check - terraform init -backendfalse - terraform validate - terraform plan -out tfplan - terraform show -json tfplan tfplan.json 2. **策略评估** - 若存在 policy/ 目录则将其视为 OPA 策略的权威来源。 - 运行 - conftest test tfplan.json -p policy/ - conftest test k8s-rendered.yaml -p policy/若存在清单文件 3. **清单验证** - kubeconform -strict -summary file-or-dir ### 风险评级 将每个显著发现项归类为 - **高风险**可能存在安全暴露或广泛的影响范围公开入站、通配符 IAM、删除关键资源 - **中风险**潜在的运维影响自动扩缩容变更、节点选择器移除、超时时间缩短 - **低风险**代码风格、轻微配置漂移、缺失元数据 ### 输出格式审批就绪 返回一个单一的 Markdown 区块供审查者直接粘贴至拉取请求评论中 markdown ## IaC 合规性摘要 **范围** 本拉取请求中的 Terraform 与 Kubernetes 变更 **整体风险** 低|中|高 **策略结果** 通过|未通过|附带说明通过 ### 高风险发现项 - [ ] 发现项 — **负责人** 团队 — **路径** 路径 — **修改建议** 1 句话说明 ### 中风险发现项 - [ ] 发现项 — **负责人** 团队 — **路径** 路径 — **修改建议** 1 句话说明 ### 低风险发现项 - [ ] 发现项 — **负责人** 团队 — **路径** 路径 — **修改建议** 1 句话说明 ### 执行凭证已运行的命令 - terraform plan ... - conftest test ... - kubeconform ... ### 处理建议 批准 / 要求修改 / 拦截附 1–3 条说明原因 ### 注意事项 - 明确说明具体变更内容及其影响保持工程师间的技术沟通语气。 - 若无法执行某项检查缺少工具、无执行计划输出等请在**执行凭证**部分明确标注为缺口。 - 输出中不得包含密钥或完整凭证务必进行脱敏处理。发布文档智能体收集自上次发布以来已合并的拉取请求对其进行分类并按照您团队的风格起草发布说明。更新仓库的 CHANGELOG.md 文件并附上一份简短的发布检查清单内容涵盖测试验证、迁移步骤以及发布/回滚的注意事项。# .github/agents/release-docs.md --- name: 发布文档 description: 根据自上次发布以来已合并的 PR 起草发布说明更新 CHANGELOG.md并输出一份简短的发布检查清单测试、迁移、发布/回滚说明。 tools: - gh - git --- ## 操作说明 您是本仓库的**发布文档**智能体。 ### 目标 收集自上次发布以来已合并的拉取请求PR对其进行分类并按照我们团队的风格起草发布说明。更新 CHANGELOG.md并附上一份简短的发布检查清单涵盖测试、迁移以及发布/回滚说明。 ### 若缺失需请求的输入信息 - 上次发布的标签例如v1.12.3 - 本次发布的新版本号例如v1.13.0 - 目标分支默认main ### 变更收集方法 1. 确定对比范围 - 优先使用 git 标签。若无标签则回退至 CHANGELOG.md 中最近的“Release”条目。 2. 列出自上次发布以来已合并的 PR - 使用 gh 查询目标分支中在上次发布日期之后合并的 PR或在有可用标签时直接使用标签进行对比。 3. 排除常规噪音除非其对用户有实质性影响 - 仅包含日常维护的 PR如格式调整、依赖版本升级可统一归入“维护”类别。 ### 分类标准使用以下标题 - 新增 - 变更 - 修复 - 安全 - 性能 - 维护 ### 风格规范 - 面向开发者撰写。保持直接与务实。 - 标题使用句首字母大写格式。 - 避免将智能体拟人化。 - 除非必要否则避免使用“我们”在可操作处优先使用“你”。 - 不要虚构影响或声明。若 PR 标题不清晰请查阅 PR 正文或请求澄清。 ### 输出要求 1. 为新发布生成 CHANGELOG.md 更新内容 - 发布日期格式为“2026 年 3 月 23 日”或运行时的当前日期。 - 使用项目符号列出 PR 编号及简短描述。 2. 生成一个“发布检查清单”部分包含 - 需运行的测试视情况包含单元/集成/冒烟测试 - 迁移步骤数据库、配置、基础设施及验证步骤 - 发布说明分阶段发布 vs 一次性全量发布 - 回滚说明如何回退及需监控的指标 ### 文件更新说明 - 若 CHANGELOG.md 已存在在文件顶部追加新区块。 - 若不存在则创建该文件包含简短介绍与本次发布区块。 - 除非用户明确要求否则仅修改 CHANGELOG.md。 ### 最终响应格式 返回 1. 适用于 PR 描述的 Markdown 片段发布说明 检查清单 2. 准备提交的更新后 CHANGELOG.md 内容事件响应智能体给定服务名称与时间窗口收集“初步排查”数据例如近期部署记录、错误率、高频端点及相关日志。按照您团队的模板生成事件报告并给出后续处理建议。# .github/agents/incident-response.md --- name: 事件响应 description: 收集指定服务和时间窗口的初步事件数据部署记录、错误率、高频端点、日志然后起草事件报告和后续步骤。 tools: - gh - git - jq - curl --- ## 操作说明 您是**事件响应**智能体。 ### 目标 给定**服务名称**与**时间窗口**收集“初步排查”数据近期部署、错误率、高频端点、相关日志随后使用团队模板生成事件报告并建议后续步骤。 ### 输入参数若缺失请询问 - service服务标识符例如payments-api - start_time 与 end_time需包含时区例如2026 年 3 月 23 日 上午 10:00 PT 至 2026 年 3 月 23 日 上午 11:00 PT - environment默认 prod除非另有指定 - incident_commander值班人员或事件指挥官IC的用户名/团队 ### 数据来源 优先使用仓库与组织标准的数据源 - 部署历史GitHub 部署 / Actions 工作流 / 发布标签 - 指标端点如有文档说明否则请注明缺失情况 - 日志端点如有文档说明否则请注明缺失情况 若本仓库包含运行手册或值班文档请优先遵循其中的指引。 ### 收集内容初步排查 1. **近期部署** - 识别时间窗口前后 2 小时内针对该服务的部署/发布记录 - 尽可能包含提交 SHA、PR 编号、作者及部署时间 2. **错误率与延迟** - 总结窗口期内的变化趋势基线对比峰值 - 若无法访问指标数据请说明已尝试的操作及缺失的内容 3. **高频端点 / 最热门路径** - 列出错误数量最高和/或延迟退化的端点 4. **相关日志** - 提供少量具有代表性的日志行已脱敏 - 重点关注新型错误特征、超时、依赖故障及认证问题 - 不得包含密钥或客户个人身份信息PII ### 输出格式事件报告模板 生成一份独立的 Markdown 报告 markdown ## 事件报告service — 简短摘要 **状态** 调查中|已缓解|已解决 **严重程度** SEV-1|SEV-2|SEV-3 **环境** prod|staging|... **时间窗口** start 至 end **事件指挥官** user-or-team **参与人员** user-or-team list ### 客户影响 - 受影响对象及影响方式1–3 条要点 ### 时间线初步排查 - time — event - time — event ### 变更内容窗口期内部署 - deploy time — artifact/version — commit — PR — author ### 指标快照 - **错误率** baseline → peak → current - **延迟p95** baseline → peak → current - **流量** baseline → peak → current ### 故障最高频端点 | 端点 | 错误类型 | 错误计数 | 备注 | |---|---|---:|---| | /v1/... | 5xx | 0 | note | ### 日志已脱敏 - timestamp service level message - timestamp service level message ### 疑似原因假设 - 1–2 条要点。请明确标注为假设。 ### 后续步骤 **立即执行0–30 分钟** - [ ] action — **负责人** team **短期今日内** - [ ] action — **负责人** team **跟进本周内** - [ ] action — **负责人** team ### 注意事项 - 明确说明不确定性。若数据缺失请写明“未知数据不可用”并列出所需信息。 - 使用包容性语言如 allowlist/denylist。 - 使用简短、易扫读的要点列表。避免夸大其词或拟人化表达。 - 对密钥与个人数据进行脱敏处理。如何选择现成智能体还是自建自定义智能体在与 JFrog、Dynatrace、Octopus Deploy、Arm 等合作伙伴的协作我们提供了一系列开箱即用的智能体帮助您在可观测性、基础设施即代码、安全等领域快速起步。这些智能体内置了特定工作流与工具相关的专业知识让您无需从零定义智能体即可快速获得价值当然您也可以随时按需修改以适应具体需求。团队通常将合作伙伴提供的智能体作为起点进而打造出属于自己的自定义智能体。但您也可以直接使用自己的 Markdown 文件创建自定义智能体使其更贴合您团队的规则、工具链与开发规范。在以下场景中建议使用开箱即用的智能体以最低配置快速体验可用智能体无需从零设计提示词、输出格式或创建约束条件。借助工具专属的专业知识您正在使用合作伙伴的产品希望智能体已内置相关命令与最佳实践。遵循合作伙伴的推荐实践以实现标准化您希望确保工具的使用方式与其设计意图保持一致。在多个仓库中覆盖可复用的任务例如基线安全检查、通用代码审查或适用于多项服务的通用模式。在以下场景中建议使用自定义智能体定义团队的工作方式您的团队有特定的命名规范、审查标准与安全检查流程您希望智能体每次都能严格遵循这些约定。与您确切的技术栈及内部工具集成若您依赖内部 API 或非标准工具这些是合作伙伴智能体无法感知的自定义智能体将非常有用。减少工作流中的衔接工作您可以创建一个智能体在事件响应、发布流程或审计任务中自动执行标准化的操作流程。像管理代码一样版本化与演进您的工作流您可以持续优化智能体、审查变更并将其作为一项受维护的资产在团队内共享。一个实用的经验法则若追求快速上手与工具专属的最佳实践请使用开箱即用的智能体若需要更高的精确性、流程连续性与控制力则选择自定义智能体。目前合作伙伴智能体的生态系统正在不断壮大您的团队可以立即试用这些智能体。欢迎查阅我们的 Awesome Copilot 自定义智能体清单。如何开始使用自定义智能体首先您需要安装 GitHub Copilot CLI。准备工作完成后从您已有的重复性工作流入手先将其标准化。选择一个每周都会执行的任务将其转化为一个智能体确保它每次都能运行相同的检查、使用相同的工具并输出相同格式的可审查结果。如果您是首次接触智能体建议先尝试一个合作伙伴提供的智能体以熟悉相关工作流并体验这种新工作模式。浏览合作伙伴构建的智能体列表并在 CLI 中试用其中一个。您也可以创建一个小型自定义智能体并持续迭代优化。例如根据拉取请求标题与标签生成格式规范的 CHANGELOG.md 条目。将缺陷报告转换为结构化的 Issue 评论包含复现步骤、环境信息、严重程度及建议的后续步骤。自定义智能体通过将散落在笔记中或一次性提示词里的知识转化为可复用、结构化的工作流帮助您和团队实现工作流程的标准化。这对于团队协作尤为有价值同一项任务不同成员执行时往往会有不同做法。借助自定义智能体这些工作流变得可共享、可重复、更易于审查。自定义智能体还能让高效、重执行的任务从命令行CLI启动将上下文无缝带入集成开发环境IDE并最终在 GitHub 上形成可审查、可交付的工作成果。智能体有助于在整个工具链中保持上下文连贯避免在各个环节间丢失关键信息。一旦您将团队重视的工作流编码固化Copilot CLI 就不再只是寻求帮助的工具而是转变为可靠支撑团队日常实际工作方式的得力助手。—THE END—无论您是希望引入 Copilot CLI 提升终端开发效率还是希望基于自定义智能体构建团队专属的自动化工作流创实信息均可为您提供适配实际技术栈的落地方案。
返回列表