Měření produktivity AI nástrojů vyžaduje správné metriky. Pojďme se podívat na nejdůležitější.
Primární metriky
1. Time Savings
# Měření úspory času
class TimeSavingsTracker:
def __init__(self):
self.tasks = []
def record_task(
self,
task_type: str,
ai_time_minutes: float,
estimated_manual_time: float
):
self.tasks.append({
"type": task_type,
"ai_time": ai_time_minutes,
"manual_time": estimated_manual_time,
"savings": estimated_manual_time - ai_time_minutes,
"savings_percent": (estimated_manual_time - ai_time_minutes) / estimated_manual_time * 100
})
def summary(self) -> dict:
total_ai = sum(t["ai_time"] for t in self.tasks)
total_manual = sum(t["manual_time"] for t in self.tasks)
return {
"total_tasks": len(self.tasks),
"total_ai_time_hours": total_ai / 60,
"total_manual_time_hours": total_manual / 60,
"total_savings_hours": (total_manual - total_ai) / 60,
"average_savings_percent": sum(t["savings_percent"] for t in self.tasks) / len(self.tasks)
}
# Příklad
tracker = TimeSavingsTracker()
tracker.record_task("code_review", ai_time_minutes=5, estimated_manual_time=30)
tracker.record_task("documentation", ai_time_minutes=15, estimated_manual_time=60)
tracker.record_task("debugging", ai_time_minutes=10, estimated_manual_time=45)
2. Output Quality
# Měření kvality výstupu
class QualityTracker:
def __init__(self):
self.outputs = []
def record_output(
self,
task_type: str,
quality_score: float, # 0-1
required_edits: int,
bugs_found_later: int
):
self.outputs.append({
"type": task_type,
"quality": quality_score,
"edits": required_edits,
"bugs": bugs_found_later
})
def summary(self) -> dict:
return {
"average_quality": sum(o["quality"] for o in self.outputs) / len(self.outputs),
"average_edits": sum(o["edits"] for o in self.outputs) / len(self.outputs),
"total_bugs": sum(o["bugs"] for o in self.outputs),
"first_time_success_rate": len([o for o in self.outputs if o["edits"] == 0]) / len(self.outputs)
}
3. Throughput
# Měření propustnosti
class ThroughputTracker:
def __init__(self):
self.daily_counts = {}
def record_day(
self,
date: str,
tasks_with_ai: int,
tasks_without_ai: int # Baseline
):
self.daily_counts[date] = {
"with_ai": tasks_with_ai,
"without_ai": tasks_without_ai,
"multiplier": tasks_with_ai / max(tasks_without_ai, 1)
}
def productivity_multiplier(self) -> float:
if not self.daily_counts:
return 1.0
return sum(d["multiplier"] for d in self.daily_counts.values()) / len(self.daily_counts)
Sekundární metriky
Developer Satisfaction
# NPS-style survey
def ai_satisfaction_survey() -> dict:
return {
"question": "How helpful was AI in completing your tasks today?",
"scale": "1-10",
"frequency": "weekly",
"segments": ["coding", "documentation", "debugging", "research"]
}
Learning Curve
# Jak rychle se zlepšuje využití
class LearningCurveTracker:
def __init__(self):
self.weekly_data = []
def record_week(
self,
week_number: int,
success_rate: float,
avg_attempts_per_task: float
):
self.weekly_data.append({
"week": week_number,
"success_rate": success_rate,
"attempts": avg_attempts_per_task
})
def improvement_rate(self) -> float:
if len(self.weekly_data) < 2:
return 0
first = self.weekly_data[0]["success_rate"]
last = self.weekly_data[-1]["success_rate"]
return (last - first) / first * 100
Benchmark Categories
Code-related tasks
| Task | Metric | Target |
|---|---|---|
| Code review | Time per PR | < 10 min |
| Bug fix | Time to resolution | -50% |
| New feature | Lines per hour | +100% |
| Refactoring | Bugs introduced | < baseline |
| Documentation | Pages per day | +200% |
Content tasks
| Task | Metric | Target |
|---|---|---|
| Blog post | Draft time | < 30 min |
| Response time | -60% | |
| Reports | Creation time | -70% |
| Translation | Words per hour | +300% |
Dashboard Template
def generate_ai_dashboard(tracker_data: dict) -> dict:
return {
"summary": {
"total_hours_saved": tracker_data["time_savings"]["total"],
"money_saved": tracker_data["time_savings"]["total"] * hourly_rate,
"productivity_multiplier": tracker_data["throughput"]["multiplier"],
"quality_score": tracker_data["quality"]["average"]
},
"trends": {
"time_savings_trend": "increasing", # Calculate from data
"adoption_rate": tracker_data["users"]["active"] / tracker_data["users"]["total"]
},
"breakdown_by_task": [
{"task": "code_review", "savings": "4h/week"},
{"task": "documentation", "savings": "3h/week"},
{"task": "debugging", "savings": "2h/week"}
],
"roi": {
"monthly_cost": tracker_data["costs"]["total"],
"monthly_savings": tracker_data["time_savings"]["total"] * hourly_rate,
"roi_ratio": savings / cost
}
}
Správné metriky jsou základ pro měření skutečné hodnoty AI.