返回资讯中心
外部精选
软件工程
#开发者工具#AI & ML#GitHub Copilot#GitHub Universe

GitHub 发布指南:用 Agent Skills 实现一次编写、多智能体复用

来源标题:Build once, run on any agent: A practical guide to agent skills

GitHub 在 Universe 2026 大会上分享了 Agent Skills 的实践指南,该机制把可重复的工程任务写入以 SKILL.md 为核心的版本化目录,供团队审查和跨智能体复用。技能本身只描述任务做法,工具、凭据和权限仍由运行它的宿主环境提供,因此技能不能自行获得数据库等资源的访问权。

GitHub BlogAndrea Griffiths2026/11/12 · 今天20 分钟阅读

以下正文由 AI 翻译自 GitHub Blog(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

这周你有多少次向 agent 重新解释同一个任务?有多少次向掌握深厚机构知识的同事请教某个具体问题该怎么解决?这些上下文不该丢失在聊天记录里,也不该锁在某个人脑中。Agent skills 让你把可重复的指令记录下来,供你自己和 agent 复用。你今晚为自己写的 skill,之后可能成为团队流水线的一部分。

一个 agent skill 是一个带版本号的目录,核心是一个 SKILL.md 文件,描述何时以及如何完成一项可重复的任务。你可以在多个 agent 之间共享这些指令,但环境仍需提供执行所需的工具、凭据和权限。例如,一个 skill 可以描述如何查询数据库,但它并不授予对该数据库的访问权限。

我在 GitHub Universe 2026 上与 Procore 数据工程高级经理 Shishir Tewari 一起直播了这个话题。我们的分会场主题是“一次构建,随处运行:agent skills 实用指南”。

定义一个任务及其适用场景

当一个 skill 有明确的任务、输入和输出时,效果最好。例如,假设你在构建一个 agent,用来对照原始请求检查 AI 生成的变更。如果同一个 agent 评估自己的工作,它的解释可能会影响评审结果。在 Proof Agent 中,我们使用一个独立的验证器来检查变更,并为其发现提供证据。该 skill 的 frontmatter 命名了任务并描述了用途:

---
name: proof-agent
description: Adversarial verification of AI-generated work. Spawns an independent verifier to check for false claims, broken code, and security issues.
---

核心是一条简单的规则:自我验证不算验证。

Proof Agent 的 SKILL.md 中的“When to Verify”部分说明了何时调用该 skill。其余指令解释了验证器审查什么,以及其发现中应包含哪些证据。

协调多个 skill 以支撑更大的工作流

当让数据管道正确的判断分散在四个人脑中时,这四个人就是路线图。管道的每次变更都依赖他们的可用性和对数据的了解。Data Forge 是一个示例,展示如何将部分判断捕获到协同工作的 skill 中。

在支持台管道示例中,我们从请求统计创建和解决事件数量的指标开始。在构建管道之前,forge-init skill 会发现源表、命名约定等细节,然后将其写入 resolved manifest。其他 skill 读取该 manifest 以获取所需的项目上下文。

随后,forge-builder skill 协调从 issue 到 pull request 的整个工作。它使用 forge-dbx 查询数据平台,并在设计和构建管道时使用 forge-lint 应用团队标准。在此过程中,由人审查提出的决策,最终的 pull request 包含管道代码、schema 变更和测试。

每个 skill 都有明确的职责,它们共享项目上下文,而不是各自独立地重新发现。当某个步骤发生变化时,你可以只改一个 skill,其余不动。

Skills 适合有边界、可重复且受益于可复用判断的工作,例如检查清单、发布、迁移或指标管道。如果工作流需要稳定的接口、共享状态、审计轨迹、长时间运行的控制,或在模型之外强制执行的权限,那么应用是更合适的选择。

将项目配置排除在 skill 之外

我们不希望将每个项目的名称、数据库或约定硬编码到 skill 中。在 Data Forge 支持台示例中,一个 manifest 描述了项目、指标存储和平台,这样 skill 就能使用正确的项目细节,而无需将其固化到指令中:

project:
  name: "support-desk"
  store_name: "support_metric_store"
platform:
  engine: "duckdb"
  pipeline_framework: "spark_python"
  duckdb_dir: "warehouse"

将发现的细节放入 resolved manifest 后,其他 skill 就不必对项目做出自己的假设。

将发现的项​​目细节与团队标准分开。forge-init 初始化 skill 可以检查现有的 schema 和代码模式;forge-lint skill 提供生成代码前应遵循的规则。在仓库中发现的模式并不自动成为需要保留的规则,因此要让发现的细节可审查,并在需要业务判断的地方让人确认或修改。要检查可移植性,可以问:另一个团队能否用自己的 manifest 使用这些 skill,而无需重写?

在 skill 之间共享执行路径

forge-dbx skill 为其他 Data Forge skill 提供了一种访问数据平台的方式。它读取 manifest 并选择 Databricks 或 DuckDB 适配器,这样每个 skill 就不需要自己的连接和查询逻辑。

Manifest 可以为本地支持台演示选择 DuckDB,但它无法安装 DuckDB CLI 或授予数据库访问权限。这些仍然是环境及其用户的设置责任。Manifest 选择引擎;宿主提供访问权限。

在工作流中加入检查和审批点

Data Forge 支持台工作流有七个阶段,每个阶段都有一个人工检查点。工作流概览展示了这些 skill 如何衔接。在进入下一阶段之前,工作流会检查上一阶段是否完成;在运行 schema 变更之前,它会请求批准。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →