
# SDD开发模式标准工作流与斜杠命令实践
华为云码道代码智能体的规范驱动开发模式（SDD）是一种以规格说明为核心的软件开发方法。开发者提供需求描述后，智能体依次生成规格说明、设计方案与任务规划，让开发者和智能体在编码前就任务目标及实施方案达成共识，最终产出高质量代码。
华为云码道代码智能体的SDD开发模式采用如[图1]所示的四阶段递进式流程。
图1SDD开发模式流程及产物   
![](https://support.huaweicloud.com/bestpractice-codeartsagent/zh-cn_image_0000002670269365.png "点击放大")
在此基础上，华为云码道代码智能体提供了两种使用方式：
- 标准SDD工作流：在智能体对话切换到规范开发（Spec-Driven）模式后，由智能体主导推进，按如[图1]所示的顺序执行，每阶段产物人工确认过后进入下一环节。
- 斜杠命令模式：通过如[表1]所示的斜杠命令，由开发者自主调度，可灵活跳过或重复任意阶段。
   表1SDD斜杠命令说明 
  | 命令                  | 功能     | 输入                       | 输出        |
  |:---|:---|:---|:---|
  | ``` /sdd-new ```    | 创建需求规格 | 需求描述                     | spec.md   |
  | ``` /sdd-design ``` | 创建技术设计 | spec.md所在文件夹名称           | design.md |
  | ``` /sdd-tasks ```  | 创建编码任务 | spec.md和design.md所在文件夹名称 | tasks.md  |
  | ``` /sdd-apply ```  | 执行编码实现 | tasks.md所在文件夹名称          | 代码文件      |
     
  
本章节将以"为Web应用开发用户注册与登录功能"为例，详细对比两种方式的差异与适用场景。
#### 准备工作
在使用华为云码道代码智能体前，您需要先创建一个项目，用于集中存放工程中的各类文件。项目创建完成后，建议开启自动批准功能，AI将自动处理相关操作，无需人工干预。
1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0002.html)中操作，登录华为云码道代码智能体。
2. 创建一个项目，用于存放工程中的文件。 
   1. 在IDE工具顶部菜单栏中，单击"文件(F)"，选择"新建 \> 新建项目"，进入新建项目页面。
   
   2. 选择项目存放位置，输入项目名称（例如SDD_Demo），单击"确定"。 **项目名称必须以字母开头，可包含字母、数字、中划线或下划线，且总长度不能超过64个字符。**
      项目创建完成后，在"资源管理器"中可以查看到已创建的SDD_DEMO项目。
      
   
   
   
   
3. （可选）选择智能体运行模式并授权自动化操作。 
   1. 单击华为云码道代码智能体IDE右上角的设置图标 ![](https://support.huaweicloud.com/bestpractice-codeartsagent/zh-cn_image_0000002583370762.png)，进入全局设置页面。
   
   2. 在"对话流 \> 智能体 \> 终端命令运行模式"中，选择智能体执行终端命令的运行策略，本实践使用默认运行策略，即沙箱运行。
   
   3. 在"对话流 \> 智能体 \> 自动批准"中，单击 ![](https://support.huaweicloud.com/bestpractice-codeartsagent/zh-cn_image_0000002613730529.png)以开启所需的自动批准项目。
      **授权自动化操作后，复杂工程级代码生成流程中的各项任务可自动执行。** **如果您未开启自动化操作授权，在使用华为云码道代码智能体进行编码时，部分操作将需要您手动确认。**
      ![](https://support.huaweicloud.com/bestpractice-codeartsagent/public_sys-resources/caution_3.0-zh-cn.png)
      开启自动批准存在操作风险，请在开启前充分评估风险，并在安全可信环境中使用。
      表2自动批准参数说明 
      | 参数     | 说明                                          | 示例 |
      |:---|:---|:---|
      | 编辑     | 允许智能体调用edit、write、deleteFile等工具来编辑您计算机上的文件。 | 开启 |
      | 使用浏览器  | 允许智能体在浏览器中访问网站。                             | 开启 |
      | 网页抓取工具 | 允许智能体访问并抓取指定网页的内容。                          | 开启 |
         
      
   
   
   
   
 
#### 标准SDD工作流
标准SDD工作流是华为云码道代码智能体内置的规范驱动模式。用户在聊天界面选择"规范开发 Spec-Driven"后，输入需求描述，智能体会按照预设工作流逐步执行：首先生成需求规格文档spec.md，确认无误后自动进入方案创建，生成design.md，再生成任务清单tasks.md，最后执行编码实现。整个流程由AI自主驱动，用户主要在关键节点进行确认（接受或拒绝生成的文档）。
1. 在聊天界面的输入框下方选择"内置 \> 智能体"，切换到**智能体** 模式。右侧显示当前选用的模型，您可在下拉框中切换不同大语言模型。
   
   ![](https://support.huaweicloud.com/bestpractice-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
   如果没有正常显示华为云码道代码智能体的聊天窗口，请在顶部菜单栏的右上方，单击**展开AI侧栏** 图标 ![](https://support.huaweicloud.com/bestpractice-codeartsagent/zh-cn_image_0000002608066869.png)，即可打开华为云码道代码智能体。
   
   
2. 在聊天界面的模式选择中，单击"规范开发"，切换智能体到规范开发模式。
3. 在华为云码道代码智能体聊天界面的输入框中，输入如下提示词，并单击发送图标 ![](https://support.huaweicloud.com/bestpractice-codeartsagent/zh-cn_image_0000002651407188.png "点击放大")。
   
   ```
   请开发一个用户登录接口，支持用户通过用户名和密码进行身份认证，认证成功后返回JWT令牌，登录失败时记录失败次数，连续失败5次后锁定账号15分钟。
   ```
   
   
4. 查看生成的需求规格文件spec.md。提出相应的修改意见，华为云码道代码智能体会修改spec.md文件。 
   ```
   修改以下问题：
   登录成功后除了返回token，还需要返回用户基本信息（昵称、角色）
   锁定时间15分钟太长了，改为5分钟
   补充接口的限流机制，每分钟同一个IP最多请求10次
   响应码不要用200，统一使用业务码20000表示成功
   ```
   
   
5. 再次查看修改后的spec.md，确认需求理解准确后，单击"开始实现方案创建"。
6. 查看生成的design.md，确认技术方案合理后，单击"开始编码任务规划"。
7. 查看生成的tasks.md，确认任务拆解完整后，单击"开始任务执行"。
8. 等待任务执行完成后，获得完整的代码实现，同时沉淀了spec.md、design.md和tasks.md三份过程文档。
 
#### 斜杠命令模式
华为云码道代码智能体通过底层Skills封装，统一定义了四个标准化斜杠命令。开发者可以根据已有过程交付件情况，按需调用命令，无需重跑全流程。例如，执行"/sdd-apply"编码中途发现加密库过时，手动修改"design.md"，再依次运行"/sdd-tasks"和"/sdd-apply"。
1. 在聊天界面的输入框下方选择"内置 \> 智能体"，切换到**智能体** 模式。右侧显示当前选用的模型，您可在下拉框中切换不同大语言模型。
   
   ![](https://support.huaweicloud.com/bestpractice-codeartsagent/public_sys-resources/note_3.0-zh-cn.png)
   如果没有正常显示华为云码道代码智能体的聊天窗口，请在顶部菜单栏的右上方，单击**展开AI侧栏** 图标 ![](https://support.huaweicloud.com/bestpractice-codeartsagent/zh-cn_image_0000002608066869.png)，即可打开华为云码道代码智能体。
   
   
2. 在聊天界面的模式选择中，单击"氛围编程"，切换智能体到氛围编程模式。
3. 按需调用命令完成SDD开发。 
   - **/sdd-new：创建需求规格。**
     1. 在对话框输入"/"，在弹出的菜单中选择"/sdd-new"，输出如下需求描述，生成统一格式的spec.md。
        ```
        请帮我开发一个用户注册登录模块，包含手机号/邮箱注册、JWT登录认证、验证码发送、密码重置功能
        ```
        
     
     2. 进入**{项目根路径}** /.codeartsdoer/specs/**产物文件夹** 目录下，获取生成的spec.md。
        图2spec.md所在目录   
        ![](https://support.huaweicloud.com/bestpractice-codeartsagent/zh-cn_image_0000002640269480.png) 
     
     3. 您可基于当前需求规格文档进行评审，评审意见可以通过智能体修改或手动修改spec.md文件，直到需求规格文档符合业务预期。
      
   
   - **/sdd-design：创建技术设计。**
     如果当前您已有spec.md文件，您可直接调用"/sdd-design"，然后输入产物文件夹名称，例如user_auth，生成包含架构、接口描述的design.md。
     
   
   - **/sdd-tasks：创建编码任务。**
     在对话框输入"/"，在弹出的菜单中选择"/sdd-tasks"，然后输入产物文件夹名称（如user_auth），生成可执行的步骤清单tasks.md。
     
   
   - **/sdd-apply：执行编码实现。**
     在对话框输入"/"，在弹出的菜单中选择"/sdd-apply"，然后输入产物文件夹名称（如user_auth）。华为云码道代码智能体按tasks.md逐项执行编码任务。
     
   
   
   
   
 
#### 场景选型
在实际的开发中，标准SDD工作流和斜杠命令两种模式并非互斥，而是可以根据不同的项目阶段和团队角色灵活切换。新项目初期使用标准工作流快速跑通框架，建立完整的SDD文档体系。进入中期迭代切换到斜杠命令模式，利用四个命令进行增量开发和局部重构。
表3核心差异对比 
| 对比维度 | 标准SDD工作流                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 斜杠命令模式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| 执行方式 | 对话框输入需求，智能体主导流程串联，用户在关键节点接受或拒绝生成的文档。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 对话框调用命令，用户自主推进流程。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 灵活性  | 流程固定，不可跳过。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 可任意组合、重复执行单个命令。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 适用场景 | - 新项目从0到1启动 团队从需求分析、系统设计到SDD文档体系，构建完整的SDD开发流程。     - 标准化要求高的正式项目 对一致性、可验证性有高要求的场景，所有开发活动均围绕既定规范展开，确保最终在功能、性能等方面与规范高度一致。     - SDD新手入门 初次接触SDD的开发者，通过华为云码道代码智能体的分步引导快速建立完整链路。   - 需求相对稳定的项目 需求已经过充分讨论，开发过程中不会频繁调整方向和方案。    | - 需求频繁迭代或需求不明确，需反复确认的项目 若产品经理突然修改登录逻辑，只需手动修改spec.md，然后组合执行"/sdd-design"和"/sdd-tasks"，无需重新生成spec.md。   - 多人异步协作 架构师上午生成design.md并提交Git，开发人员下午拉取代码后，只需在聊天框执行"/sdd-tasks"和"/sdd-apply"即可。   - 已有部分文档 如果已手动写好spec.md，想直接开始设计，直接敲"/sdd-design"完成后续流程。    |
| 适用角色 | 产品经理快速验证想法。 独立开发者做小型项目。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 架构师需把关技术方案。 团队协作开发企业级应用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
