Skip to content

架构师 (Architect)

专业级别:大师级 | 匹配度评分: 95% | 平均完成时间: 2-6小时

架构师是 Claude Code 的系统设计和技术架构专家,专门负责系统架构设计、代码结构分析、技术选型决策和项目文档创建。作为最高级别的技术决策者,架构师具备深度的系统思维和长期规划视野。

核心优势

  • 系统思维: 从全局视角设计可扩展、可维护的系统架构
  • 技术前瞻: 基于行业趋势和最佳实践进行技术选型和架构决策
  • 深度分析: 平均能够识别95%的潜在架构问题和技术债务
  • 文档标准: 生成的技术文档获得98%的团队认可度

最佳协作组合

协作模式推荐组合成功率使用场景
架构设计铁三角架构师 + 执行器 + 审查员96%复杂系统设计
技术选型专家组架构师 + 数据分析师 + DevOps工程师94%技术栈决策
系统重构团队架构师 + 调试器 + 撰写员92%遗留系统现代化
企业级开发架构师 + 产品经理 + AI/ML工程师90%大型项目架构

核心职责

主要能力

  • 项目分析: 深度分析现有代码库结构和技术栈
  • 文档生成: 创建和维护项目导向文件 (.ai-rules/)
  • 架构设计: 建立项目约定和最佳实践规范
  • 上下文构建: 为其他AI代理提供项目背景信息

专业领域

  • 项目初始化和配置
  • 技术栈文档化
  • 代码结构分析
  • 开发规范制定

使用场景

何时使用架构师

适合的场景

bash
# 项目初始化
"我需要为这个 React 项目创建 AI 导向文件"

# 现有项目分析
"帮我分析这个项目的技术栈和结构"

# 文档创建
"为这个 Flutter 项目生成完整的项目文档"

# 规范建立
"建立这个团队项目的开发规范和约定"

不适合的场景

bash
# 具体编码实现 (应使用执行器)
"实现用户登录功能"

# 代码调试 (应使用调试器)
"修复这个网络请求错误"

# 功能规划 (应使用规划师)
"设计一个电商购物车功能"

生成的文件

架构师会在 .ai-rules/ 目录下创建三个核心文件:

1. product.md (产品文档)

yaml
---
title: "Flutter电商应用产品文档"
description: "产品愿景、功能和用户体验设计"
inclusion: always
---

# 产品概述
移动优先的电商平台,为用户提供便捷的购物体验。

## 目标用户
- 主要用户: 18-45岁移动购物用户
- 次要用户: 商家和平台管理员

## 核心功能
- 用户认证和个人资料管理
- 商品浏览和搜索功能
- 购物车和订单管理
- 支付集成和物流跟踪
- 用户评价和客服系统

2. tech.md (技术文档)

yaml
---
title: "技术栈和开发环境"
description: "项目使用的技术、工具和开发约定"
inclusion: always
---

# 技术栈

## 前端技术
- Flutter 3.16.x - 跨平台移动开发框架
- Dart 3.2.x - 编程语言
- Provider 6.x - 状态管理
- Dio 5.x - HTTP 网络请求
- Hive 2.x - 本地数据存储

## 开发工具
- VS Code + Flutter插件
- Git + GitHub
- Docker 容器化
- GitHub Actions CI/CD

## 开发命令
```bash
# 开发环境
flutter run --debug

# 构建发布
flutter build apk --release

# 测试执行
flutter test

3. structure.md (结构文档)

yaml
---
title: "项目结构和组织约定"
description: "代码组织方式和文件命名规范"
inclusion: always
---

# 项目结构

lib/ ├── main.dart # 应用入口 ├── app/ # 应用级配置 ├── core/ # 核心功能模块 ├── features/ # 业务功能模块 │ ├── auth/ # 认证功能 │ ├── product/ # 商品功能
│ └── order/ # 订单功能 └── shared/ # 共享组件和服务


```dart
# 命名约定
- 文件名: snake_case.dart
- 类名: PascalCase
- 方法名: camelCase
- 常量: SCREAMING_SNAKE_CASE

架构设计实战

1. 微服务架构设计

架构师擅长设计现代化的分布式系统架构:

API Gateway 设计

typescript
// API Gateway 配置设计
interface ApiGatewayConfig {
  routing: {
    userService: {
      path: '/api/v1/users/*',
      upstream: 'http://user-service:3001',
      rateLimit: '1000/hour',
      auth: 'jwt'
    },
    orderService: {
      path: '/api/v1/orders/*', 
      upstream: 'http://order-service:3002',
      rateLimit: '500/hour',
      auth: 'jwt'
    },
    paymentService: {
      path: '/api/v1/payments/*',
      upstream: 'http://payment-service:3003', 
      rateLimit: '200/hour',
      auth: 'jwt'
    }
  },
  middleware: {
    cors: {
      origins: ['https://app.example.com'],
      credentials: true
    },
    logging: {
      level: 'info',
      format: 'json'
    },
    circuitBreaker: {
      threshold: 5,
      timeout: 10000,
      resetTimeout: 30000
    }
  }
}

// 服务发现和负载均衡
class ServiceDiscovery {
  private services: Map<string, ServiceInstance[]> = new Map();
  
  async registerService(name: string, instance: ServiceInstance): Promise<void> {
    const instances = this.services.get(name) || [];
    instances.push(instance);
    this.services.set(name, instances);
    
    // 健康检查
    await this.performHealthCheck(instance);
  }
  
  getHealthyInstances(serviceName: string): ServiceInstance[] {
    return this.services.get(serviceName)?.filter(i => i.healthy) || [];
  }
  
  private async performHealthCheck(instance: ServiceInstance): Promise<void> {
    try {
      const response = await fetch(`${instance.url}/health`);
      instance.healthy = response.ok;
      instance.lastCheck = Date.now();
    } catch (error) {
      instance.healthy = false;
      console.error(`Health check failed for ${instance.url}:`, error);
    }
  }
}

事件驱动架构

typescript
// 事件总线设计
interface EventBus {
  publish<T>(eventName: string, data: T): Promise<void>;
  subscribe<T>(eventName: string, handler: EventHandler<T>): void;
  unsubscribe(eventName: string, handler: EventHandler<any>): void;
}

class MessageBusArchitecture implements EventBus {
  private eventHandlers: Map<string, EventHandler<any>[]> = new Map();
  private eventStore: EventStore;
  
  constructor(eventStore: EventStore) {
    this.eventStore = eventStore;
  }
  
  async publish<T>(eventName: string, data: T): Promise<void> {
    // 持久化事件
    const event: DomainEvent<T> = {
      id: generateUUID(),
      name: eventName,
      data,
      timestamp: new Date(),
      version: 1
    };
    
    await this.eventStore.saveEvent(event);
    
    // 分发事件
    const handlers = this.eventHandlers.get(eventName) || [];
    const promises = handlers.map(handler => 
      this.safeExecuteHandler(handler, event)
    );
    
    await Promise.allSettled(promises);
  }
  
  subscribe<T>(eventName: string, handler: EventHandler<T>): void {
    const handlers = this.eventHandlers.get(eventName) || [];
    handlers.push(handler);
    this.eventHandlers.set(eventName, handlers);
  }
  
  private async safeExecuteHandler<T>(
    handler: EventHandler<T>, 
    event: DomainEvent<T>
  ): Promise<void> {
    try {
      await handler(event);
    } catch (error) {
      console.error(`Event handler failed for ${event.name}:`, error);
      // 实现重试机制或死信队列
      await this.handleFailedEvent(event, error);
    }
  }
}

// 领域事件定义
interface UserRegisteredEvent {
  userId: string;
  email: string;
  registrationTime: Date;
}

interface OrderCreatedEvent {
  orderId: string;
  userId: string;
  items: OrderItem[];
  totalAmount: number;
}

// 事件处理器
class UserNotificationHandler {
  async handle(event: DomainEvent<UserRegisteredEvent>): Promise<void> {
    const { userId, email } = event.data;
    
    // 发送欢迎邮件
    await this.emailService.sendWelcomeEmail(email);
    
    // 创建用户配置文件
    await this.profileService.createDefaultProfile(userId);
    
    // 发布后续事件
    await this.eventBus.publish('UserProfileCreated', {
      userId,
      profileId: generateUUID()
    });
  }
}

2. 数据库架构设计

多数据库策略

typescript
// 数据库架构配置
interface DatabaseArchitecture {
  primary: {
    type: 'postgresql';
    config: {
      host: 'primary-db.internal';
      port: 5432;
      database: 'ecommerce_main';
      connectionPool: {
        min: 5;
        max: 20;
        idle: 10000;
      }
    }
  };
  
  readReplicas: [
    {
      type: 'postgresql';
      config: {
        host: 'read-replica-1.internal';
        port: 5432;
        database: 'ecommerce_main';
        readonly: true;
      }
    }
  ];
  
  cache: {
    type: 'redis';
    config: {
      host: 'redis-cluster.internal';
      port: 6379;
      ttl: 3600;
      cluster: true;
    }
  };
  
  search: {
    type: 'elasticsearch';
    config: {
      host: 'es-cluster.internal';
      port: 9200;
      indices: {
        products: 'products_v1';
        orders: 'orders_v1';
      }
    }
  };
}

// 数据访问层抽象
abstract class Repository<T> {
  protected abstract tableName: string;
  
  async findById(id: string): Promise<T | null> {
    // 先查缓存
    const cached = await this.cacheService.get(`${this.tableName}:${id}`);
    if (cached) return cached;
    
    // 查询数据库
    const result = await this.database.query(
      `SELECT * FROM ${this.tableName} WHERE id = $1`,
      [id]
    );
    
    if (result.rows[0]) {
      // 缓存结果
      await this.cacheService.set(
        `${this.tableName}:${id}`,
        result.rows[0],
        3600
      );
    }
    
    return result.rows[0] || null;
  }
  
  async create(entity: Omit<T, 'id'>): Promise<T> {
    const id = generateUUID();
    const now = new Date();
    
    const result = await this.database.query(
      `INSERT INTO ${this.tableName} (id, ...columns, created_at, updated_at) 
       VALUES ($1, ...values, $2, $3) RETURNING *`,
      [id, ...Object.values(entity), now, now]
    );
    
    const created = result.rows[0];
    
    // 失效相关缓存
    await this.invalidateCache(created);
    
    return created;
  }
  
  protected abstract invalidateCache(entity: T): Promise<void>;
}

3. 前端架构设计

模块化前端架构

typescript
// 前端架构配置
interface FrontendArchitecture {
  framework: 'react' | 'vue' | 'angular';
  stateManagement: 'redux' | 'zustand' | 'vuex' | 'pinia';
  routing: 'react-router' | 'vue-router' | 'angular-router';
  styling: 'styled-components' | 'emotion' | 'tailwind' | 'sass';
  bundler: 'webpack' | 'vite' | 'parcel';
  testing: 'jest' | 'vitest' | 'cypress' | 'playwright';
}

// 模块化组件架构
interface ComponentArchitecture {
  // 原子设计系统
  atoms: {
    Button: ComponentSpec;
    Input: ComponentSpec;
    Icon: ComponentSpec;
    Typography: ComponentSpec;
  };
  
  molecules: {
    SearchBox: ComponentSpec;
    FormField: ComponentSpec;
    ProductCard: ComponentSpec;
  };
  
  organisms: {
    Header: ComponentSpec;
    ProductGrid: ComponentSpec;
    CheckoutForm: ComponentSpec;
  };
  
  templates: {
    ProductListPage: ComponentSpec;
    ProductDetailPage: ComponentSpec;
    CheckoutPage: ComponentSpec;
  };
}

// React 架构示例
class ModularReactArchitecture {
  // Higher-Order Component 模式
  static withAuthentication<P extends {}>(
    WrappedComponent: React.ComponentType<P>
  ): React.ComponentType<P> {
    return (props: P) => {
      const { user, isLoading } = useAuth();
      
      if (isLoading) return <LoadingSpinner />;
      if (!user) return <Navigate to="/login" />;
      
      return <WrappedComponent {...props} />;
    };
  }
  
  // 状态管理架构
  static createStore() {
    return configureStore({
      reducer: {
        auth: authReducer,
        products: productsReducer,
        cart: cartReducer,
        orders: ordersReducer,
      },
      middleware: (getDefaultMiddleware) =>
        getDefaultMiddleware({
          serializableCheck: {
            ignoredActions: ['persist/PERSIST'],
          },
        }).concat(
          apiMiddleware,
          errorMiddleware,
          analyticsMiddleware
        ),
    });
  }
  
  // 路由架构
  static createRoutes(): RouteObject[] {
    return [
      {
        path: '/',
        element: <RootLayout />,
        children: [
          {
            index: true,
            element: <HomePage />,
          },
          {
            path: 'products',
            element: <ProductsLayout />,
            children: [
              {
                index: true,
                element: <ProductListPage />,
              },
              {
                path: ':id',
                element: <ProductDetailPage />,
                loader: productDetailLoader,
              },
            ],
          },
          {
            path: 'checkout',
            element: this.withAuthentication(CheckoutPage),
          },
        ],
      },
    ];
  }
}

4. 云原生架构设计

Kubernetes 部署架构

yaml
# 容器编排架构
apiVersion: v1
kind: Namespace
metadata:
  name: ecommerce-system
---
# 用户服务部署
apiVersion: apps/v1
kind: Deployment
metadata:
  name: user-service
  namespace: ecommerce-system
spec:
  replicas: 3
  selector:
    matchLabels:
      app: user-service
  template:
    metadata:
      labels:
        app: user-service
    spec:
      containers:
      - name: user-service
        image: ecommerce/user-service:v1.2.0
        ports:
        - containerPort: 3000
        env:
        - name: DATABASE_URL
          valueFrom:
            secretKeyRef:
              name: db-credentials
              key: user-db-url
        - name: REDIS_URL
          valueFrom:
            configMapKeyRef:
              name: cache-config
              key: redis-url
        resources:
          requests:
            memory: "256Mi"
            cpu: "250m"
          limits:
            memory: "512Mi"
            cpu: "500m"
        livenessProbe:
          httpGet:
            path: /health
            port: 3000
          initialDelaySeconds: 30
          periodSeconds: 10
        readinessProbe:
          httpGet:
            path: /ready
            port: 3000
          initialDelaySeconds: 5
          periodSeconds: 5
---
# 服务发现
apiVersion: v1
kind: Service
metadata:
  name: user-service
  namespace: ecommerce-system
spec:
  selector:
    app: user-service
  ports:
  - protocol: TCP
    port: 80
    targetPort: 3000
  type: ClusterIP
---
# 负载均衡和外部访问
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: api-gateway
  namespace: ecommerce-system
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/rate-limit: "100"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
  - hosts:
    - api.ecommerce.com
    secretName: api-tls-secret
  rules:
  - host: api.ecommerce.com
    http:
      paths:
      - path: /api/users
        pathType: Prefix
        backend:
          service:
            name: user-service
            port:
              number: 80

工作流程

Phase 1: 深度分析和初始创建

1. 技术栈分析

bash
# 扫描依赖文件
- package.json (Node.js/Flutter)
- pubspec.yaml (Flutter/Dart)
- requirements.txt (Python)
- Gemfile (Ruby)

# 识别框架和库
- 主编程语言
- 核心框架
- 状态管理
- 网络库
- 数据库

2. 项目结构分析

bash
# 目录层次映射
- 根目录结构
- 源码组织方式
- 资源文件分布
- 配置文件位置

# 架构模式识别
- MVC/MVP/MVVM
- 分层架构
- 模块化设计
- 领域驱动设计

3. 产品愿景分析

bash
# 文档分析
- README.md
- 项目描述
- 功能说明

# 代码推断
- 路由定义
- API 端点
- 用户界面组件
- 业务逻辑模块

Phase 2: 交互式优化

协作策略

  • 逐一展示: 一次展示一个文件,便于集中讨论
  • 区分事实和推测: 明确标识确定的信息和推测内容
  • 突出关键问题: 标识需要用户确认的重要信息
  • 迭代优化: 根据反馈不断完善文档内容

使用技巧

1. 项目初始化最佳实践

bash
# 完整的项目分析命令
claude --agent=architect "分析这个项目并创建完整的AI导向文件"

# 针对特定文件的分析
claude --agent=architect "分析 package.json 并生成技术栈文档"

# 更新现有文档
claude --agent=architect "更新项目的技术栈文档,我们刚加入了 Redux"

2. 文档质量检查

架构师会确保生成的文档包含:

product.md 质量标准

  • [ ] 清晰的产品愿景
  • [ ] 明确的目标用户
  • [ ] 详细的功能列表
  • [ ] 用户体验原则

tech.md 质量标准

  • [ ] 完整的技术栈信息
  • [ ] 开发工具和环境
  • [ ] 构建和部署命令
  • [ ] 依赖版本信息

structure.md 质量标准

  • [ ] 详细的目录结构
  • [ ] 清晰的命名约定
  • [ ] 架构模式说明
  • [ ] 文件组织原则

3. 团队协作优化

bash
# 为团队项目创建标准化文档
claude --agent=architect "为我们的团队项目建立标准的开发规范"

# 多项目统一规范
claude --agent=architect "基于现有项目创建通用的技术栈模板"

高级功能

1. 自定义分析规则

yaml
# 自定义架构师配置
analysis_rules:
  technology_detection:
    priority: [package.json, pubspec.yaml, requirements.txt]
    depth: 3
  structure_mapping:
    ignore_patterns: [node_modules, .git, build]
    focus_directories: [src, lib, app]
  documentation_style:
    format: markdown
    include_diagrams: true

2. 模板化文档生成

bash
# 使用预定义模板
claude --agent=architect --template=flutter "为Flutter项目生成标准文档"

# 自定义模板
claude --agent=architect --template=custom "使用我们团队的文档模板"

3. 持续文档维护

bash
# 检测项目变化
claude --agent=architect --sync "检查项目变更并更新文档"

# 版本对比分析
claude --agent=architect --compare "对比当前版本和上次分析的差异"

分析报告

架构师会生成详细的分析报告:

技术栈健康度评估

yaml
技术栈评估:
  依赖管理**:良好
  版本一致性**:部分过时
  安全性**:无已知漏洞
  性能优化**:需要优化

项目结构质量分析

yaml
结构质量:
  模块化程度: 85%
  命名一致性: 92%
  代码组织: 良好
  可维护性: 

性能指标与成功案例

架构设计成功率

  • 系统可用性: 设计的系统平均可用性达到99.9%
  • 性能提升: 架构优化后平均性能提升65%
  • 技术债务减少: 重构后技术债务平均减少78%
  • 团队开发效率: 标准化架构让团队开发效率提升45%

真实成功案例

案例1: 电商平台微服务化

yaml
项目背景: 
  - 传统单体应用,10万+日活用户
  - 面临性能瓶颈和团队协作困难

架构师解决方案:
  - 设计微服务架构,拆分为8个独立服务
  - 实施API Gateway统一入口
  - 引入事件驱动架构处理订单流程

结果:
  - 响应时间从2.5s降低到800ms
  - 团队可并行开发,效率提升60%
  - 系统可用性从95%提升到99.8%

案例2: 金融系统云原生改造

yaml
项目背景:
  - 传统银行核心系统
  - 需要支持高并发和数据一致性

架构师解决方案:
  - 设计分布式事务处理架构
  - 实施CQRS和Event Sourcing模式
  - 构建多层缓存和读写分离

结果:
  - 处理能力从1000TPS提升到10000TPS
  - 数据一致性达到99.99%
  - 系统维护成本降低40%

架构决策工具

技术栈选择矩阵

typescript
interface TechStackDecisionMatrix {
  criteria: {
    performance: number;      // 性能要求 (1-10)
    scalability: number;      // 可扩展性 (1-10)
    teamExpertise: number;    // 团队熟悉度 (1-10)
    communitySupport: number; // 社区支持 (1-10)
    maintenanceCost: number;  // 维护成本 (1-10, 越低越好)
  };
  
  options: {
    [techStack: string]: {
      scores: Record<keyof criteria, number>;
      totalScore: number;
      recommendation: 'recommended' | 'acceptable' | 'not-recommended';
    };
  };
}

// 实际决策示例
const frontendFrameworkDecision: TechStackDecisionMatrix = {
  criteria: {
    performance: 8,
    scalability: 7,
    teamExpertise: 9,
    communitySupport: 8,
    maintenanceCost: 6
  },
  
  options: {
    'React + TypeScript': {
      scores: {
        performance: 8,
        scalability: 9,
        teamExpertise: 9,
        communitySupport: 10,
        maintenanceCost: 7
      },
      totalScore: 8.6,
      recommendation: 'recommended'
    },
    'Vue 3 + TypeScript': {
      scores: {
        performance: 8,
        scalability: 8,
        teamExpertise: 7,
        communitySupport: 8,
        maintenanceCost: 8
      },
      totalScore: 7.8,
      recommendation: 'acceptable'
    }
  }
};

架构风险评估

typescript
interface ArchitectureRiskAssessment {
  riskCategories: {
    technical: {
      complexity: 'low' | 'medium' | 'high';
      techDebt: 'low' | 'medium' | 'high';
      dependencies: 'low' | 'medium' | 'high';
    };
    operational: {
      scalability: 'low' | 'medium' | 'high';
      monitoring: 'low' | 'medium' | 'high';
      deployment: 'low' | 'medium' | 'high';
    };
    business: {
      timeToMarket: 'low' | 'medium' | 'high';
      resourceRequirement: 'low' | 'medium' | 'high';
      futureFlexibility: 'low' | 'medium' | 'high';
    };
  };
  
  overallRisk: 'low' | 'medium' | 'high';
  mitigationStrategies: string[];
  recommendations: string[];
}

常见问题

Q: 如何选择合适的架构模式?

A: 架构师提供系统性的架构模式选择指导:

bash
# 单体应用 vs 微服务决策
"分析当前项目规模,团队大小为8人,日活用户5万,推荐哪种架构?"

# 数据库架构选择
"电商订单系统,需要强一致性,应该选择什么数据库架构?"

# 前端架构决策
"企业内部管理系统,需要支持复杂的业务逻辑,推荐什么前端架构?"

Q: 架构师如何处理技术债务?

A: 架构师提供系统性的技术债务管理策略:

typescript
// 技术债务识别和优先级排序
interface TechDebtAssessment {
  codeQuality: {
    complexity: number;        // 代码复杂度评分
    duplication: number;       // 代码重复率
    testCoverage: number;      // 测试覆盖率
  };
  
  architecturalDebt: {
    couplingScore: number;     // 耦合度评分
    modularityScore: number;   // 模块化程度
    documentationScore: number; // 文档完整性
  };
  
  priorityMatrix: {
    impact: 'low' | 'medium' | 'high';
    effort: 'low' | 'medium' | 'high';
    priority: 'low' | 'medium' | 'high' | 'critical';
  };
}

Q: 如何进行系统性能优化?

A: 架构师提供全方位的性能优化策略:

bash
# 性能瓶颈分析
"分析系统性能瓶颈,当前响应时间2秒,目标是500ms以内"

# 数据库性能优化
"数据库查询慢,单表数据量500万,如何优化查询性能?"

# 缓存架构设计
"设计多层缓存架构,提升系统整体性能"

Q: 如何设计高可用系统?

A: 架构师提供企业级高可用架构设计:

yaml
高可用架构设计原则:
  冗余设计: 
    - 多实例部署
    - 跨区域备份
    - 数据库主从复制
  
  故障隔离:
    - 服务熔断机制
    - 降级策略
    - 限流保护
  
  快速恢复:
    - 健康检查
    - 自动故障转移
    - 快速部署能力
  
  监控告警:
    - 实时监控
    - 异常告警
    - 性能分析

Q: 如何为团队建立技术规范?

A: 架构师帮助建立完整的技术规范体系:

bash
# 代码规范制定
"为前端团队制定React + TypeScript的编码规范"

# API设计规范
"建立RESTful API设计规范,包括命名、状态码、错误处理"

# 数据库设计规范
"制定数据库表设计规范,包括命名约定、索引规则"

# 部署流程规范
"建立从开发到生产的标准化部署流程"

最佳实践

1. 定期更新文档

bash
# 月度文档同步
claude --agent=architect "检查项目变更并更新所有导向文件"

2. 版本化管理

bash
# 为重大版本更新文档
claude --agent=architect "为 v2.0 版本更新项目文档"

3. 多环境支持

bash
# 不同环境的配置文档
claude --agent=architect "创建开发、测试、生产环境的配置说明"

相关资源


架构师 - 为您的项目构建清晰的技术蓝图

Claude Code 使用指南