在阿里云通义灵码(Tongyi Lingma)中,Skills(技能) 是一个核心功能,它允许你将特定的代码片段、最佳实践、项目规范或常用工具类封装成可复用的“能力”。当你在聊天窗口提出相关需求时,灵码会自动识别并调用这些技能,生成符合你项目规范的代码,而不仅仅是通用的代码。
以下是使用灵码 Skills 的完整指南,包括如何使用现有技能和如何创建自定义技能。
一、如何使用现有 Skills(调用技能)
你不需要像调用函数那样显式地输入命令,灵码会通过自然语言意图识别自动触发技能。
1. 在 IDE 聊天窗口中直接提问
在 VS Code 或 JetBrains IDE 的灵码聊天侧边栏中,直接描述你的需求。如果需求匹配已激活的技能,灵码会优先使用该技能的逻辑。
场景示例:
结果:灵码识别到“标准方式”匹配技能中的定义,生成包含你公司特定配置(如连接池参数、异常处理规范)的代码。
结果:生成通用的 JDBC 或 SQLAlchemy 代码。
通用提问:“帮我写一个数据库连接。”
触发技能(假设你有一个名为
MyProject-DB-Standard的技能):“用标准方式连接数据库。”
2. 通过 @ 符号显式引用(推荐)
为了更精准地调用特定技能,你可以在聊天输入框中使用 @ 符号。
操作步骤:
在聊天输入框输入
@。系统会弹出下拉菜单,列出所有可用技能(包括系统预置和你自定义的)。
选择目标技能(例如
@React-Best-Practices)。继续输入你的需求,例如:“@React-Best-Practices 帮我写一个用户登录组件”。
效果:灵码会严格基于该技能中定义的规范(如使用 Hooks、特定的目录结构、错误处理方式)来生成代码。
3. 在代码生成建议中隐式应用
当你编辑代码时,灵码生成的灰色行内建议(Ghost Text)也会受到已激活技能的影响。
如果你的技能中定义了“所有 API 请求必须包含 Token 验证”,那么当你输入
axios.get时,自动补全的代码会直接带上 Token 处理逻辑。
二、如何创建自定义 Skills(核心玩法)
这是灵码最强大的地方:你可以把团队的“祖传代码”或“架构规范”变成 AI 的能力。
步骤 1:打开技能管理界面
在 IDE 侧边栏点击灵码图标。
点击聊天窗口右上角的 “技能” 图标(通常是一个类似魔法棒或盾牌的图标),或者在设置中找到 “我的技能” / “Skill Management”。
点击 “新建技能” (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)
用自然语言写下强制规则。
示例:
“生成代码时请遵守以下规则:
所有数据库操作必须使用 MyBatis-Plus。
实体类必须使用 Lombok 的 @Data 注解。
接口返回值必须统一为
R<T>泛型结构。禁止在 Controller 层编写业务逻辑。”
步骤 4:保存并启用
点击 “保存”。
确保技能开关处于 “启用” 状态。
现在,该技能已生效。你可以立即在聊天窗口通过
@技能名进行测试。
三、进阶技巧与最佳实践
技能组合使用:
你可以同时引用多个技能。例如:@Vue3-Standard @Security-Rules 帮我写一个后台管理页面的用户列表。灵码会尝试融合两个技能的规范。团队共享技能:
目前灵码主要支持个人技能。如果是团队使用,建议由架构师整理好一套标准的“技能描述文本”和“示例代码库”,分发给团队成员,让大家各自创建相同的技能,以统一团队代码风格。
关注灵码后续更新,企业版可能支持云端同步技能库。
优化技能描述:
如果发现 AI 经常不调用你的技能,或者调用得不准确,请修改技能描述。描述越具体、关键词越丰富(包含框架名、库名、特定术语),识别率越高。定期维护:
随着项目技术栈升级(例如从 Java 8 升级到 Java 17),记得更新技能中的示例代码和规则,确保 AI 生成的代码不过时。
四、常见问题排查
Q: 为什么我输入了
@却看不到刚才创建的技能?A: 检查技能是否已“启用”;检查技能适用的语言是否与当前打开的文件语言一致;尝试重启 IDE。
Q: 生成的代码还是不符合规范怎么办?
A: 在技能内容中增加更具体的“负面约束”(例如:“不要使用 raw SQL,必须使用 ORM”),或者提供更多正样本代码。
Q: 技能会影响性能吗?
A: 基本不会。技能主要是作为上下文提示(Context)发送给模型,只要内容不过于巨大(建议控制在几千字以内),对响应速度影响微乎其微。
通过熟练使用 Skills,你可以将通义灵码从一个“通用的编程助手”训练成懂你项目、懂你团队规范的“专属高级开发工程师”。