---
tags: [平台原則, 零件架構, 架構決策]
gloss: arcrun 的開發預設順序——串服務先寫工作流，只有「全生態必須重用」才把能力編譯成 WASM 零件。
---
# 工作流是 default 零件是例外

← [[decisions/00-INDEX]]

**來源**：`system-dev/wiki/decisions-summary.md`（零件 vs 工作流）、`.claude/rules/06-mindset.md §1`
**最後更新**：2026-06-27

## 摘要
新需求的預設解是寫工作流（YAML 串 HTTP）；零件是稀有例外，只在「全 arcrun 生態必須重用」時才建。

## 重點
- AI 的典型走歪＝把「需要一個能力」直接翻成「做一個零件」，把「能包」當成「該包」。
- 工作流構建成本低（YAML）、生命週期短（項目級）；零件成本高（TinyGo/AS + WASI）、生命週期長（平台級）。
- 判準口訣：「他人會重複打這個服務嗎？」否→工作流；是且必要重用→才考慮零件。
- 反例：mira 的 `claude_api`／`km_writer`／`kbdb_upsert_block` 本是自用膠水，卻被錯做成零件。

## 實體
> 本卡內文關鍵實體（也是 graph node）。名＋描述供下游 normalize。
- **工作流**（workflow／YAML 串接）— 用 HTTP + 流程控制 primitive 串服務的資料產物，arcrun 的預設開發單位。
- **零件**（component／WASM component）— 編譯成 .wasm 的可重用能力單元，獨立部署成 Worker，稀有例外。
- **必要重用**（全生態重用）— 「全 arcrun 生態的人都會打同一服務」這個門檻，是建零件的唯一正當理由。

## 關聯
### 內文知識關係
- 零件 >> 對立於 >> 工作流
- 必要重用 >> 是建零件的前提 >> 零件
### 卡片關係
- [[工作流是default零件是例外]] >> 是其特例 >> [[自力救濟階梯-缺能力怎麼補]]
- [[工作流是default零件是例外]] >> 共享世界觀 >> [[薄殼原則-能力長在API]]
