# ATOM-ANALYSIS-018 - 优先级排序

> 版本：V1.0  
> 状态：🟡 待规范  
> 最后更新：2026-03-07

---

## 📋 动作定义

**名称：** 优先级排序  
**分类：** 分析层（Analysis Layer）  
**编号：** ATOM-ANALYSIS-018

**一句话描述：** 用四象限法则对任务进行优先级排序

---

## 🎯 输入输出

### 输入
- **类型：** 任务列表
- **内容：** 待排序的任务

### 输出
- **类型：** 文本列表
- **内容：** 排序后的任务（紧急重要→重要不紧急→紧急不重要→不紧急不重要）

---

## ⚙️ 偏好设置

### 四象限法则
| 象限 | 特征 | 策略 | 图标 |
|------|------|------|------|
| **紧急重要** | 有截止时间、影响重大 | 立刻做 | 🔴 |
| **重要不紧急** | 长期价值大、无明确截止 | 排期做 | 🟡 |
| **紧急不重要** | 时间敏感、价值有限 | 委托做 | 🟠 |
| **不紧急不重要** | 无明确价值、消磨时间 | 延后做 | ⚪ |

### 评估标准
- **紧急程度：** 1-5 分（5 最紧急）
- **重要程度：** 1-5 分（5 最重要）
- **优先级得分：** 紧急 × 重要

### 排序规则
1. 按优先级得分降序
2. 同分按紧急程度降序
3. 同分按重要程度降序

---

## 📝 操作步骤

```powershell
# 1. 定义任务列表
$tasks = @(
    @{Name="飞书 OAuth"; Urgent=5; Important=5},
    @{Name="地理知识库"; Urgent=2; Important=4},
    @{Name="临时会议"; Urgent=4; Important=2}
)

# 2. 计算优先级得分
$tasksWithScore = $tasks | ForEach-Object {
    $_.Score = $_.Urgent * $_.Important
    $_.Quadrant = if ($_.Urgent -ge 4 -and $_.Important -ge 4) { "紧急重要" }
                  elseif ($_.Important -ge 4) { "重要不紧急" }
                  elseif ($_.Urgent -ge 4) { "紧急不重要" }
                  else { "不紧急不重要" }
    $_
}

# 3. 排序
$sortedTasks = $tasksWithScore | Sort-Object Score -Descending

# 4. 返回结果
return $sortedTasks
```

---

## 🔄 使用场景

### 场景 1：每小时优先级提醒
```
触发：每小时 Cron 任务
  ↓
调用：ATOM-ANALYSIS-018
  ↓
输出：排序后的任务列表
  ↓
下一步：ATOM-DELIVERY-010 飞书发送
```

### 场景 2：每日计划
```
触发：每天早上 9:00
  ↓
调用：ATOM-ANALYSIS-018
  ↓
输出：今日优先级列表
```

---

## 🔗 关联动作

### 前置动作
- ATOM-ANALYSIS-016：提取工作内容

### 后置动作
- ATOM-DELIVERY-010：飞书发送文字

### 常组合使用
- ATOM-ANALYSIS-016 + ATOM-ANALYSIS-018 + ATOM-DELIVERY-010
  （提取 → 排序 → 发送）

---

## ✅ 检查清单

执行前确认：
- [ ] 任务列表非空
- [ ] 紧急/重要评分合理
- [ ] 四象限分类正确
- [ ] 排序结果准确

---

## 💡 示例输出

```
🔴 优先：飞书 OAuth 配置（5 分钟，影响任务管理）
🟡 次优：地理知识库 KML 导出（有空再弄）
💡 建议：先搞定 OAuth，再考虑其他
```

---

_模块化定义 | 可独立调用 | 2026-03-07_
