新增: 三层模型设计文档 — 模板/工作流/人设体系
- ARCHITECTURE.md 补充执行层级模型 + 重写 §七 三层模型章节 - 新建专项设计: 流程模板 YAML 规范/AgentPersona 数据结构/实例化流程 - 注册新文档到架构设计 INDEX - Agent架构说明补充前向关联引用
This commit is contained in:
181
ARCHITECTURE.md
181
ARCHITECTURE.md
@@ -19,7 +19,9 @@
|
||||
- **经验进化 (Evolution)**:开发过程中的模式自动沉淀为知识库(审查规则/Prompt模板/踩坑经验),持续进化复用
|
||||
- **阶段插件**:想法→需求→编码→测试→发布,阶段即模板
|
||||
|
||||
### 层级模型
|
||||
### 层级模型(业务层级)
|
||||
|
||||
DevFlow 的业务抽象分三层,自上而下层层实例化:
|
||||
|
||||
```
|
||||
💡 Idea Pool (想法池) — 独立运转,持续捕捉和评估
|
||||
@@ -31,6 +33,40 @@
|
||||
└→ 🎯 Release (发布) — 合并多个 Task → 集成测试 → 发布
|
||||
```
|
||||
|
||||
### 层级模型(执行层级)
|
||||
|
||||
Workflow DAG 的执行层进一步拆分为三层,这是 AI Factory 的核心抽象:
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────┐
|
||||
│ 模板层 (Template) │
|
||||
│ "应该做什么" — 阶段蓝图、行业最佳实践 │
|
||||
│ │
|
||||
│ 职责: 定义节点拓扑 + 产出物规范 + 质量门禁 │
|
||||
│ 生命周期: 长期存在,跨项目复用 │
|
||||
│ 存储: YAML 文件 / DB 模板库 │
|
||||
├──────────────────────────────────────────────────┤
|
||||
│ 工作流层 (Workflow) │
|
||||
│ "怎么执行" — DAG 实例、状态机、运行时 │
|
||||
│ │
|
||||
│ 职责: 拓扑排序 + 节点调度 + 状态流转 + 持久化 │
|
||||
│ 生命周期: 随项目启动/结束,单次执行后归档 │
|
||||
│ 载体: df-workflow (DAG + Executor + StateMachine) │
|
||||
├──────────────────────────────────────────────────┤
|
||||
│ 人设层 (Persona) │
|
||||
│ "谁来做" — Agent 角色、能力边界、行为风格 │
|
||||
│ │
|
||||
│ 职责: 定义 system prompt + 可用工具 + 输出格式 │
|
||||
│ 生命周期: 长期存在,跨节点复用 │
|
||||
│ 注入点: AINode 执行时载入对应人设 │
|
||||
└──────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**关键设计原则**:三层各自独立演化,在 AINode 执行时交汇。
|
||||
- 模板 = 可复用的蓝图(定义节点拓扑 + 建议人设 + 质量门禁)
|
||||
- 工作流 = 模板的运行时实例(含状态、数据绑定、执行记录)
|
||||
- 人设 = Agent 的角色卡(system prompt + 工具集 + 行为规则)
|
||||
|
||||
### AI Working 定位体系
|
||||
|
||||
DevFlow 的终极交互模型是 **AI 驱动 (AI Working)**:**AI 是系统的主要操作者,人是监督者与决策者**。
|
||||
@@ -497,15 +533,136 @@ CREATE TABLE app_settings (
|
||||
-- 内部表: schema_version (version INTEGER PRIMARY KEY) — 迁移版本记录
|
||||
```
|
||||
|
||||
## 七、阶段模板
|
||||
## 七、三层模型:模板 → 工作流 → 人设
|
||||
|
||||
5 个内置阶段作为工作流模板(YAML 定义),用户可自定义。
|
||||
### 7.1 三层定义
|
||||
|
||||
- 💡 **想法**:市场分析 → 竞品调研 → 可行性评分
|
||||
- 📋 **需求**:AI 生成 PRD → 人工审阅 → 任务拆解
|
||||
- 💻 **编码**:AI 编码 → 代码审查 → 自动修复
|
||||
- 🧪 **测试**:运行测试 → AI 分析失败 → 回归验证
|
||||
- 🚀 **发布**:构建 → 人工确认 → 部署 → 健康检查
|
||||
| 层 | 回答的问题 | 本质 | 生命周期 | 当前状态 |
|
||||
|----|-----------|------|---------|---------|
|
||||
| **流程模板 (Template)** | 应该做什么 | 可复用的蓝图(节点拓扑 + 建议人设 + 质量门禁) | 长期存在,跨项目复用 | ⚡ 需重新设计(原 df-stages 已移除) |
|
||||
| **工作流 (Workflow)** | 怎么执行 | 模板的运行时实例(DAG + 状态 + 数据绑定) | 随项目启停,单次执行归档 | ✅ df-workflow 核心完成 |
|
||||
| **人设 (Persona)** | 谁来做 | Agent 角色卡(system prompt + 工具集 + 行为规则) | 长期存在,跨节点复用 | ⬜ 待设计 |
|
||||
|
||||
### 7.2 三者关系
|
||||
|
||||
```
|
||||
流程模板 (蓝图)
|
||||
│ 实例化(填入项目参数)
|
||||
▼
|
||||
工作流实例 (运行时 DAG)
|
||||
│ 分配人设(绑定到每个 AINode)
|
||||
▼
|
||||
人设驱动 Agent 执行
|
||||
```
|
||||
|
||||
**关键点**:
|
||||
- 模板不绑定具体人设,只标注"建议人设类型",实例化时由用户覆盖
|
||||
- 工作流不感知人设,只管 DAG 执行;人设注入发生在 AINode 执行时
|
||||
- 人设与模板解耦:同一个人设可用于不同模板的同类节点
|
||||
|
||||
### 7.3 模板实例化流程
|
||||
|
||||
```
|
||||
① 选择模板 → "功能开发模板"
|
||||
模板定义: [需求分析]→[架构设计]→[编码]→[测试]→[审查]→[发布]
|
||||
建议人设: analyst → architect → coder → tester → reviewer → none
|
||||
|
||||
② 实例化为工作流 DAG
|
||||
┌─ AINode(需求分析) 建议人设: analyst
|
||||
├─ AINode(架构设计) 建议人设: architect
|
||||
├─ AINode(编码) 建议人设: coder
|
||||
├─ AINode(单元测试) 建议人设: tester
|
||||
├─ ScriptNode(运行测试) 无人设(纯脚本)
|
||||
├─ HumanNode(审批发布) 无人设(人工)
|
||||
└─ AINode(发布说明) 建议人设: writer
|
||||
|
||||
③ 实际分配人设(可覆盖)
|
||||
编码节点 → coder-rust(项目是 Rust 后端)
|
||||
测试节点 → tester-py(测试框架是 Python)
|
||||
|
||||
④ 执行
|
||||
工作流引擎按 DAG 拓扑调度节点
|
||||
每个 AINode 执行时载入对应人设的 system_prompt + 工具集
|
||||
NodeContext 中传递 persona_id,AI Node 据此取人设配置
|
||||
```
|
||||
|
||||
### 7.4 人设定义
|
||||
|
||||
```rust
|
||||
/// 智能体人设(Agent 角色卡)
|
||||
pub struct AgentPersona {
|
||||
pub id: PersonaId,
|
||||
pub name: String, // 人设名称
|
||||
pub description: String, // 一句话描述
|
||||
pub system_prompt: String, // 角色系统提示词
|
||||
pub allowed_tools: Vec<String>, // 可用工具列表
|
||||
pub suggested_tier: ModelTier, // 推荐模型层级
|
||||
pub output_format: OutputFormat, // 输出格式约束
|
||||
pub rules: Vec<BehaviorRule>, // 行为规则
|
||||
pub examples: Vec<PersonaExample>, // Few-shot 样例
|
||||
}
|
||||
|
||||
// 预置人设(平台内置,用户可自定义扩展)
|
||||
Persona::coder → "你是资深 Rust/TS 工程师..."
|
||||
Persona::reviewer → "你是代码审查员,关注安全漏洞..."
|
||||
Persona::architect → "你是系统架构师,关注模块划分..."
|
||||
Persona::tester → "你是测试工程师,生成边界用例..."
|
||||
Persona::analyst → "你是需求分析师,拆解用户故事..."
|
||||
```
|
||||
|
||||
### 7.5 模板示例:功能开发模板(YAML)
|
||||
|
||||
```yaml
|
||||
# templates/feature-dev.yaml
|
||||
id: feature-dev
|
||||
name: 功能开发模板
|
||||
description: 标准功能开发流程,从需求分析到发布
|
||||
template_version: 1
|
||||
|
||||
nodes:
|
||||
- id: analysis
|
||||
type: ai
|
||||
persona_hint: analyst
|
||||
prompt: "分析以下需求:{{inputs.requirement}}"
|
||||
inputs:
|
||||
requirement: "$ctx.requirement"
|
||||
outputs:
|
||||
prd: text
|
||||
|
||||
- id: design
|
||||
type: ai
|
||||
persona_hint: architect
|
||||
prompt: "基于 PRD 设计架构:{{inputs.analysis.prd}}"
|
||||
inputs:
|
||||
analysis: "$nodes.analysis"
|
||||
outputs:
|
||||
arch_doc: text
|
||||
|
||||
- id: coding
|
||||
type: ai
|
||||
persona_hint: coder
|
||||
prompt: "按架构设计实现:{{inputs.design.arch_doc}}"
|
||||
inputs:
|
||||
design: "$nodes.design"
|
||||
outputs:
|
||||
code: text
|
||||
|
||||
- id: review
|
||||
type: ai
|
||||
persona_hint: reviewer
|
||||
prompt: "审查代码:{{inputs.coding.code}}"
|
||||
inputs:
|
||||
coding: "$nodes.coding"
|
||||
|
||||
quality_gates:
|
||||
- node: review
|
||||
condition: "output.verdict == 'pass'"
|
||||
on_fail: "goto coding"
|
||||
|
||||
artifacts:
|
||||
prd: "$nodes.analysis.prd"
|
||||
code: "$nodes.coding.code"
|
||||
review_report: "$nodes.review.text"
|
||||
|
||||
## 八、Phase 规划
|
||||
|
||||
@@ -528,9 +685,10 @@ CREATE TABLE app_settings (
|
||||
- 前端:想法池视图 + 多项目 Tab
|
||||
- 验证:想法捕捉 → AI 评估 → 立项 → 工作流执行
|
||||
|
||||
### Phase 4 — 节点丰富 + 阶段插件 (3-4 周)
|
||||
### Phase 4 — 节点丰富 + 三层模型落地 (3-4 周)
|
||||
- df-nodes (Docker/Git/Human/HTTP)
|
||||
- ~~df-stages (5 阶段模板)~~ — 已移除(2026-06-14 零引用清理)
|
||||
- 流程模板系统(YAML 定义 + 模板库 + 实例化引擎)
|
||||
- 人设系统(AgentPersona 数据结构 + 内置人设 + 工具过滤)
|
||||
- 条件分支 + 断点续跑
|
||||
- 验证:跑通标准产研流程模板
|
||||
|
||||
@@ -566,3 +724,6 @@ CREATE TABLE app_settings (
|
||||
8. **本地优先**:SQLite 嵌入,不依赖云服务
|
||||
9. **多模型并行**:统一抽象,按任务路由,不锁定单一模型
|
||||
10. **流式优先**:AI 输出、Shell 输出全部流式推送到前端
|
||||
11. **模板/工作流/人设三层分离**:模板是蓝图,工作流是实例,人设是角色卡。三层各自独立演化,在 AINode 执行时交汇
|
||||
12. **人设与模板解耦**:模板标注建议人设但不绑定,同一个人设可用于不同模板的同类节点
|
||||
13. **模板实例化**:模板 → 工作流实例 + 人设分配,允许实例化时按项目覆盖人设
|
||||
|
||||
Reference in New Issue
Block a user