债务审计
目的: 全面的技术债务库存,基于投资回报率优先排序
模式: 并行领域审计 → 统一待办清单,附带老化分析
编排
您是协调技术债务审计的技术负责人。您的任务:
-
生成并行审计员(5个代理):
重构策略师: 代码质量债务(重复、复杂性、代码异味)性能分析师: 性能债务(瓶颈、低效率)安全审计员: 安全债务(漏洞、过时依赖)测试策略师: 测试债务(覆盖缺口、不稳定的测试)文档策略师: 文档债务(缺失/过时的文档)
-
每个审计员生成:
## [领域] 债务项目 ### [项目标题] - **影响**: 高/中/低(业务/用户/开发影响) - **努力**: S/M/L/XL(小/中/大/特大) - **年龄**: X个月(git日志分析) - **位置**: 文件:行参考 - **描述**: 问题是什么及其重要性 - **修复**: 具体的修复步骤 -
计算每个项目的ROI分数:
ROI = (影响分数) / (努力分数) 影响: 高=3, 中=2, 低=1 努力: S=1, M=2, L=3, XL=4 优先级层级: - 关键: ROI ≥ 2.0(高影响,低努力) - 高: ROI 1.0-2.0 - 中: ROI 0.5-1.0 - 低: ROI < 0.5 -
年龄乘数(越老的债务获得优先级提升):
年龄 < 3个月: 1.0x 年龄 3-6个月: 1.1x 年龄 6-12个月: 1.25x 年龄 > 12个月: 1.5x -
综合最终路线图:
- 按优先级层级分组
- 在层级内,按调整后的ROI排序(基础ROI × 年龄乘数)
- 包含快速获胜部分(高影响,S努力)
- 标记关键阻塞项(阻碍功能的安全/性能问题)
工作流
# 1. 生成团队
spawnTeam("debt-audit", "tech-lead")
# 2. 创建审计任务(并行)
for domain in [code, perf, security, test, docs]
createTask(
domain + "-audit",
"使用影响/努力/年龄对所有" + domain + "债务进行盘点",
agent=domain + "-specialist"
)
# 3. 等待所有审计 → 聚合结果
# 4. 计算ROI分数 → 优先排序
# 5. 生成最终待办清单报告
输出格式
# 技术债务待办清单
**生成**: YYYY-MM-DD
**总项目数**: N
**关键项目**: X(ROI ≥ 2.0)
---
## 执行摘要
- **快速获胜**: X个项目(高影响,小努力) - 建议先处理
- **关键阻塞项**: Y个项目阻碍功能/安全
- **最老债务**: 项目Z(NN个月老)
---
## 优先级: 关键(ROI ≥ 2.0)
### [项目标题] (ROI: 3.0, 年龄: 8个月)
- **领域**: 代码质量
- **影响**: 高 - 导致40%的客户错误
- **努力**: S(2天)
- **位置**: `src/core/parser.ts:145-200`
- **修复**: 将嵌套条件重构为策略模式
- **依赖**: 无
[... 更多关键项目 ...]
---
## 优先级: 高(ROI 1.0-2.0)
[... 高优先级项目 ...]
---
## 优先级: 中(ROI 0.5-1.0)
[... 中优先级项目 ...]
---
## 优先级: 低(ROI < 0.5)
[... 低优先级项目,考虑推迟 ...]
---
## 债务分布
- **代码质量**: X个项目(Y% 总)
- **性能**: X个项目
- **安全**: X个项目
- **测试覆盖**: X个项目
- **文档**: X个项目
---
## 推荐行动计划
1. **冲刺1**: 所有关键项目(估计: N天)
2. **冲刺2**: 高优先级快速获胜
3. **持续**: 分配20%容量到中级优先级
4. **重新审计**: 在3个月内安排下一次审计
代理指令
对于领域审计员
当分配审计任务时:
-
扫描代码库用于您的领域:
- 使用
rg、fd、静态分析工具 - 检查模式/反模式
- 查看与您领域相关的近期错误报告
- 使用
-
评估每个项目的年龄:
# 查找问题代码的引入时间 git log -p --all -S "pattern" -- path/to/file # 或对特定行进行责备 git blame -L start,end path/to/file -
诚实地评分:
- 影响: 修复这个会显著改善用户/开发体验吗?
- 努力: 现实估计(S=1-2天, M=3-5天, L=1-2周, XL=>2周)
-
提供上下文:
- 为什么这是债务?(赶工截止日期、需求演变、知识缺乏)
- 如果不修复的风险是什么?(积累利息、阻碍功能)
-
通过消息向技术负责人报告发现
对于技术负责人
- 协调审计: 生成代理、分配任务、监控进度
- 聚合结果: 收集所有领域报告
- 计算分数: 应用ROI公式 + 年龄乘数
- 解决冲突: 如果项目重叠领域,合并/去重
- 生成报告: 最终待办清单与可行动建议
- 呈现给用户: 清晰的执行摘要 + 详细细分
成功标准
- [ ] 所有5个领域都彻底审计
- [ ] 每个债务项目都有影响/努力/年龄/位置
- [ ] ROI分数一致计算
- [ ] 待办清单按调整后优先级排序
- [ ] 识别快速获胜(≥3个项目推荐立即行动)
- [ ] 报告可行动(清晰的下一步)
备注
- 债务不是失败 - 它是一种权衡。目标是可见性和优先排序。
- 年龄重要 - 老的债务有更多上下文丢失,以后更难修复
- ROI是一个指南 - 对战略项目使用判断(例如,安全总是关键)
- 定期重新审计 - 债务增长;季度审计防止积累