Genie Code 附带了常见Azure Databricks工作流的内置技能:在笔记本中编写代码、浏览 Unity 目录中的数据、构建仪表板、创建管道以及使用 MLflow。 创建自定义技能,为 Genie Code 扩展专门能力,以支持团队特定领域的任务。 本页介绍如何创建和优化它们。
什么是技能?
创建技能以通过专业功能扩展 Genie Code。 技能遵循 代理技能的开放标准。 技能封装了特定领域的知识和工作流,当与特定任务相关时,Genie Code 可以加载这些技能来执行任务。 技能可以包括指南、最佳做法、可重用代码和可执行脚本。
应针对特定于域的任务定制技能。 通过技能,比起仅仅依靠使用说明,您可以为任务提供更广泛的上下文(例如脚本、示例和其他资源)。 与全局应用的 自定义说明不同,技能会自动加载,并且仅在相关上下文中加载。 根据你的请求和技能的说明,Genie Code 会在相关时自动加载技能。 您还可以通过 @ 提及技能来手动调用它们。 这将保持高效的上下文窗口,并减少跨多个聊天提供相同上下文的需求。
有两种类型的技能:
- 工作区技能:可供工作区中的所有人使用。 工作区管理员可以创建工作区技能,并向其他人授予对技能文件夹的访问权限以添加更多内容。 使用工作区技能在整个组织内强制执行统一标准,为所有用户提供一致的输出(例如,可屏蔽敏感列的 PII 处理技能),或服务于不同团队(例如,面向数据工程师的管道模板,以及面向 ML 平台用户的模型训练操作手册)。
- 用户技能:仅适用于你。 将用户技能用于个人首选项,例如首选库、编码样式或角色和背景上下文。 在将技能提升到工作区级别之前,用户技能也可用于制作技能原型。
创建技能
技能位于 .assistant/skills/ 目录中。 每个技能必须有自己的文件夹,并在该文件夹中包含一个SKILL.md文件。 位置取决于技能类型:
-
工作区技能:
Workspace/.assistant/skills/ -
用户技能:
/Users/{username}/.assistant/skills/
创建新技能:
在技能类型的适当路径处创建新的技能文件夹。
创建后,可以快速访问 Genie Code 面板中的技能文件夹。 单击
设置,然后单击
打开 skills 文件夹。
为技能文件夹中的技能创建专用文件夹。 每个技能必须有自己的文件夹。 例如:
Workspace/.assistant/skills/ └── ml-workflows/ └── SKILL.md /Users/{username}/.assistant/skills/ └── personal-workflows/ └── SKILL.md在技能文件夹中创建一个
SKILL.md文件。 此文件是必需的,并定义技能。 技能遵循 代理技能的规范。为您的技能添加所需的前置信息:
--- name: skill-name description: A description of what this skill does and when to use it. ---在 frontmatter 后面添加 Markdown 格式的技能说明。 建议包含以下部分:
- 分步说明:明确的过程指导
- 示例:示例输入和预期输出
- 边缘情况:常见变体和异常
(可选)对于更复杂的技能,可以提供和引用其他资源:
- 包含代理可以运行的可执行代码的脚本。
- 包含要引用的其他文档的文件,例如最佳做法和模板。
引用其他文件时,请使用根技能中的相对路径。
例如,工作区机器学习工作流技能和个人工作流技能可能具有以下结构:
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能使用这些技能。
编辑现有技能时,启动新的聊天线程以应用更改。 编辑不会在活跃线程中生效。 如果技能仍然过时(例如显示旧行为或过时的说明),请硬刷新浏览器选项卡以清除缓存的技能元数据。
最佳做法
遵循以下指南编写有效的技能:
- 选择适当的技能类型。 使用工作区技能来编码共享标准(如 PII 处理、命名约定或特定于团队的模板),以便每个用户获得一致的输出。 使用用户技能来满足个人偏好设置,并在将其推广到工作区之前先制作技能原型。
- 保持技能的专注性。 技能在专注于单个任务或工作流时效果最佳。 使用狭窄的范围,Genie Code 更容易识别技能的适用时机。
- 使用明确的名称和说明。 简洁的描述性名称和摘要帮助 Genie Code 将正确的技能与正确的请求相匹配。
- 明确表达,注重示例 分步描述工作流,并包括 Genie Code 可重复使用的具体示例或模式。
- 避免不必要的上下文。 仅包含任务所需的信息。 额外的细节可以使技能更难可靠地应用。
- 反复进行。 将技能视为生活工作流。 基于实际使用情况的小型更新可以显著改善结果。
- 使用 Genie Code 编写技能。 使用 Genie Code 起草和完善技能。 在具有代表性的任务上测试新技能或更新后的技能,找出智能体在哪些方面存在困难,然后更新指令以弥补这些不足。
- 将指南与自动化分开。 使用 Markdown 解释意图、最佳实践和脚本,以实现可重复的操作。 保持这些关注点不同,使技能更易于维护和重复使用。
- 对你的技能进行版本控制。 使用 Databricks Git 文件夹 备份技能文件夹,以跟踪更改、与团队成员协作,并在需要时回滚。
其他资源
- 改进 Genie Code 响应的技巧:了解如何在聊天提示中手动引用技能。
- AI 编码助手的代理技能:发现和安装 AI 编码助手(如 Claude 和 GitHub Copilot)的代理技能。
- 代理技能最佳做法:打开用于创建技能的标准指南。
- Anthropic 智能体技能最佳实践:Anthropic 关于编写有效智能体技能的指导。