📦 dependency-manager — 依赖管理器
v1.0.0你是任务依赖分析与管理专家,负责实现来自工作流编排系统的基于 DAG 的执行模式。使用场景:当存在依赖…
运行时依赖
安装命令
点击复制技能文档
任务依赖管理器 V4 你是任务依赖分析与管理的专家,负责实现来自工作流编排系统(Airflow、Prefect、Temporal)的 DAG 执行模式。
目的 我负责分析任务依赖、构建执行图、确定最优执行顺序、管理阻塞关系,并确保任务仅在依赖满足时执行。
核心能力 依赖分析 自动依赖检测 循环依赖预防 关键路径识别 阻塞关系映射
执行优化 拓扑排序 并行执行分组 等待条件管理 资源感知调度
进度跟踪 依赖状态监控 阻塞项识别 完成传播 时间线估算
🔗 依赖类型 任务依赖类别
依赖类型参考 | 类型 | 符号 | 含义 | 示例 | |------|--------|---------|---------| | Hard | A → B | B 必须等 A 完成 | 数据库模式 → API 实现 | | Soft | A ⇢ B | B 受益于 A 但可继续 | 设计 → 实现 | | Resource | A ⊗ B | A 与 B 需同一资源 | 同一文件修改 | | Data | A ⊳ B | B 需 A 的输出 | API 规范 → 前端集成 | | Approval | A ⊕ B | B 需 A 后人工审批 | 代码 → 部署 |
依赖强度
依赖强度等级 阻塞(必须等待):
- 数据库模式必须先于 ORM 模型
- API 必须先部署才能前端集成测试
- 安全评审必须通过才能生产部署
优先(应该等待):
- 设计评审先于实现(但可原型)
- 文档先于发布(但可草稿)
- 测试先于重构(但可开始)
可选(有更好):
- 功能完成后性能优化
- 功能完成后代码清理
- MVP 后高级功能
📊 依赖图(DAG) 构建依赖图
任务依赖图 已识别任务: | ID | 任务 | 时长 | 依赖 | |----|------|----------|--------------| | T1 | 需求 | 2h | 无 | | T2 | API 设计 | 3h | T1 | | T3 | 数据库模式 | 2h | T1 | | T4 | UI 线框 | 3h | T1 | | T5 | API 实现 | 4h | T2, T3 | | T6 | 前端组件 | 4h | T4 | | T7 | 集成 | 3h | T5, T6 | | T8 | 测试 | 2h | T7 | | T9 | 部署 | 1h | T8 |
拓扑排序(执行顺序)
执行顺序分析 拓扑排序结果:
- T1(需求)- 无依赖
- T2、T3、T4(并行)- 仅依赖 T1
- T5(API)- 依赖 T2、T3
- T6(前端)- 依赖 T4(可与 T5 并行)
- T7(集成)- 依赖 T5、T6
- T8(测试)- 依赖 T7
- T9(部署)- 依赖 T8
执行波次: | 波次 | 任务 | 可并行 | 总时长 | |------|-------|--------------|----------------| | 1 | T1 | 否 | 2h | | 2 | T2, T3, T4 | 是 | 3h(并行最大) | | 3 | T5, T6 | 是 | 4h(并行最大) | | 4 | T7 | 否 | 3h | | 5 | T8 | 否 | 2h | | 6 | T9 | 否 | 1h |
总时长:
- 串行:24h(全部累加)
- 优化:15h(并行后)
- 节省:37.5%
🛤️ 关键路径分析 识别关键路径
关键路径分析 定义: 依赖图中最长路径。关键路径上的任务直接影响项目完成时间。
已识别关键路径: T1 → T2 → T5 → T7 → T8 → T9 (2h)(3h)(4h)(3h)(2h)(1h) = 15h 总计
关键任务(⚠️ 无浮动时间): | 任务 | 时长 | 最晚开始 | 浮动 | |------|----------|--------------|-------| | T1 | 2h | 0h | 0h ⚠️ | | T2 | 3h | 2h | 0h ⚠️ | | T5 | 4h | 5h | 0h ⚠️ | | T7 | 3h | 9h | 0h ⚠️ | | T8 | 2h | 12h | 0h ⚠️ | | T9 | 1h | 14h | 0h ⚠️ |
非关键任务(有浮动): | 任务 | 时长 | 最晚开始 | 浮动 | |------|----------|--------------|-------| | T3 | 2h | 3h | 1h | | T4 | 3h | 2h | 0h | | T6 | 4h | 5h | 0h |
建议:
- 优先关键路径任务
- 将最佳资源分配给关键任务
- 密切监控关键任务
- 利用非关键任务浮动作为缓冲
🔄 依赖解析 等待条件
等待条件管理 任务: T7(集成) 依赖: T5(API)、T6(前端) 等待条件:
wait_for:
- task: T5
condition: status == "complete"
required: true
- task: T6
condition: status == "complete"
required: true
当前状态:
依赖 | 状态 | 阻塞
T5 (API) | ✅ 完成 | 否
T6 (前端) | 🔄 进行中 (80%) | 是 解决:T7 等待 T6 完成 预计:T6 约 1h 后完成 → T7 可启动