效率度量指标
度量框架
AI Coding 效率度量分 4 个维度:
效率
├── 速度(多快)
├── 质量(多好)
├── 成本(多省)
└── 体验(多爽)1. 速度指标
任务完成时间
markdown
## 关键指标
### 平均任务完成时间
- 任务类型 A:X 小时(使用 AI 前) → Y 小时(使用 AI 后)
- 任务类型 B:X 小时 → Y 小时
### 度量方法
- 记录每个任务从开始到合并的时间
- 区分 AI 辅助程度度量工具
typescript
// 简单的工时记录
interface TaskMetric {
taskId: string
startTime: Date
endTime: Date
aiAssisted: boolean
tools: string[]
mode: 'vibe' | 'plan' | 'spec'
}
const task: TaskMetric = {
taskId: 'task-123',
startTime: new Date('2025-02-01T09:00:00Z'),
endTime: new Date('2025-02-01T11:30:00Z'), // 2.5 小时
aiAssisted: true,
tools: ['Cursor', 'Claude Code'],
mode: 'plan',
}
// 计算时长
const duration = (task.endTime - task.startTime) / 1000 / 60 / 60 // 2.5hPR 周期时间
markdown
## PR Cycle Time
### 定义
从创建 PR 到合并的时间
### 健康指标
- 小型 PR(< 200 行):< 4 小时
- 中型 PR(200-500 行):< 1 天
- 大型 PR(> 500 行):< 3 天2. 质量指标
代码一次通过率
以下阈值为经验估算,实际应根据项目类型、模型能力、上下文质量调整。
markdown
## AI 生成代码的"一次通过率"
### 定义
AI 生成的代码无需修改就能通过所有 CI 检查的比例
### 健康指标
- 优秀:> 70%
- 良好:50-70%
- 一般:30-50%
- 差:< 30%
### 度量方法
- 记录每个 PR 的"修改次数"
- 修改次数少 = 一次通过率高Bug 率
markdown
## 生产 Bug 率
### 定义
AI 生成的代码在生产环境出现的 Bug 数量
### 度量方法
- 标记哪些代码是 AI 生成的
- 跟踪每个文件的 Bug 修复次数
- 对比 AI 生成 vs 手写代码的 Bug 率测试覆盖率
markdown
## 测试覆盖率
### 目标
- 工具函数:> 90%
- 业务组件:> 80%
- 整体:> 75%
### 度量
pnpm test:coverage
### 趋势
跟踪覆盖率变化Lint / TypeCheck 通过率
markdown
## 静态检查通过率
### 目标
- Lint:通过率 > 95%
- TypeCheck:通过率 100%
### 趋势
- 上升:AI Coding 越用越好
- 下降:可能规范过时或 AI 不遵守3. 成本指标
Token 消耗
markdown
## Token 消耗
### 度量内容
- 每日 Token 消耗(每人/每团队)
- 每任务平均消耗
- 模型分布(哪些模型用了多少)
### 健康指标
- 单人日均:< 1M tokens
- 单任务平均:< 50K tokens
- 月度预算:不超过设定阈值工具成本
markdown
## 工具成本
### 度量内容
- 工具订阅费
- API 调用费
- 培训成本
### 度量
- 月度总成本
- 人均成本
- 占开发预算比例(目标 < 5%)ROI 计算
typescript
// ROI 计算示例
const metrics = {
// 收益
timeSavedHours: 100, // 每月节省时间
hourlyRate: 200, // 人均小时成本
bugReductionPercent: 30, // Bug 减少百分比
bugCostSaved: 5000, // Bug 减少节省的成本
// 成本
aiToolsCost: 2000, // AI 工具月成本
trainingCost: 500, // 培训月摊销
reworkCost: 1000, // 返工月成本
// 计算
}
const totalBenefit = timeSavedHours * hourlyRate + bugCostSaved
const totalCost = aiToolsCost + trainingCost + reworkCost
const roi = ((totalBenefit - totalCost) / totalCost) * 100
console.log(`ROI: ${roi}%`)
// ROI: 320%4. 体验指标
团队满意度
markdown
## 团队满意度
### 度量方法
- 季度问卷
- 1-on-1 反馈
- 周会讨论
### 调查问题
- AI Coding 工具使用体验(1-10)
- 是否提升了工作效率
- 是否增加了工作负担
- 是否愿意继续使用
- 推荐给他人的意愿(NPS)工具使用率
markdown
## 工具使用率
### 度量
- 多少人配置了 AI 工具
- 多少人每天使用
- 多少人深度使用(每天 > 10 次)
### 健康指标
- 配置率:> 95%
- 日活率:> 70%
- 深度使用:> 30%知识沉淀指标
markdown
## 知识沉淀
### 度量
- 团队 Wiki 条目数
- Prompt 模板数量
- 分享会次数
- 案例库条目数5. 度量看板
个人看板
markdown
## 个人 AI Coding 周报
### 速度
- 完成 PR 数:X
- 平均 PR 大小:Y 行
- 平均 PR 周期:Z 小时
### 质量
- CI 通过率:X%
- 一次通过率:Y%
- 代码覆盖率:Z%
### 成本
- Token 消耗:X K
- 估算成本:$Y
### 改进点
- ...团队看板
markdown
## 团队 AI Coding 月报
### 整体效率
- 任务完成数:+X%(vs 上月)
- PR 周期时间:-Y%(缩短)
- Bug 率:-Z%(下降)
### 质量
- 测试覆盖率:X%
- Lint 通过率:Y%
- 生产事故:Z 起
### 成本
- 总成本:¥X
- 人均:¥Y
- ROI:Z%
### 团队满意度
- NPS:X
- 推荐率:Y%6. 度量工具
现成工具
markdown
## 推荐工具
### 工程效能
- Linear(项目管理)
- GitHub Insights(PR 数据)
- GitLab Value Stream Analytics
### AI 使用
- Cursor Usage Dashboard
- Claude Code /usage
- OpenAI Usage Dashboard
### 自建
- 简单的 SQL 查询 + 仪表盘
- Grafana + 自定义数据源自建简单度量
typescript
// 简单的 PR 数据采集
import { Octokit } from '@octokit/rest'
const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN })
async function getPRMetrics(repo: string) {
const prs = await octokit.pulls.list({
owner: 'your-org',
repo,
state: 'closed',
per_page: 100,
})
return prs.data.map(pr => ({
number: pr.number,
title: pr.title,
additions: pr.additions,
deletions: pr.deletions,
changedFiles: pr.changed_files,
createdAt: pr.created_at,
mergedAt: pr.merged_at,
cycleTimeHours: pr.merged_at
? (new Date(pr.merged_at) - new Date(pr.created_at)) / 1000 / 60 / 60
: null,
aiGenerated: pr.title.includes('feat') && pr.body?.includes('AI'), // 简化示例
}))
}7. 度量误区
误区 1:只看速度
速度快但 Bug 多 = 不好
速度稍慢但质量好 = 好误区 2:用绝对值评估
"Cursor 让我们快 50%"
"使用 Cursor 后,本类型任务平均时间从 4h 降到 2.5h"误区 3:短期数据下结论
"用了 1 周,感觉没用"
"用了 1 个月,对比数据,提升 25%"误区 4:忽视个体差异
"团队平均效率提升 30%"
"资深开发者 +50%,新手 +10%"
(不同人群效果不同)8. 度量后的行动
数据驱动改进
markdown
## 数据 → 行动
### 如果一次通过率低
→ 完善 agents.md
→ 培训团队 Prompt 技巧
→ 引入 Prompt 模板
### 如果 Bug 率高
→ 加强 Code Review
→ 强制测试覆盖
→ 引入 AI 自审
### 如果成本超预算
→ 模型分层
→ 上下文优化
→ 考虑本地模型
### 如果满意度低
→ 调研痛点
→ 工具切换 / 培训
→ 简化流程总结
度量是改进的前提。
- 多维度(速度、质量、成本、体验)
- 持续度量
- 数据驱动决策
- 不要"凭感觉"
下一节:常见反模式