灵码如何使用skills

阿里云服务器

在阿里云通义灵码(Tongyi Lingma)中,Skills(技能) 是一个核心功能,它允许你将特定的代码片段、最佳实践、项目规范或常用工具类封装成可复用的“能力”。当你在聊天窗口提出相关需求时,灵码会自动识别并调用这些技能,生成符合你项目规范的代码,而不仅仅是通用的代码。

以下是使用灵码 Skills 的完整指南,包括如何使用现有技能如何创建自定义技能


一、如何使用现有 Skills(调用技能)

你不需要像调用函数那样显式地输入命令,灵码会通过自然语言意图识别自动触发技能。

1. 在 IDE 聊天窗口中直接提问

在 VS Code 或 JetBrains IDE 的灵码聊天侧边栏中,直接描述你的需求。如果需求匹配已激活的技能,灵码会优先使用该技能的逻辑。

  • 场景示例

    • 结果:灵码识别到“标准方式”匹配技能中的定义,生成包含你公司特定配置(如连接池参数、异常处理规范)的代码。

    • 结果:生成通用的 JDBC 或 SQLAlchemy 代码。

    • 通用提问:“帮我写一个数据库连接。”

    • 触发技能(假设你有一个名为 MyProject-DB-Standard 的技能):“用标准方式连接数据库。”

    2. 通过 @ 符号显式引用(推荐)

    为了更精准地调用特定技能,你可以在聊天输入框中使用 @ 符号。

    • 操作步骤

      1. 在聊天输入框输入 @

      2. 系统会弹出下拉菜单,列出所有可用技能(包括系统预置和你自定义的)。

      3. 选择目标技能(例如 @React-Best-Practices)。

      4. 继续输入你的需求,例如:“@React-Best-Practices 帮我写一个用户登录组件”。

    • 效果:灵码会严格基于该技能中定义的规范(如使用 Hooks、特定的目录结构、错误处理方式)来生成代码。

    3. 在代码生成建议中隐式应用

    当你编辑代码时,灵码生成的灰色行内建议(Ghost Text)也会受到已激活技能的影响。

    • 如果你的技能中定义了“所有 API 请求必须包含 Token 验证”,那么当你输入 axios.get 时,自动补全的代码会直接带上 Token 处理逻辑。


    二、如何创建自定义 Skills(核心玩法)

    这是灵码最强大的地方:你可以把团队的“祖传代码”或“架构规范”变成 AI 的能力。

    步骤 1:打开技能管理界面

    1. 在 IDE 侧边栏点击灵码图标。

    2. 点击聊天窗口右上角的 “技能” 图标(通常是一个类似魔法棒或盾牌的图标),或者在设置中找到 “我的技能” / “Skill Management”

    3. 点击 “新建技能” (Create Skill)

    步骤 2:配置技能信息

    你需要填写以下关键信息:

    • 技能名称:简短易记,如 Vue3-Component-Std

    • 技能描述非常重要。这是 AI 判断何时调用该技能的依据。

      • 写法建议:详细描述适用场景。例如:“用于生成符合公司规范的 Vue3 组件,必须使用 Composition API,包含 Props 类型定义,并使用 Scoped CSS。”

    • 适用语言:选择该技能适用的编程语言(如 TypeScript, Java, Python)。

    步骤 3:添加知识内容(Prompt 或代码示例)

    这是技能的“灵魂”。你有两种主要方式来定义技能:

    • 方式 A:提供高质量代码示例(Few-Shot Learning)

      • 粘贴 1-3 个符合规范的完整代码文件。

      • 作用:让 AI 模仿代码风格、目录结构、注释规范和错误处理模式。

      • 示例:粘贴一个标准的 Controller 类,包含统一的 Result 包装类和全局异常捕获。

    • 方式 B:编写指令规则(System Prompt)

      • 用自然语言写下强制规则。

      • 示例

        “生成代码时请遵守以下规则:

      1. 所有数据库操作必须使用 MyBatis-Plus。

      2. 实体类必须使用 Lombok 的 @Data 注解。

      3. 接口返回值必须统一为 R<T> 泛型结构。

      4. 禁止在 Controller 层编写业务逻辑。”

    步骤 4:保存并启用

    • 点击 “保存”

    • 确保技能开关处于 “启用” 状态。

    • 现在,该技能已生效。你可以立即在聊天窗口通过 @技能名 进行测试。


    三、进阶技巧与最佳实践

    1. 技能组合使用
      你可以同时引用多个技能。例如:@Vue3-Standard @Security-Rules 帮我写一个后台管理页面的用户列表。灵码会尝试融合两个技能的规范。

    2. 团队共享技能

      • 目前灵码主要支持个人技能。如果是团队使用,建议由架构师整理好一套标准的“技能描述文本”和“示例代码库”,分发给团队成员,让大家各自创建相同的技能,以统一团队代码风格。

      • 关注灵码后续更新,企业版可能支持云端同步技能库。

    3. 优化技能描述
      如果发现 AI 经常不调用你的技能,或者调用得不准确,请修改技能描述。描述越具体、关键词越丰富(包含框架名、库名、特定术语),识别率越高。

    4. 定期维护
      随着项目技术栈升级(例如从 Java 8 升级到 Java 17),记得更新技能中的示例代码和规则,确保 AI 生成的代码不过时。

    四、常见问题排查

    • Q: 为什么我输入了 @ 却看不到刚才创建的技能?

      • A: 检查技能是否已“启用”;检查技能适用的语言是否与当前打开的文件语言一致;尝试重启 IDE。

    • Q: 生成的代码还是不符合规范怎么办?

      • A: 在技能内容中增加更具体的“负面约束”(例如:“不要使用 raw SQL,必须使用 ORM”),或者提供更多正样本代码。

    • Q: 技能会影响性能吗?

      • A: 基本不会。技能主要是作为上下文提示(Context)发送给模型,只要内容不过于巨大(建议控制在几千字以内),对响应速度影响微乎其微。

    通过熟练使用 Skills,你可以将通义灵码从一个“通用的编程助手”训练成懂你项目、懂你团队规范的“专属高级开发工程师”。