规则设置

通义灵码支持项目专属规则(Project Rules)的设定, 这些规则存储在 .lingma/rules 目录下,仅对当前工程生效。通过设定项目专属规则,可以帮助模型更精准地理解并适应您的编码偏好,例如理解项目框架和代码风格等。

image点击查看灵码规则库,获取系统提示词的最佳实践。

前提条件

如需使用该功能 ,需要开发者将通义灵码更新至以下版本,或者下载 Lingma IDE ,如需更新请前往下载和安装

  • JetBrains 插件:更新至 v2.1.5 及以上。

  • VS Code 插件:更新至 v2.5.16 及以上。

  • Visual Studio 插件:更新至 v0.4.4 及以上。

  • Lingma IDE:已下载并安装。

规则限制

  • 单个规则文件最大限制为 10000 字符,超过部分将自动截断。

  • 规则文件请使用自然语言描述,不支持图片或链接的解析。

规则同步

  • 规则文件存储在项目目录中,可以随项目代码一同通过Git等版本控制工具进行团队间的共享和同步。

  • 如果希望规则仅对个人本地环境生效,可以将.lingma/rules目录添加到项目的.gitignore文件中。

规则设置和使用

在不同的IDE中,其配置界面的入口和操作方式略有差异。下面为您分别介绍如何在VS Code、JetBrains、Visual StudioLingma IDE中设置和使用项目专属规则。

说明

当规则和记忆存在冲突时,将优先遵循规则执行。

VS Code

规则类型

根据引入和触发方式的不同,我们将规则分为以下4个类型,以灵活适配各类业务场景。

类型

触发方式

适用场景

手动引入(Manual)

在智能会话或行间会话中通过#rule手动引入才生效。

按需执行一次性或特定的工作流、自定义提示词等。

模型决策(Model Decision)

在智能会话中使用智能体模式时,或在智能问答开启工具使用后,模型将根据用户定义规则的描述内容,自主决策是否应用该规则。

由模型自主决策,仅在特定场景下生效的规则,例如生成单测时生效,或生成注释时生效等。

始终生效(Always)

在智能会话与行间会话中的所有请求中均会生效。

设定项目级的通用规范,如编码风格、偏好格式、默认的回答角色等

指定文件生效(Specific Files)

在智能会话和行间会话中,根据用户指定的文件匹配模式(如 .jssrc/**/.ts),此规则将应用于所有符合该模式的文件。

可以根据通配符精准匹配生效的文件范围,为特定语言或目录创建专属规则。例如,针对某类语言生效的规则,或针对某个文件夹生效的校验规则。

设置规则

  1. 单击IDE侧边栏的图标image进入智能会话

  2. 智能会话页面,单击右上角用户头像,并在下拉菜单中单击个人设置

  3. 在个人设置页面,单击规则下的条形框进入规则页面。

    6-3-pts (46)

  4. 规则页面,您可添加、编辑、删除规则。

    • 添加规则:单击右上角+添加规则,然后在弹窗中填写规则信息,完成后单击立即添加创建该规则。

      6-3-pts (47)

      • 规则名称:输入规则名称,规则名称将作为唯一标识符和规则文件名。

      • 规则类型:选择您需要配置的规则类型,支持以下四种:

        • 手动引入(Manual):仅在智能会话或行间会话中通过#rule手动引入才生效。

        • 模型决策(Model Decision):选择后需输入规则描述,您可输入期望该规则生效的场景,例如在生成单元测试时生效或生成注释时生效。模型将根据描述自主决策是否使用该规则。

        • 指定文件生效(Specific Files):选择后需输入文件路径通配符,多个通配符之间用英文逗号隔开。示例:*.md,src/*.java

        • 始终生效(Always):在智能会话与行间会话的所有请求中均会生效。

    • 编辑、删除规则:

      6-3-pts (51)

使用规则

  • 手动引入(Manual)

    在对话框输入#rule唤起规则列表,选择所需规则。

    6-3-pts (52)

  • 模型决策(Model Decision)

    在智能问答中使用 Agent 模式进行对话时,模型将根据用户定义的模型决策类规则的描述内容,自主决策是否应用该规则。如图所示,模型可在不同场景下动态调用检索规则工具。

    设定规则

    6-3-pts (53)

    使用规则

    6-3-pts (55)

  • 始终生效(Always)

    在智能会话与行间会话的所有请求中均会生效。如下图所示:

    6-3-pts (56)

  • 指定文件生效(Specific Files)

    根据用户定义的通配符模式(例如.jssrc/**/.ts),此规则将应用于与该模式匹配的所有文件。

JetBrains、Visual Studio、Lingma IDE

设置规则

如下图以 IntelliJ IDEA 为例打开环境设置,然后在设置窗口单击通义灵码,然后找到项目规则即可编辑规则文件。莫3@1x (4)

使用效果

最佳实践

为了帮助通义灵码有效地遵守您的规则,规则文件编写请遵循以下做法:

  • 保持简洁明确:保持规则简洁、明确、具体。过长或含糊不清的规则可能会让通义灵码感到困惑。

  • 结构化表达:使用项目符号、编号列表和 Markdown 格式来格式化您的规则。与长段落相比,这些格式更易于通义灵码理解。

  • 提供示例:在规则中提供“好的代码示例”(Do),这能极大地帮助模型理解您的意图。

  • 迭代优化:创建规则后,通过实际的代码生成和问答来测试其效果,并根据模型的反馈不断迭代和优化您的规则描述。

说明

image 点击查看灵码规则库,获取系统提示词的最佳实践。