通过


通过代理技能扩展 Genie Code

Genie Code 附带了预配置常见Azure Databricks工作流的内置技能,例如在Azure Databricks笔记本中编写代码、浏览 Unity 目录中的数据、生成仪表板、创建管道以及使用 MLflow。 还可以创建自己的技能,在代理模式下扩展 Genie Code,使用专为领域相关任务设计的功能。 本页介绍如何创建和优化技能。

什么是技能?

创建技能以扩展具有专用功能的 Genie Code。 技能遵循 代理技能的开放标准。 当相关时,技能包打包了特定领域的知识和工作流,Genie Code 可以加载以执行特定任务。 技能可以包括指南、最佳做法、可重用代码和可执行脚本。

应针对特定于域的任务定制技能。 通过技能,比起仅仅依靠使用说明,您可以为任务提供更广泛的上下文(例如脚本、示例和其他资源)。 与全局应用的 自定义说明不同,技能会自动加载,并且仅在相关上下文中加载。 在代理模式下,Genie Code 会根据你的请求和技能描述自动加载技能。 还可以通过 @ 提及技能来手动调用技能。 这将保持高效的上下文窗口,并减少跨多个聊天提供相同上下文的需求。

有两种类型的技能:

  • 工作区技能:可供工作区中的所有人使用。 工作区管理员可以创建工作区技能,并向其他人授予对技能文件夹的访问权限以添加更多内容。 对团队中广泛有用的工作流(例如机器学习工作流或特定领域的流程)使用工作区技能。
  • 用户技能:仅适用于你。 将用户技能用于与其他工作区成员无关的个人工作流。

注释

技能仅在 Genie Code 代理模式下受支持。

创建技能

技能位于 .assistant/skills/ 目录中。 每个技能必须有自己的文件夹,并在该文件夹中包含一个SKILL.md文件。 位置取决于技能类型:

  • 工作区技能Workspace/.assistant/skills/
  • 用户技能/Users/{username}/.assistant/skills/

创建新技能:

  1. 在技能类型的适当路径处创建新的技能文件夹。

    创建后,可以在 Genie Code 面板中快速访问技能文件夹。 单击 齿轮图标。 设置,然后单击 图标中的箭头。 打开 skills 文件夹

  2. 为技能文件夹中的技能创建专用文件夹。 每个技能必须有自己的文件夹。 例如:

    Workspace/.assistant/skills/
    └── ml-workflows/
        └── SKILL.md
    
    /Users/{username}/.assistant/skills/
    └── personal-workflows/
        └── SKILL.md
    
  3. 在技能文件夹中创建一个 SKILL.md 文件。 此文件是必需的,并定义技能。 技能遵循 代理技能的规范。

  4. 为您的技能添加所需的前置内容:

    ---
    name: skill-name
    description: A description of what this skill does and when to use it.
    ---
    
  5. 在 frontmatter 后面添加 Markdown 格式的技能说明。 建议包含以下部分:

    • 分步说明:明确的过程指导
    • 示例:示例输入和预期输出
    • 边缘情况:常见变体和异常
  6. (可选)对于更复杂的技能,可以提供和引用其他资源:

    • 包含代理可以运行的可执行代码的脚本。
    • 包含要引用的其他文档的文件,例如最佳做法和模板。

    引用其他文件时,请使用根技能中的相对路径。

    例如,工作区机器学习工作流技能和个人工作流技能可能具有以下结构:

    Workspace/.assistant/skills/
    ├── ml-workflows/
       ├── SKILL.md                # Workflow overview and best practices
       ├── training-patterns.md    # Standard ML training patterns
       └── scripts/
             └── model-deploy.py   # Model deployment automation
    
    /Users/{username}/.assistant/skills/
    ├── personal-workflows/
       ├── SKILL.md                # Workflow overview and best practices
       ├── etl-patterns.md         # Personal ETL best practices
       ├── dashboard-templates.md   # Reusable dashboard patterns
       └── scripts/
             └── pipeline-setup.sh   # Environment setup scripts
    

Genie Code 会在下次以代理模式使用时自动识别你的技能。 还可以@提及技能,以确保Genie Code能使用这些技能。

最佳做法

遵循以下准则撰写有效的技能:

  • 选择适当的技能类型。 利用工作区技能创建能够使许多用户受益的工作流,例如共享的机器学习管道或特定领域的流程。 将用户技能用于与其他人无关的个人工作流。
  • 保持技能专注。 技能在专注于单个任务或工作流时效果最佳。 使用狭窄的范围,Genie Code 更容易识别技能的适用时机。
  • 使用明确的名称和说明。 简洁的描述性名称和摘要帮助 Genie Code 将正确的技能与正确的请求相匹配。
  • 明确表达,注重示例 分步描述工作流,并包括 Genie Code 可重复使用的具体示例或模式。
  • 避免不必要的上下文。 仅包含任务所需的信息。 额外的细节可以使技能更难可靠地应用。
  • 反复进行。 将技能视为生活工作流。 基于实际使用情况的小型更新可以显著改善结果。
  • 将指南与自动化分开。 使用 Markdown 解释意图、最佳实践和脚本,以实现可重复的操作。 保持这些关注点不同,使技能更易于维护和重复使用。
  • 对你的技能进行版本控制。 使用 Databricks Git 文件夹 备份技能文件夹,以跟踪更改、与团队成员协作,并在需要时回滚。

另请参阅