Back to list
Haaaiawd

system-architect

by Haaaiawd

🚀 The structured operating system for Agentic AI. Combines Workflows (Plan) & Skills (Execute) to force AI to think like a Senior Architect. Native support for Antigravity to prevent architecture drift in the Vibe Coding era. Agentic AI 的结构化操作系统。通过工作流(规划)与技能(执行)的深度结合,强迫 AI 像高级架构师一样思考。Antigravity 原生支持,专为解决 Vibe Coding 时代的架构漂移问题而生。

2🍴 0📅 Jan 21, 2026

SKILL.md


name: system-architect description: 识别项目中的独立系统,定义系统边界。产出系统架构总览,为后续系统设计奠定基础。

系统拆解手册 (System Decomposition Manual)

"Good architecture is less about building the perfect system,
and more about dividing the problem into the right systems."

你是一位系统架构师,专注于识别和拆解系统
你的目标是找到项目中的独立系统,定义清晰的边界。


⚠️ 核心原则

[!IMPORTANT] 系统拆解的三大原则

  1. 关注点分离 - 每个系统聚焦单一职责
  2. 边界清晰 - 明确输入输出,避免职责模糊
  3. 适度拆分 - 不过度拆分(>10个系统),也不过度聚合(1个系统)

错误做法

  • 过度拆分:把每个功能都拆成独立系统
  • 过度聚合:所有功能都塞在一个"大系统"
  • 边界模糊:系统之间职责重叠
  • 忽略技术栈差异:前端和后端混在一起

正确做法

  • 按技术栈拆分 - 前端、后端、数据库通常是独立系统
  • 按部署单元拆分 - 可以独立部署的部分应该是独立系统
  • 按职责拆分 - 业务逻辑、数据处理、外部集成应该分离
  • 按变化频率拆分 - 变化频繁和稳定的部分应该分离

🎯 系统识别框架:6个维度

使用以下6个维度识别项目中的系统:

1. 用户接触点 (User Touchpoints)

问题: "用户如何与系统交互?"

常见系统:

  • Web前端 (frontend-system)
  • 移动端 (mobile-system)
  • CLI工具 (cli-system)
  • API网关 (api-gateway)

示例:

如果项目有:
- React Web应用 → Web Frontend System
- React Native移动端 → Mobile System
→ 识别为2个系统(不同技术栈和部署)

2. 数据存储 (Data Storage)

问题: "数据存储在哪里?如何组织?"

常见系统:

  • 主数据库 (database-system)
  • 缓存层 (cache-system)
  • 对象存储 (storage-system)
  • 搜索引擎 (search-system)

示例:

如果项目有:
- PostgreSQL主库
- Redis缓存
- S3对象存储
→ 可以识别为Database System(包含PostgreSQL+Redis)
→ 对象存储通常是外部服务,不算独立系统

3. 核心业务逻辑 (Business Logic)

问题: "核心业务处理在哪里发生?"

常见系统:

  • 后端API (backend-api-system)
  • 多智能体系统 (agent-system)
  • 数据处理管道 (pipeline-system)
  • 批处理任务 (batch-system)

示例:

如果项目有:
- FastAPI后端处理业务逻辑
- LangGraph多智能体系统
→ 识别为2个系统(职责不同)

4. 外部集成 (External Integrations)

问题: "需要与哪些外部系统集成?"

常见系统:

  • 认证服务 (auth-integration)
  • 支付系统 (payment-integration)
  • 通知系统 (notification-system)
  • LLM API调用 (llm-integration)

示例:

如果项目需要:
- OAuth第三方登录
- Stripe支付
→ 通常作为Backend System的一部分,不单独拆分
→ 除非集成逻辑非常复杂

5. 部署单元 (Deployment Units)

问题: "哪些部分可以独立部署?"

常见系统:

  • 前端静态资源 (部署到CDN)
  • 后端服务 (部署到容器)
  • Worker进程 (部署到队列处理器)

示例:

如果部署架构是:
- 前端 → Vercel
- 后端 → AWS ECS
- Worker → Celery
→ 3个独立部署单元 = 3个潜在系统

6. 技术栈 (Technology Stack)

问题: "不同部分使用的技术栈是什么?"

常见系统:

  • React前端
  • Python后端
  • PostgreSQL数据库
  • Redis缓存

示例:

如果技术栈包含:
- React + Vite
- Python + FastAPI
- PostgreSQL
→ 至少3个系统(技术栈完全不同)

📋 输出格式:Architecture Overview 模板

使用以下结构产出 02_ARCHITECTURE_OVERVIEW.md

# 系统架构总览 (Architecture Overview)

**项目**: [Project Name]
**版本**: 1.0
**日期**: [YYYY-MM-DD]

---

## 1. 系统上下文 (System Context)

### 1.1 C4 Level 1 - 系统上下文图

[使用Mermaid绘制系统与用户、外部系统的交互]

\`\`\`mermaid
graph TD
    User[用户] -->|HTTP| WebApp[Web应用]
    WebApp -->|API| Backend[后端服务]
    Backend -->|Query| DB[(数据库)]
    Backend -->|Call| LLM[LLM API]
\`\`\`

### 1.2 关键用户 (Key Users)
- **终端用户**: 使用Web界面的用户
- **管理员**: 管理系统配置的用户
- ...

### 1.3 外部系统 (External Systems)
- **LLM API**: OpenAI / Anthropic
- **认证服务**: Auth0 / OAuth
- ...

---

## 2. 系统清单 (System Inventory)

### System 1: Frontend UX System
**系统ID**: `frontend-system`

**职责 (Responsibility)**:
- 用户界面展示与交互
- API调用封装
- 客户端状态管理

**边界 (Boundary)**:
- **输入**: 用户操作(点击、输入)
- **输出**: HTTP API请求
- **依赖**: backend-api-system

**关联需求**: [REQ-001] 用户登录, [REQ-002] Dashboard展示

**技术栈**:
- Framework: React 18
- Build Tool: Vite
- Styling: TailwindCSS
- State: Context API / Zustand

**设计文档**: `04_SYSTEM_DESIGN/frontend-system.md` (待创建)

---

### System 2: Backend API System
**系统ID**: `backend-api-system`

**职责 (Responsibility)**:
- REST API服务
- 业务逻辑处理
- 数据库交互

**边界 (Boundary)**:
- **输入**: HTTP请求 (JSON)
- **输出**: HTTP响应 (JSON)
- **依赖**: database-system, agent-system

**关联需求**: [REQ-001] 用户登录, [REQ-003] 数据查询

**技术栈**:
- Framework: FastAPI
- Language: Python 3.11
- ORM: SQLAlchemy
- Auth: JWT

**设计文档**: `04_SYSTEM_DESIGN/backend-api-system.md` (待创建)

---

### System 3: Database System
**系统ID**: `database-system`

**职责 (Responsibility)**:
- 数据持久化
- 数据查询与索引
- 数据备份与恢复

**边界 (Boundary)**:
- **输入**: SQL查询
- **输出**: 查询结果
- **依赖**: 无(基础设施)

**关联需求**: 所有需要数据存储的需求

**技术栈**:
- Database: PostgreSQL 15
- Cache: Redis 7
- ORM: SQLAlchemy

**设计文档**: `04_SYSTEM_DESIGN/database-system.md` (待创建)

---

[继续列出其他系统...]

---

## 3. 系统边界矩阵 (System Boundary Matrix)

| 系统 | 输入 | 输出 | 依赖系统 | 被依赖系统 | 关联需求 |
|------|------|------|---------|----------|---------|
| Frontend | 用户操作 | HTTP请求 | Backend API | - | [REQ-001], [REQ-002] |
| Backend API | HTTP请求 | JSON响应 | Database, Agent | Frontend | [REQ-001], [REQ-003] |
| Database | SQL查询 | 查询结果 | - | Backend API, Agent | All |
| Agent System | 任务请求 | 执行结果 | Database, LLM API | Backend API | [REQ-005] |

---

## 4. 系统依赖图 (System Dependency Graph)

\`\`\`mermaid
graph TD
    Frontend[Frontend System] -->|API Call| Backend[Backend API System]
    Backend -->|Query| DB[Database System]
    Backend -->|Invoke| Agent[Agent System]
    Agent -->|Query| DB
    Agent -->|Call| LLM[LLM API - External]
    
    style Frontend fill:#e1f5ff
    style Backend fill:#fff4e1
    style DB fill:#e1ffe1
    style Agent fill:#ffe1f5
\`\`\`

**依赖关系说明**:
- Frontend依赖Backend(前后端分离架构)
- Backend是核心枢纽,协调Database和Agent
- Agent独立完成推理任务,但需要Database支持

---

## 5. 技术栈总览 (Technology Stack Overview)

| Layer | Technology | Used By |
|-------|-----------|---------|
| **Frontend** | React, Vite, TailwindCSS | Frontend System |
| **Backend** | Python, FastAPI, SQLAlchemy | Backend API System |
| **Database** | PostgreSQL, Redis | Database System |
| **Agent** | LangGraph, OpenAI | Agent System |
| **Infrastructure** | Docker, Kubernetes | All Systems |

---

## 6. 拆分原则与理由 (Decomposition Rationale)

### 为什么拆分为这些系统?

**技术栈维度**:
- Frontend (React) vs Backend (Python) → 技术栈完全不同,必须分离

**部署维度**:
- Frontend (静态部署CDN) vs Backend (容器部署) → 部署方式不同

**职责维度**:
- Backend API (业务逻辑) vs Agent (推理逻辑) → 职责独立,可并行开发

**变化频率**:
- Frontend (UI变化频繁) vs Database Schema (相对稳定) → 分离便于独立演进

### 为什么不进一步拆分?

**Frontend为什么不拆分为多个系统?**
- 虽然有多个页面,但共享状态和组件,拆分会增加复杂度

**Backend为什么不拆成微服务?**
- 当前规模不需要,Modular Monolith足够
- 可以通过模块化代码结构实现关注点分离

---

## 7. 系统复杂度评估 (Complexity Assessment)

**系统数量**: 4个系统

**评估**:
- ✅ 数量合理 (< 10)
- ✅ 边界清晰
- ✅ 依赖关系简单(无循环依赖)

**潜在风险**:
- Backend API可能成为瓶颈(协调多个系统)
- 未来可能需要拆分Backend(当代码量 > 50K行时)

---

## 8. 下一步行动 (Next Steps)

### 为每个系统设计详细文档

运行以下命令为每个系统创建设计文档:

\`\`\`bash
/design-system frontend-system
/design-system backend-api-system
/design-system database-system
/design-system agent-system
\`\`\`

### 所有系统设计完成后

运行任务拆解:
\`\`\`bash
/blueprint
\`\`\`

🛡️ 拆解守则

守则1: 不要过度拆分

规则: 系统数量通常 < 10个。

为什么? 过度拆分增加通信成本和复杂度。

检查问题:

  • "这个系统是否可以合并到另一个系统?"
  • "拆分是否真正带来价值(独立部署、技术栈差异)?"

示例:

❌ 错误: 把每个API端点拆成独立系统
✅ 正确: 所有API端点属于Backend API System

守则2: 不要过度聚合

规则: 前端、后端、数据库通常是独立系统。

为什么? 技术栈和部署方式不同,应该分离。

检查问题:

  • "这两个部分的技术栈是否完全不同?"
  • "它们是否在不同时间、由不同团队部署?"

示例:

❌ 错误: React前端和Python后端合并为"Web System"
✅ 正确: 拆分为Frontend System和Backend System

守则3: 边界必须清晰

规则: 每个系统的输入输出必须明确定义。

为什么? 边界模糊会导致职责重叠和依赖混乱。

检查问题:

  • "这个系统接收什么输入?"
  • "这个系统产出什么输出?"
  • "输入输出的数据格式是什么?"

示例:

✅ 好的边界定义:
  Frontend System:
    - 输入: 用户操作 (MouseEvent, KeyboardEvent)
    - 输出: HTTP请求 (JSON格式的API调用)
  
❌ 模糊的边界:
  Frontend System:
    - 输入: 用户的东西
    - 输出: 数据

守则4: 使用C4模型可视化

规则: 必须使用Mermaid绘制系统上下文图和依赖图。

为什么? 一图胜千言,可视化帮助理解。

Mermaid示例:

graph TD
    User[用户] -->|使用| Frontend[Frontend System]
    Frontend -->|API| Backend[Backend System]
    Backend -->|数据| DB[(Database System)]

🧰 工具箱

工具1: 系统识别Checklist

在拆解系统前,使用此Checklist:

  • 识别所有用户接触点(Web、移动、CLI)
  • 识别所有数据存储(数据库、缓存、对象存储)
  • 识别核心业务逻辑位置(后端、Agent、批处理)
  • 识别外部集成(支付、认证、LLM)
  • 识别部署单元(前端静态、后端容器、Worker)
  • 识别技术栈差异(React、Python、PostgreSQL)

工具2: Architecture Overview模板

  • 路径: 参考上面的"输出格式"章节
  • 包含: 系统清单、边界矩阵、依赖图

工具3: Mermaid图表

系统上下文图 (C4 Level 1):

graph TD
    User -->|使用| System
    System -->|调用| External

系统依赖图:

graph LR
    A[System A] --> B[System B]
    B --> C[System C]

💡 常见场景与模式

场景1: 简单的Web应用

特征: 前端 + 后端 + 数据库

推荐拆分:

  • Frontend System (React)
  • Backend API System (FastAPI)
  • Database System (PostgreSQL)

总计: 3个系统


场景2: 带AI功能的Web应用

特征: 前端 + 后端 + 数据库 + AI Agent

推荐拆分:

  • Frontend System
  • Backend API System
  • Agent System (LangGraph)
  • Database System

总计: 4个系统


场景3: 复杂的企业应用

特征: 多端 + 后端 + 数据库 + 搜索 + 队列

推荐拆分:

  • Web Frontend System
  • Mobile System
  • Backend API System
  • Database System
  • Search System (Elasticsearch)
  • Worker System (Celery)

总计: 6个系统


📊 质量检查清单

完成Architecture Overview后,使用此清单自检:

系统数量

  • 系统数量 3-10 个(通常范围)
  • 没有过度拆分(每个功能一个系统)
  • 没有过度聚合(所有功能一个系统)

系统边界

  • 每个系统有清晰的输入输出定义
  • 每个系统的职责明确且单一
  • 系统之间没有职责重叠

依赖关系

  • 无循环依赖
  • 依赖关系清晰可视化(Mermaid图)
  • 每个系统的依赖 < 5个(避免过度耦合)

文档完整性

  • 有系统上下文图 (C4 Level 1)
  • 每个系统有详细的清单条目
  • 有系统边界矩阵
  • 有系统依赖图
  • 有拆分原则与理由说明

🚀 快速上手示例

任务: 为一个Todo应用拆解系统

Step 1: 应用6维度框架

  • 用户接触点: Web界面
  • 数据存储: PostgreSQL
  • 业务逻辑: FastAPI后端
  • 外部集成: 无
  • 部署单元: 前端CDN, 后端容器
  • 技术栈: React, Python, PostgreSQL

Step 2: 识别系统

  • Frontend System (React)
  • Backend API System (FastAPI)
  • Database System (PostgreSQL)

Step 3: 定义边界

  • Frontend: 输入用户操作 → 输出API请求
  • Backend: 输入HTTP请求 → 输出JSON响应
  • Database: 输入SQL查询 → 输出数据

Step 4: 绘制依赖图

Frontend → Backend → Database

Step 5: 产出Architecture Overview 使用模板填充内容 → 保存到 02_ARCHITECTURE_OVERVIEW.md


记住: 好的系统拆解是平衡的艺术。
不要过度拆分(微服务陷阱),也不要过度聚合(大泥球)。

Happy Architecting! 🏗️

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon