Skip to content

Phase 63 — 自主开发者系统设计

版本: v3.0.0 创建日期: 2026-02-28 状态: ✅ 已实现 (v3.0.0)


一、模块概述

Phase 63 引入自主开发者系统,实现AI从需求理解到代码实现的全流程自动化,支持L2级自主开发能力。

1.1 核心功能

  • 自主编码: 需求 → 设计 → 实现 → 测试 全流程
  • 架构决策记录 (ADR): 自动生成架构决策文档
  • 代码审查: 自动化审查、问题检测
  • 重构建议: 识别重构机会
  • 会话管理: 开发任务追踪

二、自主级别定义

javascript
const AUTONOMY_LEVELS = {
  L0: {
    level: 0,
    name: "Suggest Only",
    description: "仅提供建议,所有操作需人工确认",
    capabilities: ["suggest", "analyze"],
  },
  L1: {
    level: 1,
    name: "Simple Tasks",
    description: "简单任务自动执行",
    capabilities: ["suggest", "analyze", "simple_code_gen"],
  },
  L2: {
    level: 2,
    name: "Medium Complexity", // ⭐当前实现
    description: "中等复杂度任务自动执行",
    capabilities: ["suggest", "analyze", "code_gen", "refactor", "test_gen"],
  },
  L3: {
    level: 3,
    name: "Complex Tasks",
    description: "复杂任务自动执行",
    capabilities: ["full_feature_dev", "architecture_design"],
  },
  L4: {
    level: 4,
    name: "Full Autonomy",
    description: "完全自主开发",
    capabilities: ["project_planning", "team_collaboration"],
  },
};

三、核心模块设计

3.1 Autonomous Developer

文件: desktop-app-vue/src/main/ai-engine/autonomous/autonomous-developer.js

开发阶段:

javascript
const DEV_PHASES = {
  REQUIREMENT_ANALYSIS: "requirement_analysis", // 需求分析
  DESIGN: "design", // 设计
  IMPLEMENTATION: "implementation", // 实现
  TESTING: "testing", // 测试
  REVIEW: "review", // 审查
  DEPLOYMENT: "deployment", // 部署
};

会话状态:

javascript
const SESSION_STATUS = {
  ACTIVE: "active", // 进行中
  PAUSED: "paused", // 暂停
  COMPLETED: "completed", // 已完成
  FAILED: "failed", // 失败
};

API方法:

javascript
class AutonomousDeveloper {
  constructor(db, config, llmSession, techLearningEngine) {}

  // 启动开发会话
  async startDevSession(requirement) {}

  // 获取会话状态
  async getSessionStatus(sessionId) {}

  // 代码审查
  async reviewCode(filePath, options = {}) {}

  // 获取架构决策
  async getArchitectureDecisions(sessionId) {}

  // 执行重构
  async refactorCode(filePath, refactoringType) {}

  // 生成测试代码
  async generateTests(filePath) {}

  // 暂停/恢复会话
  async pauseSession(sessionId) {}
  async resumeSession(sessionId) {}

  // 记录架构决策
  async recordADR(sessionId, decision) {}
}

四、开发流程

1. 需求分析阶段
   ├── 解析需求描述
   ├── 识别功能点
   ├── 分析技术约束
   └── 生成任务清单

2. 设计阶段
   ├── 模块设计
   ├── 接口定义
   ├── 数据结构设计
   └── 记录架构决策(ADR)

3. 实现阶段
   ├── 生成代码骨架
   ├── 实现核心逻辑
   ├── 添加错误处理
   └── 代码格式化

4. 测试阶段
   ├── 生成单元测试
   ├── 生成集成测试
   ├── 执行测试
   └── 修复失败测试

5. 审查阶段
   ├── 静态代码分析
   ├── 性能检查
   ├── 安全检查
   └── 生成审查报告

6. 部署阶段
   ├── 构建检查
   ├── 文档生成
   └── 提交代码

五、数据库设计

sql
CREATE TABLE IF NOT EXISTS dev_sessions (
  session_id TEXT PRIMARY KEY,
  requirement TEXT NOT NULL,
  current_phase TEXT NOT NULL,
  status TEXT DEFAULT 'active',
  autonomy_level INTEGER DEFAULT 2,
  code_changes TEXT,                -- JSON: 代码变更列表
  test_results TEXT,                -- JSON: 测试结果
  review_feedback TEXT,             -- JSON: 审查反馈
  started_at INTEGER NOT NULL,
  completed_at INTEGER,
  created_by TEXT,
  updated_at INTEGER NOT NULL
);

CREATE TABLE IF NOT EXISTS architecture_decisions (
  adr_id TEXT PRIMARY KEY,
  session_id TEXT NOT NULL,
  title TEXT NOT NULL,
  context TEXT NOT NULL,
  decision TEXT NOT NULL,
  consequences TEXT,
  alternatives TEXT,                -- JSON: 其他备选方案
  status TEXT DEFAULT 'accepted',   -- proposed/accepted/deprecated/superseded
  created_at INTEGER NOT NULL,
  FOREIGN KEY (session_id) REFERENCES dev_sessions(session_id)
);

CREATE INDEX IF NOT EXISTS idx_dev_sessions_status
  ON dev_sessions(status);
CREATE INDEX IF NOT EXISTS idx_architecture_decisions_session
  ON architecture_decisions(session_id);

六、ADR 模板

markdown
# ADR-{序号}: {决策标题}

## 状态

{proposed | accepted | deprecated | superseded}

## 上下文

{描述需要做出决策的背景和问题}

## 决策

{描述做出的决策}

## 后果

{描述决策的影响,包括正面和负面影响}

## 备选方案

{描述考虑过但未采用的其他方案}

七、Context Engineering 集成

步骤 4.14: 开发会话上下文注入

javascript
// context-engineering.js

setAutonomousDeveloper(developer) {
  this._autonomousDeveloper = developer;
}

async _buildDevSessionContext() {
  if (!this._autonomousDeveloper) return '';

  const activeSessions = await this._autonomousDeveloper.getActiveSessions();

  if (activeSessions.length === 0) return '';

  return `
  ## 当前开发会话

  ${activeSessions.map(s => `
  - 会话ID: ${s.session_id}
  - 需求: ${s.requirement}
  - 当前阶段: ${s.current_phase}
  - 进度: ${s.progress}%
  `).join('\n')}
  `;
}

八、IPC 接口 (5个)

javascript
const CHANNELS = [
  "autonomous-dev:start-dev-session",
  "autonomous-dev:get-session-status",
  "autonomous-dev:review-code",
  "autonomous-dev:get-architecture-decisions",
  "autonomous-dev:refactor-code",
];

九、代码审查检查项

  1. 代码质量

    • 代码复杂度
    • 重复代码
    • 命名规范
  2. 性能

    • 算法复杂度
    • 内存使用
    • 数据库查询优化
  3. 安全

    • SQL注入
    • XSS攻击
    • 敏感数据泄露
  4. 可维护性

    • 代码注释
    • 模块化程度
    • 测试覆盖率

十、配置管理

javascript
autonomousDev: {
  enabled: true,
  defaultAutonomyLevel: 2, // L2: 中等复杂度
  codeReview: {
    autoReview: true,
    checkItems: ['quality', 'performance', 'security'],
    minScore: 0.7,
  },
  testing: {
    autoGenerateTests: true,
    minCoverage: 0.8,
  },
  refactoring: {
    autoRefactor: false, // 需要人工确认
    refactoringTypes: ['extract_method', 'rename_variable', 'simplify_logic'],
  },
}

相关文档:

ChainlessChain 系统设计文档 — 面向开发者