1166 lines
46 KiB
Markdown
1166 lines
46 KiB
Markdown
# 外部 Coding Agent 技能规范(研发云协同 · 离线生产层)
|
||
|
||
> **定位**:外部 Coding Agent 不访问研发云 MCP,专注离线生成高质量中间产物(文档/代码/分析建议),交付给研发云数字员工(在线执行层)落地。
|
||
>
|
||
> **共 5 个技能**(1 个总控 + 4 个域技能),总控负责意图路由与任务规划,4 个域技能按优先级排序:PRD 生成 → 架构设计文档 → HTML 原型 → 工作项拆分建议。
|
||
|
||
---
|
||
|
||
## 技能 0:意图路由与任务规划(orchestrator-router-distilled)
|
||
|
||
### 0.1 职责
|
||
|
||
分析用户原始输入,完成**意图识别 → 域路由 → 任务拆解 → 上下文压缩**,生成标准化任务指令(JSON),分发给下游 4 个域技能之一或多个。这是外部 Coding Agent 的**总控入口**——所有用户请求先经过本技能分析,再路由到具体域技能执行。
|
||
|
||
### 0.2 核心价值
|
||
|
||
| 价值点 | 说明 |
|
||
|--------|------|
|
||
| **意图识别** | 从模糊自然语言中精确判断用户想做什么(生成PRD?做原型?拆工作项?) |
|
||
| **域路由** | 根据意图自动选择对应的域技能,避免用户手动指定 |
|
||
| **任务拆解** | 复合请求拆成有序子任务链(如"帮我做个客户管理功能"→PRD→架构→原型→拆分) |
|
||
| **上下文压缩** | 把长对话/多文档/历史消息压缩成结构化上下文摘要,降低下游技能的 token 消耗 |
|
||
| **参数预填** | 从用户输入中提取域技能所需的关键参数(项目名、设计体系、平台等),减少下游交互轮次 |
|
||
| **缺失检测** | 识别关键信息缺失项,一次性向用户追问,避免下游技能多次打断 |
|
||
|
||
### 0.3 输入
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| `user_input` | String | 是 | 用户原始话术(未经加工的自然语言) |
|
||
| `conversation_history` | String | 否 | 对话历史摘要(多轮对话场景,最近5轮) |
|
||
| `attached_files` | String[] | 否 | 用户附件内容摘要(文档/图片/截图的文本描述) |
|
||
| `user_context` | Object | 否 | 用户上下文(项目ID、团队信息、当前迭代等已知信息) |
|
||
|
||
### 0.4 输出(标准化任务指令 JSON)
|
||
|
||
```json
|
||
{
|
||
"meta": {
|
||
"request_id": "唯一标识",
|
||
"timestamp": "生成时间",
|
||
"user_input_raw": "用户原始话术",
|
||
"intent_confidence": 0.0-1.0
|
||
},
|
||
"intent": {
|
||
"primary_domain": "prd | architecture | prototype | workitem_split | multi_step",
|
||
"secondary_domains": ["architecture", "prototype"],
|
||
"action_type": "create | modify | query | analyze",
|
||
"description": "一句话描述识别到的意图"
|
||
},
|
||
"task_plan": {
|
||
"execution_mode": "single | sequential | parallel",
|
||
"steps": [
|
||
{
|
||
"step_id": 1,
|
||
"skill": "srdcloud-prd-distilled",
|
||
"skill_label": "PRD生成",
|
||
"depends_on": [],
|
||
"status": "ready"
|
||
},
|
||
{
|
||
"step_id": 2,
|
||
"skill": "architecture-design-doc-distilled",
|
||
"skill_label": "架构设计文档",
|
||
"depends_on": [1],
|
||
"status": "blocked"
|
||
}
|
||
]
|
||
},
|
||
"context_summary": {
|
||
"project_name": "从输入提取或推断的项目名",
|
||
"requirement_text": "整理后的需求描述(去除口语化、补全隐含信息)",
|
||
"key_entities": ["客户管理", "跟进提醒", "消息推送"],
|
||
"tech_constraints": "已识别的技术约束(框架/数据库/平台等,无则null)",
|
||
"design_hints": {
|
||
"design_system": "Neutral Modern | null(未指定)",
|
||
"platform": "响应式Web | null",
|
||
"page_type": "dashboard | null"
|
||
},
|
||
"team_info": "团队成员信息(无则null)",
|
||
"sprint_info": "迭代信息(无则null)"
|
||
},
|
||
"missing_info": [
|
||
{
|
||
"field": "project_name",
|
||
"reason": "用户未提及项目名",
|
||
"question": "请问这个需求属于哪个项目?",
|
||
"is_blocking": false,
|
||
"default_value": "未命名项目"
|
||
}
|
||
],
|
||
"delivery_instructions": [
|
||
{
|
||
"target_skill": "srdcloud-prd-distilled",
|
||
"parameters": {
|
||
"requirement_text": "{context_summary.requirement_text}",
|
||
"project_name": "{context_summary.project_name}"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
### 0.5 意图识别规则
|
||
|
||
#### 关键词 → 域技能路由表
|
||
|
||
| 关键词/语义模式 | 路由目标 | action_type | 说明 |
|
||
|----------------|---------|-------------|------|
|
||
| PRD/需求文档/产品需求/写需求 | srdcloud-prd-distilled | create | 生成PRD |
|
||
| 修改PRD/更新需求文档/补充需求 | srdcloud-prd-distilled | modify | 修改已有PRD |
|
||
| 架构/技术方案/技术规约/接口设计/数据模型 | architecture-design-doc-distilled | create | 生成架构设计文档 |
|
||
| 修改架构/调整技术方案 | architecture-design-doc-distilled | modify | 修改已有架构文档 |
|
||
| 原型/页面/demo/界面/UI/设计稿/HTML | design-proto-distilled | create | 生成HTML原型 |
|
||
| 换风格/调平台/改文案/换色/调布局 | design-proto-distilled | modify | 迭代修改已有原型 |
|
||
| 拆分/拆任务/工作项/用户故事/排期/指派 | workitem-split-advisor-distilled | create | 生成工作项拆分建议 |
|
||
| 做个功能/帮我实现/我想要一个 | multi_step | create | 复合请求,需多技能串联 |
|
||
|
||
#### 复合请求识别(multi_step)
|
||
|
||
当用户输入同时包含以下信号时,判定为复合请求,触发多技能串联:
|
||
|
||
| 信号组合 | 串联顺序 |
|
||
|---------|---------|
|
||
| "做个XX功能"(无已有PRD) | PRD → 架构 → 原型 → 拆分 |
|
||
| "做个XX功能"(已有PRD) | 架构 → 原型 → 拆分 |
|
||
| "根据这个需求做个原型" | PRD → 原型 |
|
||
| "写个PRD然后拆任务" | PRD → 拆分 |
|
||
| "需求文档+技术方案+原型" | PRD → 架构 → 原型 |
|
||
|
||
#### 置信度评估
|
||
|
||
| 置信度 | 判定条件 | 处理方式 |
|
||
|--------|---------|---------|
|
||
| ≥0.8 | 关键词明确命中单一域 | 直接路由,不追问 |
|
||
| 0.5-0.8 | 关键词部分命中或有多域信号 | 路由到主域,标注次要域 |
|
||
| <0.5 | 关键词模糊或无明确意图 | 向用户追问一次,提供选项 |
|
||
|
||
### 0.6 上下文压缩规则
|
||
|
||
#### 需求描述整理
|
||
|
||
将用户口语化输入转化为结构化需求描述:
|
||
1. **去除口语化**:删除"帮我""我想""能不能"等无信息量词汇
|
||
2. **补全隐含信息**:根据上下文推断省略的主语、宾语
|
||
3. **结构化**:按"目标用户 + 核心功能 + 业务价值"三要素整理
|
||
4. **标注不确定项**:对推断的部分标注 `[推断]`,对缺失的部分标注 `[待确认]`
|
||
|
||
#### 关键实体提取
|
||
|
||
从需求描述中提取以下实体类型:
|
||
- **功能模块**:如"客户管理""跟进提醒""消息推送"
|
||
- **用户角色**:如"销售""主管""运营"
|
||
- **技术关键词**:如"Spring Boot""MySQL""Redis"(用于架构设计预填)
|
||
- **设计关键词**:如"后台""仪表盘""登录页"(用于原型设计预填)
|
||
- **业务约束**:如"7天内完成""支持1000并发"
|
||
|
||
#### 设计简报预提取
|
||
|
||
当路由目标包含 `design-proto-distilled` 时,从需求中预提取设计简报参数:
|
||
|
||
| 参数 | 提取规则 | 默认值 |
|
||
|------|---------|--------|
|
||
| `design_system` | 匹配9套设计体系关键词表 | Neutral Modern |
|
||
| `platform` | 匹配6种平台关键词表 | 响应式Web |
|
||
| `page_type` | 匹配13种页面类型关键词表 | 通用前端 |
|
||
| `page_topic` | 提取页面主题(产品名/功能名) | [待确认] |
|
||
| `target_audience` | 提取目标用户角色 | null |
|
||
| `core_content` | 提取核心功能描述(1-2句) | [待确认] |
|
||
| `multi_view` | 检测是否含≥2个功能模块 | false |
|
||
|
||
> 预提取的设计简报参数直接注入 `delivery_instructions` 的 `parameters` 中,下游技能无需再次推断。
|
||
|
||
### 0.7 缺失信息检测
|
||
|
||
检测下游技能所需但用户未提供的关键信息,生成追问清单:
|
||
|
||
| 检测项 | 对应域技能 | 阻断级别 | 追问示例 |
|
||
|--------|-----------|---------|---------|
|
||
| `project_name` 缺失 | PRD/架构/拆分 | 非阻断(有默认值) | "请问这个需求属于哪个项目?" |
|
||
| `requirement_text` 过于模糊 | PRD | 阻断 | "能否详细描述一下核心功能和目标用户?" |
|
||
| `page_topic` 缺失(原型) | 原型 | 阻断 | "请问页面的主题是什么?比如'客户管理后台'" |
|
||
| `design_system` 无法推断 | 原型 | 非阻断(有默认值) | "请问偏好哪种设计风格?" |
|
||
| `team_members` 缺失(拆分) | 拆分 | 非阻断(标注"待分配") | "请提供团队成员列表,用于处理人建议" |
|
||
| `sprint_info` 缺失(拆分) | 拆分 | 非阻断(跳过迭代规划) | "是否需要规划到特定迭代?" |
|
||
| `tech_constraints` 缺失(架构) | 架构 | 非阻断(按最佳实践推荐) | "是否有技术栈要求?如指定框架/数据库" |
|
||
|
||
#### 追问规则
|
||
1. **一次性追问**:所有缺失项合并为一次提问,不分多次打断
|
||
2. **阻断项优先**:阻断项排在前面,非阻断项排在后面并标注默认值
|
||
3. **提供选项**:对设计体系/平台等枚举型参数,提供选项列表
|
||
4. **最多追问一次**:用户回复后不再追问,按回复值或默认值执行
|
||
|
||
### 0.8 任务编排规则
|
||
|
||
#### 单步模式(single)
|
||
|
||
当 `intent.primary_domain` 为单一域且无 `secondary_domains` 时:
|
||
- 直接生成1条 `delivery_instructions`,路由到对应域技能
|
||
- `task_plan.execution_mode = "single"`
|
||
- `task_plan.steps` 仅含1个步骤
|
||
|
||
#### 串联模式(sequential)
|
||
|
||
当识别为复合请求时:
|
||
- 按依赖关系生成有序步骤链
|
||
- 前序步骤的输出作为后序步骤的输入
|
||
- `task_plan.execution_mode = "sequential"`
|
||
- 每步 `depends_on` 指向前序步骤ID
|
||
- **执行策略**:逐步执行,前序完成后将输出注入后序的 `parameters`
|
||
|
||
#### 并行模式(parallel)
|
||
|
||
当复合请求中存在无依赖关系的步骤时:
|
||
- 如"架构设计 + 原型设计"(两者都依赖PRD但互不依赖)
|
||
- `task_plan.execution_mode = "parallel"`
|
||
- 无依赖的步骤 `depends_on` 相同(都指向PRD步骤)
|
||
- **执行策略**:PRD完成后,架构和原型可并行生成
|
||
|
||
#### 依赖关系矩阵
|
||
|
||
| 下游技能 | 依赖上游 | 依赖字段 |
|
||
|---------|---------|---------|
|
||
| 架构设计 | PRD | `prd_content` ← PRD输出文件内容 |
|
||
| 原型 | PRD(页面设计章节) | `core_content` / `page_topic` ← PRD第8章 |
|
||
| 拆分 | PRD(功能列表章节) | `requirement_content` ← PRD全文 |
|
||
| 架构 ← → 原型 | 无直接依赖 | 可并行 |
|
||
|
||
### 0.9 质量检查清单
|
||
|
||
- [ ] `intent.primary_domain` 是否准确匹配用户意图
|
||
- [ ] `intent_confidence` 是否合理(≥0.5)
|
||
- [ ] `task_plan.steps` 的依赖关系是否正确(无循环依赖)
|
||
- [ ] `context_summary.requirement_text` 是否已去除口语化、补全隐含信息
|
||
- [ ] `context_summary.key_entities` 是否提取了所有功能模块和用户角色
|
||
- [ ] `context_summary.design_hints` 是否在路由含原型时已预提取
|
||
- [ ] `missing_info` 中的阻断项是否已识别
|
||
- [ ] `delivery_instructions` 的 `parameters` 是否已用 `context_summary` 预填
|
||
- [ ] 复合请求的串联顺序是否符合依赖矩阵
|
||
|
||
### 0.10 输出示例
|
||
|
||
#### 示例1:单步请求
|
||
|
||
**用户输入**:"帮我写一个在线商城的PRD"
|
||
|
||
**输出**:
|
||
```json
|
||
{
|
||
"meta": {
|
||
"request_id": "req-001",
|
||
"timestamp": "2026-09-22T10:00:00",
|
||
"user_input_raw": "帮我写一个在线商城的PRD",
|
||
"intent_confidence": 0.95
|
||
},
|
||
"intent": {
|
||
"primary_domain": "prd",
|
||
"secondary_domains": [],
|
||
"action_type": "create",
|
||
"description": "用户要求生成在线商城的PRD文档"
|
||
},
|
||
"task_plan": {
|
||
"execution_mode": "single",
|
||
"steps": [
|
||
{
|
||
"step_id": 1,
|
||
"skill": "srdcloud-prd-distilled",
|
||
"skill_label": "PRD生成",
|
||
"depends_on": [],
|
||
"status": "ready"
|
||
}
|
||
]
|
||
},
|
||
"context_summary": {
|
||
"project_name": "在线商城",
|
||
"requirement_text": "在线商城系统,支持商品浏览、购物车、订单管理、支付等功能",
|
||
"key_entities": ["在线商城", "商品浏览", "购物车", "订单管理", "支付"],
|
||
"tech_constraints": null,
|
||
"design_hints": null,
|
||
"team_info": null,
|
||
"sprint_info": null
|
||
},
|
||
"missing_info": [
|
||
{
|
||
"field": "tech_constraints",
|
||
"reason": "用户未提及技术栈要求",
|
||
"question": "是否有技术栈要求?如指定框架/数据库",
|
||
"is_blocking": false,
|
||
"default_value": null
|
||
}
|
||
],
|
||
"delivery_instructions": [
|
||
{
|
||
"target_skill": "srdcloud-prd-distilled",
|
||
"parameters": {
|
||
"requirement_text": "在线商城系统,支持商品浏览、购物车、订单管理、支付等功能",
|
||
"project_name": "在线商城"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
#### 示例2:复合请求(串联模式)
|
||
|
||
**用户输入**:"帮我做一个客户跟进提醒功能,要PRD、技术方案和原型"
|
||
|
||
**输出**:
|
||
```json
|
||
{
|
||
"meta": {
|
||
"request_id": "req-002",
|
||
"timestamp": "2026-09-22T10:05:00",
|
||
"user_input_raw": "帮我做一个客户跟进提醒功能,要PRD、技术方案和原型",
|
||
"intent_confidence": 0.9
|
||
},
|
||
"intent": {
|
||
"primary_domain": "multi_step",
|
||
"secondary_domains": ["prd", "architecture", "prototype"],
|
||
"action_type": "create",
|
||
"description": "用户要求完整的产品设计流程:PRD→架构设计→HTML原型"
|
||
},
|
||
"task_plan": {
|
||
"execution_mode": "sequential",
|
||
"steps": [
|
||
{
|
||
"step_id": 1,
|
||
"skill": "srdcloud-prd-distilled",
|
||
"skill_label": "PRD生成",
|
||
"depends_on": [],
|
||
"status": "ready"
|
||
},
|
||
{
|
||
"step_id": 2,
|
||
"skill": "architecture-design-doc-distilled",
|
||
"skill_label": "架构设计文档",
|
||
"depends_on": [1],
|
||
"status": "blocked"
|
||
},
|
||
{
|
||
"step_id": 3,
|
||
"skill": "design-proto-distilled",
|
||
"skill_label": "HTML原型",
|
||
"depends_on": [1],
|
||
"status": "blocked"
|
||
}
|
||
]
|
||
},
|
||
"context_summary": {
|
||
"project_name": "客户跟进提醒",
|
||
"requirement_text": "客户跟进提醒功能,支持设置跟进提醒时间、多渠道消息推送(企微/站内)、逾期升级提醒、主管逾期客户看板",
|
||
"key_entities": ["客户跟进", "提醒设置", "消息推送", "企微通知", "站内消息", "逾期升级", "主管看板"],
|
||
"tech_constraints": null,
|
||
"design_hints": {
|
||
"design_system": "Ant",
|
||
"platform": "桌面Web",
|
||
"page_type": "dashboard"
|
||
},
|
||
"team_info": null,
|
||
"sprint_info": null
|
||
},
|
||
"missing_info": [
|
||
{
|
||
"field": "page_topic",
|
||
"reason": "原型页面主题需确认",
|
||
"question": "原型的页面主题是什么?如'客户管理后台'或'跟进提醒看板'",
|
||
"is_blocking": true,
|
||
"default_value": null
|
||
}
|
||
],
|
||
"delivery_instructions": [
|
||
{
|
||
"target_skill": "srdcloud-prd-distilled",
|
||
"parameters": {
|
||
"requirement_text": "客户跟进提醒功能,支持设置跟进提醒时间、多渠道消息推送(企微/站内)、逾期升级提醒、主管逾期客户看板",
|
||
"project_name": "客户跟进提醒"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
> **注意**:步骤2和步骤3的 `delivery_instructions` 在步骤1完成后动态生成,将PRD输出内容注入为 `prd_content` 参数。
|
||
|
||
#### 示例3:并行模式
|
||
|
||
**用户输入**:"根据这个PRD同时出技术方案和原型"
|
||
|
||
**输出**:
|
||
```json
|
||
{
|
||
"meta": {
|
||
"request_id": "req-003",
|
||
"timestamp": "2026-09-22T10:10:00",
|
||
"user_input_raw": "根据这个PRD同时出技术方案和原型",
|
||
"intent_confidence": 0.85
|
||
},
|
||
"intent": {
|
||
"primary_domain": "multi_step",
|
||
"secondary_domains": ["architecture", "prototype"],
|
||
"action_type": "create",
|
||
"description": "用户已有PRD,要求并行生成架构设计文档和HTML原型"
|
||
},
|
||
"task_plan": {
|
||
"execution_mode": "parallel",
|
||
"steps": [
|
||
{
|
||
"step_id": 1,
|
||
"skill": "architecture-design-doc-distilled",
|
||
"skill_label": "架构设计文档",
|
||
"depends_on": [],
|
||
"status": "ready"
|
||
},
|
||
{
|
||
"step_id": 2,
|
||
"skill": "design-proto-distilled",
|
||
"skill_label": "HTML原型",
|
||
"depends_on": [],
|
||
"status": "ready"
|
||
}
|
||
]
|
||
},
|
||
"context_summary": {
|
||
"project_name": "[从对话历史提取]",
|
||
"requirement_text": "[从对话历史提取PRD内容]",
|
||
"key_entities": [],
|
||
"tech_constraints": null,
|
||
"design_hints": {
|
||
"design_system": "Ant",
|
||
"platform": "桌面Web",
|
||
"page_type": "dashboard"
|
||
},
|
||
"team_info": null,
|
||
"sprint_info": null
|
||
},
|
||
"missing_info": [],
|
||
"delivery_instructions": [
|
||
{
|
||
"target_skill": "architecture-design-doc-distilled",
|
||
"parameters": {
|
||
"prd_content": "{从对话历史提取的PRD全文}",
|
||
"project_name": "{从对话历史提取}"
|
||
}
|
||
},
|
||
{
|
||
"target_skill": "design-proto-distilled",
|
||
"parameters": {
|
||
"design_system": "Ant",
|
||
"platform": "桌面Web",
|
||
"page_type": "dashboard",
|
||
"page_topic": "{从PRD第8章提取}",
|
||
"core_content": "{从PRD提取核心功能描述}"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
### 0.11 交付给研发云数字员工的总指令
|
||
|
||
总控技能本身不直接交付文件给研发云数字员工,而是将 `delivery_instructions` 分发给下游域技能执行。下游域技能完成后,各自按其交付指令(见技能1-4的对应章节)与研发云数字员工协同。
|
||
|
||
当所有步骤完成后,总控技能可生成一份**执行摘要**:
|
||
|
||
```json
|
||
{
|
||
"execution_summary": {
|
||
"request_id": "req-002",
|
||
"total_steps": 3,
|
||
"completed_steps": 3,
|
||
"artifacts": [
|
||
{
|
||
"step_id": 1,
|
||
"skill": "srdcloud-prd-distilled",
|
||
"artifact_path": "PRD-客户跟进提醒.md",
|
||
"delivery_action": "upload_to_doc_space"
|
||
},
|
||
{
|
||
"step_id": 2,
|
||
"skill": "architecture-design-doc-distilled",
|
||
"artifact_path": "tech-spec-客户跟进提醒.md",
|
||
"delivery_action": "upload_to_doc_space"
|
||
},
|
||
{
|
||
"step_id": 3,
|
||
"skill": "design-proto-distilled",
|
||
"artifact_path": "客户管理后台-proto.html",
|
||
"delivery_action": "save_to_design_center"
|
||
}
|
||
],
|
||
"next_step_suggestion": "可继续调用工作项拆分建议技能,将PRD转化为工作项"
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 技能 1:PRD 生成(srdcloud-prd-distilled)
|
||
|
||
### 1.1 职责
|
||
|
||
将用户需求描述(自然语言/问需单内容/附件摘要)转化为**结构化产品需求文档(PRD)**,产出为 Markdown 文件,交付给研发云数字员工上传文档空间或关联到工作项。
|
||
|
||
### 1.2 输入
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| `requirement_text` | String | 是 | 用户原始需求描述或问需单内容摘要 |
|
||
| `project_name` | String | 否 | 项目名称,用于文档命名 `PRD-{项目名称}.md` |
|
||
| `template_override` | String | 否 | 用户自定义模板要求(章节结构/格式约束) |
|
||
| `reference_docs` | String[] | 否 | 参考文档内容(已有PRD、竞品分析等) |
|
||
| `existing_workitems` | String | 否 | 已有工作项摘要(用于增量PRD场景) |
|
||
|
||
### 1.3 输出(中间产物)
|
||
|
||
**文件**:`PRD-{项目名称}.md`(Markdown 格式)
|
||
|
||
**标准模板结构**(9 章,用户无自定义要求时使用):
|
||
|
||
```markdown
|
||
## 1. 功能名
|
||
[功能名称]
|
||
|
||
## 2. 需求描述
|
||
核心需求的简要描述,确保开发团队快速理解总体目标。
|
||
|
||
## 3. 项目概述
|
||
**项目背景**: 简述项目背景和启动原因。
|
||
**目标用户**: 描述主要用户群体及其特征。
|
||
**业务目标**: 明确项目旨在解决的问题或达成的目标。
|
||
**关键指标(KPIs)**: 定义衡量项目成功的KPI。
|
||
|
||
## 4. 用户旅程
|
||
**触发点** → **第一步** → **第二步** → ... → **结束点**
|
||
|
||
### 流程图(Mermaid graph TD 格式)
|
||
- 判断节点用菱形,流程节点用矩形
|
||
- 标注每步执行角色和核心操作
|
||
- 正确使用 Mermaid 语法,不生成中文标点
|
||
|
||
## 5. 功能列表
|
||
列出所有功能模块名称。
|
||
|
||
## 6. 功能详细描述
|
||
每个功能包含:详细描述、实现逻辑、输入、输出。
|
||
|
||
## 7. 页面列表
|
||
列出所有页面名称。
|
||
|
||
## 8. 页面详细设计
|
||
每个页面包含:布局、元素、交互、边界条件、错误处理。
|
||
|
||
### 页面结构图(markmap 格式)
|
||
- 层级:# 主模块 → ## 页面 → ### 功能区域 → #### 控件/操作 → ##### 规则/反馈
|
||
- 覆盖控件输入规则、默认文案、交互动作、成功/失败反馈
|
||
- 节点命名 ≤12 字
|
||
|
||
## 9. 统计需求
|
||
### 用户行为统计(埋点表)
|
||
| 序号 | 埋点名称 | 含义 | key值 | 参数 | 备注 |
|
||
|
||
### 统计指标
|
||
| 序号 | 统计指标名称 | 定义/公式 | 数据来源 | 目的/用途 | 备注 |
|
||
```
|
||
|
||
### 1.4 生成规则
|
||
|
||
1. **需求不清晰时仅追问一次**关键信息,若仍不清晰则按现有信息生成并标注不确定部分
|
||
2. **一次写入**产物文件,不分两步操作
|
||
3. **严格按模板结构**填充,保持核心章节完整性
|
||
4. 流程图必须使用 `mermaid graph TD` 语法,页面结构图必须使用 `markmap` 语法
|
||
5. 所有内容必须**真实可执行**,禁止填充文案(lorem ipsum / "feature one")
|
||
6. 验收标准必须**可量化**(能明确判断通过/不通过)
|
||
|
||
### 1.5 质量检查清单
|
||
|
||
- [ ] 9 个章节是否完整(功能名/需求描述/项目概述/用户旅程/功能列表/功能详细描述/页面列表/页面详细设计/统计需求)
|
||
- [ ] 流程图是否使用正确的 Mermaid graph TD 语法
|
||
- [ ] 页面结构图是否使用正确的 markmap 语法,层级覆盖到控件级
|
||
- [ ] 每个功能是否有输入/输出/实现逻辑
|
||
- [ ] 每个页面是否有布局/元素/交互/边界条件/错误处理
|
||
- [ ] 统计需求是否包含埋点表和统计指标表
|
||
- [ ] 是否无填充文案、无编造数据
|
||
- [ ] 文件名是否为 `PRD-{项目名称}.md`
|
||
|
||
### 1.6 交付给研发云数字员工的指令
|
||
|
||
```json
|
||
{
|
||
"skill": "prd-upload",
|
||
"artifact_path": "PRD-{项目名称}.md",
|
||
"action": "upload_to_doc_space",
|
||
"doc_title": "PRD-{项目名称}",
|
||
"next_step_hint": "上传文档空间后,可关联到工作项或用于后续架构设计"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 技能 2:架构设计文档生成(architecture-design-doc-distilled)
|
||
|
||
### 2.1 职责
|
||
|
||
将 PRD 或需求设计文档转化为**可据以实现的技术规约(架构设计文档)**,产出为 Markdown 文件。这是从需求到实现的桥梁——规约一旦冻结,就是开发的唯一依据。
|
||
|
||
### 2.2 输入
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| `prd_content` | String | 是 | PRD 文档内容(来自技能1的输出或用户提供) |
|
||
| `tech_constraints` | String | 否 | 技术约束(指定框架/数据库/部署环境等) |
|
||
| `existing_architecture` | String | 否 | 已有架构描述(增量设计场景) |
|
||
| `project_name` | String | 否 | 项目名称,用于文档命名 |
|
||
|
||
### 2.3 输出(中间产物)
|
||
|
||
**文件**:`tech-spec-{项目名称}.md`(Markdown 格式)
|
||
|
||
**标准模板结构**(5 章 + 修订历史):
|
||
|
||
```markdown
|
||
# 技术规约
|
||
|
||
> 状态:📝 草案 | 🧊 已冻结
|
||
> 版本:v1.0
|
||
> 冻结日期:(冻结后填写)
|
||
|
||
## 1. 架构设计
|
||
- **整体架构**:(前后端分离 / 单体 / 微服务)+ 架构图(Mermaid)
|
||
- **技术选型**:
|
||
- 框架:___(理由:)
|
||
- 数据库:___(理由:)
|
||
- 关键库:___(理由:)
|
||
- **部署架构**:(如相关)
|
||
|
||
### 架构图(Mermaid)
|
||
使用 graph TD 或 graph LR,标注组件间依赖关系和数据流向。
|
||
|
||
## 2. 模块拆分
|
||
| 模块 | 职责 | 依赖 |
|
||
|------|------|------|
|
||
|
||
### 模块依赖图(Mermaid)
|
||
使用 graph TD 展示模块间依赖。
|
||
|
||
## 3. 接口契约(最关键)
|
||
每个对外接口必须定义:
|
||
|
||
### 接口:{接口名}
|
||
- **方法/路径**:`POST /api/xxx`
|
||
- **输入**:
|
||
```json
|
||
{ "field": "type" }
|
||
```
|
||
- **输出(成功)**:
|
||
```json
|
||
{ "field": "type" }
|
||
```
|
||
- **输出(失败)**:
|
||
```json
|
||
{ "error": "string", "code": "number" }
|
||
```
|
||
- **错误码**:400 参数错误 / 401 认证失败 / 429 限流
|
||
|
||
## 4. 数据模型
|
||
### 实体:{实体名}
|
||
| 字段 | 类型 | 约束 | 说明 |
|
||
|------|------|------|------|
|
||
|
||
### ER 图(Mermaid erDiagram)
|
||
展示实体间关系。
|
||
|
||
## 5. 验收标准
|
||
对应 PRD 的每个功能,写可验证的验收点:
|
||
|
||
### 功能:{功能名}
|
||
- [ ] 验收点 1:___
|
||
- [ ] 验收点 2:___
|
||
|
||
---
|
||
|
||
## 修订历史
|
||
| 版本 | 日期 | 变更内容 | 原因 |
|
||
|------|------|---------|------|
|
||
```
|
||
|
||
### 2.4 生成规则
|
||
|
||
1. **仔细阅读 PRD**,理解每个功能的意图、非功能需求、范围边界。不清楚的地方在文档中标注 `[待确认]`
|
||
2. **架构设计要具体**:明确整体架构类型、技术选型理由、部署方案
|
||
3. **接口契约是硬约束**:字段名、类型、错误码都要明确,实现时不得偏离
|
||
4. **验收标准要可验证**:每条都能明确判断"通过"或"不通过"
|
||
5. **技术选型要说明理由**——为什么选这个、不选那个
|
||
6. 如果 PRD 涉及 UI,规约里应包含前端组件/页面的结构定义
|
||
7. 架构图、模块依赖图、ER 图必须使用 Mermaid 语法
|
||
8. **规约要具体到可实现、可验收**——模糊的规约(如"提供良好的用户体验")无法接受
|
||
|
||
### 2.5 质量检查清单
|
||
|
||
- [ ] 架构设计是否明确整体架构类型 + 技术选型理由
|
||
- [ ] 架构图是否使用正确的 Mermaid 语法
|
||
- [ ] 模块拆分表是否完整(模块/职责/依赖三列)
|
||
- [ ] 每个接口是否包含:方法/路径、输入、输出(成功/失败)、错误码
|
||
- [ ] 数据模型是否包含:字段、类型、约束、说明
|
||
- [ ] ER 图是否使用正确的 Mermaid erDiagram 语法
|
||
- [ ] 验收标准是否对应 PRD 中的每个功能,且每条可验证
|
||
- [ ] 是否无模糊描述("良好的用户体验"等不可验收的描述)
|
||
- [ ] 文件名是否为 `tech-spec-{项目名称}.md`
|
||
|
||
### 2.6 交付给研发云数字员工的指令
|
||
|
||
```json
|
||
{
|
||
"skill": "tech-spec-upload",
|
||
"artifact_path": "tech-spec-{项目名称}.md",
|
||
"action": "upload_to_doc_space",
|
||
"doc_title": "技术规约-{项目名称}",
|
||
"next_step_hint": "上传后可关联到版本或工作项,作为开发依据"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 技能 3:HTML 原型生成(design-proto-distilled)
|
||
|
||
### 3.1 职责
|
||
|
||
根据设计简报,生成**生产级自包含 HTML 原型文件**。这是外部 Coding Agent 价值最高的技能——直接产出可运行的 HTML 文件,交付给研发云数字员工保存到设计中心。
|
||
|
||
### 3.2 输入(设计简报 Design Brief)
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| `design_system` | String | 是 | 设计体系(9选1,见下方速查表) |
|
||
| `platform` | String | 是 | 目标平台(6选1,见下方速查表) |
|
||
| `page_type` | String | 是 | 页面类型(13种子技能或通用前端) |
|
||
| `page_topic` | String | 是 | 页面主题(如"AI产品发布会""客户管理后台") |
|
||
| `target_audience` | String | 否 | 目标受众(如"技术开发者""销售团队") |
|
||
| `core_content` | String | 是 | 核心内容摘要(1-2句话描述页面主要内容) |
|
||
| `component_library` | String | 否 | 组件库(element-plus / shadcn,不传则不启用) |
|
||
| `multi_view` | Boolean | 否 | 是否多视图(≥2个功能模块时为true) |
|
||
|
||
### 3.3 设计体系速查表(9套)
|
||
|
||
| 编号 | 名称 | 主色调 | 适用场景 | 关键词 |
|
||
|------|------|--------|---------|--------|
|
||
| 1 | Neutral Modern | 浅蓝 | 通用极简、B2B、仪表盘 | 简约/现代/清爽 |
|
||
| 2 | Claude | 暖棕 | 文档、博客、内容型 | 中文/博客/温暖 |
|
||
| 3 | ElevenLabs | 青蓝 | 音频、轻量化 | 音频/语音/优雅 |
|
||
| 4 | Hugging Face | 暖黄 | 开发者工具、ML | ML/开源/模型 |
|
||
| 5 | MiniMax | 淡紫 | 数字人、多模态 | 海螺/视频/中国AI |
|
||
| 6 | Runway | 亮蓝 | 创意AIGC、影视 | 电影/创意/影视 |
|
||
| 7 | OpenAI | 极简白 | AI研究、极简科技 | AI/OpenAI/研究 |
|
||
| 8 | Ant | 商务蓝 | 政企金融、后台 | 后台/数据/企业 |
|
||
| 9 | Colorful | 灼橙 | 多彩创意 | 多彩/活泼/创意 |
|
||
|
||
> 默认值:Neutral Modern
|
||
|
||
### 3.4 平台速查表(6种)
|
||
|
||
| 编号 | 名称 | 关键词 | 默认设计体系联动 |
|
||
|------|------|--------|-----------------|
|
||
| 1 | 响应式Web | 分享/多端/落地页/网页 | Neutral Modern |
|
||
| 2 | 桌面Web | 桌面/后台/大屏 | Ant |
|
||
| 3 | iOS应用 | iPhone/iOS | Neutral Modern |
|
||
| 4 | Android应用 | Android | Neutral Modern |
|
||
| 5 | 平板应用 | iPad/平板 | Neutral Modern |
|
||
| 6 | 桌面应用 | Electron/客户端 | Neutral Modern |
|
||
|
||
> 默认值:响应式Web
|
||
|
||
### 3.5 页面类型速查表(13种子技能 + 通用前端)
|
||
|
||
| 关键词 | 页面类型 | 推荐设计体系 | 推荐平台 |
|
||
|--------|---------|-------------|---------|
|
||
| FAQ/常见问题/帮助中心 | faq-page | OpenAI | 响应式Web |
|
||
| 登录/注册/sign in | login-flow | Neutral Modern | 响应式Web |
|
||
| 简历/CV/求职 | resume-modern | Claude | 响应式Web |
|
||
| 文章/博客/长文 | article-magazine | Claude | 响应式Web |
|
||
| 数据报告/可视化/周报 | data-report | Ant | 桌面Web |
|
||
| 管理后台/控制台/仪表盘 | dashboard | Ant | 桌面Web |
|
||
| SaaS/落地页/产品页 | saas-landing | OpenAI | 响应式Web |
|
||
| 定价/套餐/pricing | pricing-page | Neutral Modern | 响应式Web |
|
||
| 邮件/newsletter | email-marketing | MiniMax | 响应式Web |
|
||
| 海报/朋友圈/分享图 | poster-hero | Runway | 桌面Web |
|
||
| 看板/kanban/task board | kanban-board | Ant | 桌面Web |
|
||
| 发票/invoice/账单 | invoice | Neutral Modern | 响应式Web |
|
||
| 文档/docs/guide/tutorial | docs-page | OpenAI | 桌面Web |
|
||
| 原型/prototype/demo/页面 | 通用前端 | 按关键词推断 | 按关键词推断 |
|
||
|
||
### 3.6 输出(中间产物)
|
||
|
||
**文件**:`{page_topic}-proto.html`(单个自包含 HTML 文件)
|
||
|
||
**产物必须满足**:
|
||
1. **自包含**:所有 CSS 和 JS 内联在单个 HTML 文件中,不引入任何 CDN/外部脚本
|
||
2. **可直接运行**:保存为 .html 文件后双击即可在浏览器中打开
|
||
3. **语义化**:使用 HTML5 语义化标签
|
||
4. **可访问**:键盘可达、ARIA 属性正确、对比度达标
|
||
5. **无占位符泄漏**:所有内容都是真实的、与简报相关的文本
|
||
|
||
### 3.7 代码合成规则(铁律)
|
||
|
||
#### 设计令牌注入
|
||
- 将设计体系的 `tokens.css` 中的 `:root { ... }` 块整体注入 HTML `<style>` 首段
|
||
- **全文通过 `var(--xxx)` 引用颜色和字体,禁止 `:root` 之外出现裸 hex 值**
|
||
- Chart.js 例外:canvas 渲染不解析 CSS var(),通过辅助函数读取令牌
|
||
|
||
#### 平台约束注入
|
||
- Viewport 写入 `<meta name="viewport">`
|
||
- 断点写入媒体查询
|
||
- 设备框架包裹(iOS/Android/平板/桌面应用)
|
||
- 触摸目标 ≥44px(iOS)/ 48dp(Android)
|
||
|
||
#### 页面内容注入
|
||
- 遵循页面技能定义的区块顺序,不跳过不重排
|
||
- 使用语义化 HTML 标签
|
||
- 所有图片使用内联 SVG 或 CSS 占位(禁止外部占位图 CDN)
|
||
- 所有链接为 `#`,无真实路由
|
||
|
||
#### 多视图导航(≥2个功能模块时触发)
|
||
- 收敛为**单个自包含 HTML 文件**,不拆分多个 HTML
|
||
- 使用 `data-view-link` 属性实现视图切换(show/hide)
|
||
- 登录页作为首个独立视图(无导航栏),登录按钮触发切换到主应用视图
|
||
- 移动端 App(iOS/Android/平板)含 ≥2 功能区块时**强制**启用底部 tab 多视图导航
|
||
|
||
#### 动作按钮交互(三种标准处置,必选其一)
|
||
1. **打开弹窗** → `data-open-dialog` 属性
|
||
2. **就地反馈** → toast/状态切换
|
||
3. **显式 inert** → `aria-disabled="true"` 标注
|
||
|
||
#### 分段控件(视图内筛选/切换)
|
||
- `data-seg` 属性 + `data-seg-mode`(panel/filter)
|
||
- 点击必须产生可见变化,禁止装饰性死控件
|
||
|
||
### 3.8 工艺自检清单(P0 硬门控)
|
||
|
||
生成代码后,逐项内部验证(不输出自检过程):
|
||
|
||
1. `:root` 之外是否无裸 hex 值(全部经 `var(--xxx)` 引用)?
|
||
2. 标题是否用 `var(--font-display)`、正文是否用 `var(--font-body)`?
|
||
3. 强调色每屏是否 ≤2 处?
|
||
4. 是否无紫蓝渐变、无 Tailwind indigo 默认色、无 emoji 当功能图标?
|
||
5. 是否无填充文案(lorem ipsum / "feature one" / "your text here")?
|
||
6. 是否无编造数据("10× faster" 无来源就删)?
|
||
7. hover / focus / active 三态是否完整?
|
||
8. 移动端栅格是否折叠正常、无横向溢出?
|
||
9. `<!doctype html>` 是否恰好出现一次、`<html>` 根元素是否恰好一个?
|
||
10. 动作按钮是否非死钮(接弹窗/就地反馈/显式inert)?
|
||
11. 弹窗是否默认隐藏(`.modal { display: none }`)?
|
||
12. 分段控件点击是否产生可见变化?
|
||
|
||
### 3.9 2秒直觉检查
|
||
|
||
看页面2秒,自评:是否像"这月见的每个AI创业公司首页"?是否"无辨识度落地页"?是否"特性行=图标+标题+三行模糊利益文案"?若任一命中,回去把一格换成更具体内容,删一个强调色。
|
||
|
||
### 3.10 交付给研发云数字员工的指令
|
||
|
||
```json
|
||
{
|
||
"skill": "proto-save",
|
||
"artifact_path": "{page_topic}-proto.html",
|
||
"action": "save_to_design_center",
|
||
"design_system": "Neutral Modern",
|
||
"platform": "响应式Web",
|
||
"page_type": "dashboard",
|
||
"next_step_hint": "保存到设计中心后,可关联到PRD或工作项"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 技能 4:工作项拆分建议(workitem-split-advisor-distilled)
|
||
|
||
### 4.1 职责
|
||
|
||
将需求内容(PRD/问需单/自然语言描述)转化为**工作项拆分建议表**,包含特性→用户故事→任务的完整父子关系树、优先级、工作量估算。**不实际创建工作项**——只生成结构化建议,交付给研发云数字员工执行批量创建。
|
||
|
||
### 4.2 输入
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| `requirement_content` | String | 是 | 需求内容(PRD全文/问需单内容/自然语言描述) |
|
||
| `split_to_task` | Boolean | 否 | 是否拆分到任务级(默认true,false则只到用户故事级) |
|
||
| `team_members` | String[] | 否 | 团队成员列表(用于处理人建议) |
|
||
| `sprint_info` | String | 否 | 迭代信息(名称/时间范围/剩余容量,用于迭代规划建议) |
|
||
|
||
### 4.3 输出(中间产物)
|
||
|
||
**文件**:`workitem-split-suggestion-{日期}.md`(Markdown 格式)
|
||
|
||
**输出结构**:
|
||
|
||
```markdown
|
||
# 工作项拆分建议
|
||
|
||
> 生成时间:{日期}
|
||
> 需求来源:{PRD/问需单/直接描述}
|
||
> 总工作量估算:{X}人天({Y}工时)
|
||
|
||
## 一、拆分概览
|
||
|
||
| 维度 | 数量 |
|
||
|------|------|
|
||
| 特性 | {N}个 |
|
||
| 用户故事 | {N}个 |
|
||
| 任务 | {N}个 |
|
||
| 总工作量 | {X}人天 |
|
||
|
||
## 二、父子关系树
|
||
|
||
### 🔶 [特性] {特性标题} [优先级:高/中/低]
|
||
|
||
**描述**:{特性描述}
|
||
**验收条件**:{可量化的验收条件}
|
||
**预估工时**:{人天×8}工时
|
||
|
||
#### 🟢 [用户故事] {故事标题} [优先级:高/中/低]
|
||
|
||
**用户故事**:作为{角色},我希望{功能描述},以便{业务价值}
|
||
**验收条件**:{可量化的验收条件}
|
||
**预估工时**:{人天×8}工时
|
||
|
||
##### 🔴 [任务] {任务标题} [优先级:高/中/低]
|
||
|
||
**任务描述**:{任务详细描述}
|
||
**任务类型**:前端/后端/测试/文档
|
||
**预估工时**:{人天×8}工时
|
||
**处理人建议**:{团队成员名或"待分配"}
|
||
|
||
(重复上述结构...)
|
||
|
||
## 三、统计
|
||
|
||
### 优先级分布
|
||
| 优先级 | 特性 | 用户故事 | 任务 | 合计 |
|
||
|--------|------|---------|------|------|
|
||
| 高 | | | | |
|
||
| 中 | | | | |
|
||
| 低 | | | | |
|
||
|
||
### 工作量分布
|
||
| 模块 | 用户故事数 | 任务数 | 工作量(人天) |
|
||
|------|-----------|--------|-------------|
|
||
|
||
### 迭代规划建议(可选)
|
||
**建议迭代**:{迭代名称}({时间范围})
|
||
**匹配理由**:{总工作量X人天,迭代剩余容量Y人天,匹配/不匹配}
|
||
```
|
||
|
||
### 4.4 拆分规则
|
||
|
||
#### 特性拆分
|
||
- 按需求中的**功能模块**拆分,每个功能模块生成一个「特性」
|
||
- 特性描述基于需求内容自动生成
|
||
- 特性验收条件基于需求分析自动生成
|
||
|
||
#### 用户故事拆分
|
||
- 每个特性下的功能点拆分为「用户故事」
|
||
- 遵循 **INVEST 原则**(Independent、Negotiable、Valuable、Estimable、Small、Testable)
|
||
- 格式:「作为{角色},我希望{功能描述},以便{业务价值}」
|
||
- 优先级基于 RICE 模型(Reach × Impact × Confidence / Effort)
|
||
- 工作量估算:默认 1-3 人天/故事
|
||
|
||
#### 任务拆分(split_to_task=true 时)
|
||
- 每个用户故事拆分为 **2-5 个任务**
|
||
- 任务粒度:每个任务 ≤1 人天,可独立完成
|
||
- 任务类型识别:
|
||
- **前端任务**:涉及UI/交互
|
||
- **后端任务**:涉及接口/数据处理
|
||
- **测试任务**:涉及验证/测试
|
||
- **文档任务**:涉及文档编写
|
||
- 任务命名按开发流程:接口设计、前端实现、数据层、联调测试等
|
||
- 优先级继承父用户故事,有依赖关系的被依赖任务提高一级
|
||
- **工作量分配**:任务工作量之和 = 用户故事工作量,每个任务默认 0.5-1 人天
|
||
|
||
#### 工时换算
|
||
- **人天转工时**:预估工时 = 工作量(人天)× 8(小时/天)
|
||
- 例如:2人天 = 16工时,0.5人天 = 4工时
|
||
|
||
#### 迭代规划建议(sprint_info 提供时)
|
||
- 汇总所有工作项总工作量(人天)
|
||
- 工作日估算:≤5人天→约5工作日,5-10→约10,10-20→约15,>20→约20
|
||
- 匹配逻辑:优先当前进行中迭代,其次最近未开始迭代
|
||
- 若未找到合适迭代:提示"未找到合适的迭代,建议手动规划"
|
||
|
||
### 4.5 质量检查清单
|
||
|
||
- [ ] 每个用户故事是否遵循 INVEST 原则
|
||
- [ ] 用户故事格式是否为"作为{角色},我希望{功能},以便{价值}"
|
||
- [ ] 每个任务是否 ≤1 人天
|
||
- [ ] 任务工作量之和是否 = 父用户故事工作量
|
||
- [ ] 父子关系树是否完整(特性→用户故事→任务)
|
||
- [ ] 优先级是否基于 RICE 模型
|
||
- [ ] 预估工时是否 = 人天 × 8
|
||
- [ ] 验收条件是否可量化
|
||
- [ ] 统计表是否完整(优先级分布/工作量分布)
|
||
- [ ] 是否标注"工作量为预估值,建议人工复核"
|
||
|
||
### 4.6 交付给研发云数字员工的指令
|
||
|
||
```json
|
||
{
|
||
"skill": "workitem-batch-create",
|
||
"artifact_path": "workitem-split-suggestion-{日期}.md",
|
||
"action": "batch_create_workitems",
|
||
"project_id": "{项目ID}",
|
||
"iteration_id": "{迭代ID或null}",
|
||
"split_to_task": true,
|
||
"next_step_hint": "按建议表批量创建工作项,建立父子关系,指派处理人"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 附录A:5 技能串联流程(含总控)
|
||
|
||
```
|
||
用户原始输入
|
||
│
|
||
▼
|
||
┌──────────────────────────────────────────────────────────┐
|
||
│ 技能0: 意图路由与任务规划(总控) │
|
||
│ · 意图识别 → 域路由 → 任务拆解 │
|
||
│ · 上下文压缩 → 参数预填 → 缺失检测 │
|
||
│ · 输出: 标准化任务指令(JSON) │
|
||
│ · 缺失阻断项 → 一次性追问用户 │
|
||
└──────────┬───────────────────────────────────────────────┘
|
||
│ 任务指令分发
|
||
│
|
||
┌─────┼─────┬──────────┐
|
||
│ │ │ │
|
||
▼ ▼ ▼ ▼
|
||
┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
|
||
│技能1 │ │技能2 │ │技能3 │ │技能4 │
|
||
│PRD生成 │ │架构设计 │ │HTML原型│ │工作项 │
|
||
│ │ │文档 │ │ │ │拆分建议│
|
||
└───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘
|
||
│ │ │ │
|
||
▼ ▼ ▼ ▼
|
||
PRD.md tech-spec proto.html split.md
|
||
│ │ │ │
|
||
└──────────┴──────────┴──────────┘
|
||
│
|
||
▼
|
||
研发云数字员工(在线执行层)
|
||
· 上传文档空间(PRD/架构)
|
||
· 保存设计中心(原型)
|
||
· 批量创建工作项(拆分建议)
|
||
```
|
||
|
||
### 串联执行示例(复合请求)
|
||
|
||
```
|
||
用户: "帮我做一个客户跟进提醒功能,要PRD、技术方案和原型"
|
||
│
|
||
▼
|
||
[技能0: 总控]
|
||
意图: multi_step
|
||
串联: PRD → 架构(并行) + 原型(并行)
|
||
缺失: page_topic(阻断) → 追问用户
|
||
│
|
||
用户回复: "客户管理后台"
|
||
│
|
||
▼
|
||
[技能1: PRD生成]
|
||
输出: PRD-客户跟进提醒.md
|
||
交付: → 研发云上传文档空间
|
||
│
|
||
┌────────┴────────┐
|
||
▼ ▼
|
||
[技能2: 架构设计] [技能3: HTML原型]
|
||
输入: PRD内容 输入: 设计简报(预填)
|
||
输出: tech-spec.md 输出: proto.html
|
||
交付: → 上传文档空间 交付: → 保存设计中心
|
||
│ │
|
||
└────────┬────────┘
|
||
▼
|
||
[可选: 技能4 工作项拆分]
|
||
输入: PRD内容
|
||
输出: split-suggestion.md
|
||
交付: → 研发云批量创建工作项
|
||
```
|
||
|
||
|
||
---
|
||
|
||
## 附录B:各技能输入输出速查表
|
||
|
||
| 技能 | 输入 | 输出文件 | 交付动作 |
|
||
|------|------|---------|---------|
|
||
| 意图路由与任务规划(总控) | 用户原始话术+对话历史+附件 | 标准化任务指令(JSON) | 分发给下游域技能 |
|
||
| PRD生成 | 需求描述/问需单内容 | `PRD-{项目名}.md` | 上传文档空间 |
|
||
| 架构设计文档 | PRD内容+技术约束 | `tech-spec-{项目名}.md` | 上传文档空间 |
|
||
| HTML原型 | 设计简报(9体系×6平台×13页面类型) | `{主题}-proto.html` | 保存设计中心 |
|
||
| 工作项拆分建议 | PRD内容+团队成员+迭代信息 | `workitem-split-suggestion-{日期}.md` | 批量创建工作项 |
|
||
|
||
## 附录C:设计体系 × 平台 × 页面类型 联动推荐
|
||
|
||
当用户未明确指定设计体系或平台时,按页面类型自动联动推荐:
|
||
|
||
| 页面类型 | 推荐设计体系 | 备选 | 推荐平台 |
|
||
|---------|-------------|------|---------|
|
||
| resume-modern | Claude | Neutral Modern | 响应式Web |
|
||
| article-magazine | Claude | OpenAI | 响应式Web |
|
||
| docs-page | OpenAI | Hugging Face/Claude | 桌面Web |
|
||
| dashboard | Ant | Neutral Modern | 桌面Web |
|
||
| data-report | Ant | Neutral Modern | 桌面Web |
|
||
| saas-landing | OpenAI | Neutral Modern/MiniMax | 响应式Web |
|
||
| pricing-page | Neutral Modern | OpenAI | 响应式Web |
|
||
| login-flow | Neutral Modern | ElevenLabs | 响应式Web |
|
||
| faq-page | OpenAI | Claude/Neutral Modern | 响应式Web |
|
||
| email-marketing | MiniMax | Neutral Modern/ElevenLabs | 响应式Web |
|
||
| poster-hero | Runway | MiniMax/Claude | 桌面Web |
|
||
| kanban-board | Ant | Neutral Modern | 桌面Web |
|
||
| invoice | Neutral Modern | Claude | 响应式Web |
|
||
| 通用前端 | 按关键词推断 | Neutral Modern(默认) | 按关键词推断 |
|
||
|
||
> 联动推荐与用户明确指定的设计体系/平台冲突时,**优先用户指定值**。
|
||
|
||
## 附录D:总控路由决策树
|
||
|
||
```
|
||
用户输入
|
||
│
|
||
▼
|
||
是否含"PRD/需求文档"关键词?
|
||
├─ 是 → 是否已有PRD?
|
||
│ ├─ 是 → action=modify → 路由: srdcloud-prd-distilled
|
||
│ └─ 否 → action=create → 路由: srdcloud-prd-distilled
|
||
│
|
||
否 → 是否含"架构/技术方案/接口设计"关键词?
|
||
│ ├─ 是 → 是否已有架构文档?
|
||
│ │ ├─ 是 → action=modify → 路由: architecture-design-doc-distilled
|
||
│ │ └─ 否 → action=create → 路由: architecture-design-doc-distilled
|
||
│ │
|
||
│ 否 → 是否含"原型/页面/demo/UI/HTML"关键词?
|
||
│ ├─ 是 → 是否已有原型?
|
||
│ │ ├─ 是 → action=modify → 路由: design-proto-distilled
|
||
│ │ └─ 否 → action=create → 路由: design-proto-distilled
|
||
│ │
|
||
│ 否 → 是否含"拆分/任务/工作项/排期"关键词?
|
||
│ ├─ 是 → 路由: workitem-split-advisor-distilled
|
||
│ │
|
||
│ 否 → 是否含"做个功能/帮我实现"?
|
||
│ ├─ 是 → multi_step
|
||
│ │ 检测已有产物 → 确定串联链
|
||
│ │ 缺失检测 → 追问
|
||
│ │ 生成 task_plan
|
||
│ │
|
||
│ 否 → 置信度 < 0.5
|
||
│ 追问用户一次
|
||
│ 提供选项: PRD/架构/原型/拆分
|
||
```
|
||
|
||
## 附录E:关键设计原则
|
||
|
||
1. **总控技能必须独立**:路由逻辑不混入域技能,避免"偷懒"直接跳转丢失分析价值
|
||
2. **5 个技能可独立调用也可串联**:总控负责编排,域技能可被总控调度也可直接调用
|
||
3. **每个域技能产出标准化文件**(.md 或 .html),研发云数字员工可稳定消费
|
||
4. **每个域技能附带 JSON 指令**,告诉研发云数字员工下一步动作
|
||
5. **外部 Agent 不访问研发云**,只生成中间产物;研发云数字员工负责在线落地
|
||
6. **上下文压缩是总控核心价值**:把长对话/多文档压缩成结构化摘要,降低下游 token 消耗
|
||
7. **缺失信息一次性追问**:总控检测所有缺失项,合并为一次提问,不分多次打断
|
||
8. **设计简报预提取**:总控在路由含原型时自动预提取设计参数,下游无需再次推断
|