정밀 시간 추정
Claude Code 가 AI Fix 실행 전후로 경과 시간을 자동 기록해, 다음 작업의 시간 예측 정확도를 높입니다.
AI Fix 가 한 번 돌 때마다 PLAN 단계에서 추정한 소요 시간(suggestedMinutes)과 실측 소요 시간(actualMinutes)이 자동 기록됩니다. 두 값을 누적해 나가면 "이 종류의 이슈는 평균 N 분 걸린다"는 통계가 만들어지고, 다음 추정의 신뢰도를 끌어올립니다.
왜 시간 추정이 필요한가
"AI Fix 가 얼마 걸릴지" 는 의사결정의 입력값입니다. 5분짜리는 즉시 돌리고, 30분짜리는 회의 중 백그라운드로 미리 돌리고, 30분을 넘길 것 같으면 사람이 분할 PR 로 처리하는 편이 빠릅니다. 추정이 정확해야 이런 분기를 자동화할 수 있습니다.
추정의 기반은 과거 실측 시간 입니다. 같은 프로젝트 · 비슷한 컨텍스트의 과거 이슈에서 평균 몇 분이 걸렸는지를 보고 다음 추정을 조정합니다. 명시적인 학습 루프는 아니지만, Claude Code 가 PLAN 단계에서 같은 프로젝트의 과거 actualMinutes 값을 참고할 수 있게 노출합니다.
자동 기록되는 필드
이슈의 ai_fix 메타데이터에 다음 4 필드가 채워집니다.
| 필드 | 타입 | 단위 | 기록 시점 |
|---|---|---|---|
suggestedMinutes | number | null | 분 | PLAN 단계 완료 시 |
actualMinutes | number | null | 분 | IMPLEMENT 단계 완료 시 (PR 생성 또는 타임아웃) |
startedAt | ISO 8601 | UTC | AI Fix 시작 클릭 |
finishedAt | ISO 8601 | UTC | PR 생성 또는 30분 타임아웃 도달 |
DB 상으로는 issues.metadata JSONB 컬럼의 ai_fix.durations 객체에 저장됩니다. 한 이슈에서 AI Fix 를 여러 번 실행하면 가장 최근 실행값으로 갱신되고, 과거 실행은 ai_fix.history 배열에 보관됩니다.
정확도 피드백 루프
수집된 값은 다음 두 경로로 활용됩니다.
- PLAN 단계 컨텍스트 주입 — Claude Code 가 PLAN 을 만들 때 같은 프로젝트의 최근 이슈 N 건의
suggestedMinutes/actualMinutes평균을 컨텍스트에 포함합니다. "이 프로젝트는 추정 대비 평균 1.4 배 걸리는 경향" 같은 보정이 자연스럽게 반영됩니다. - 대시보드 표시 — 이슈 상세의 "AI Fix 실행 로그" 섹션에 두 값과 오차율(
actualMinutes / suggestedMinutes)이 표시됩니다.
명시적인 학습 모델은 없습니다. Claude Code 의 in-context reasoning 만으로 보정이 일어납니다. 그래서 데이터가 적은 초기에는 추정 오차가 큽니다(±100% 이상). 같은 프로젝트에서 5~10 건 누적된 후부터 안정화됩니다.
표시 위치
이슈 상세 페이지의 "AI Fix 실행 로그" 섹션에서 두 값을 모두 확인할 수 있습니다. 표시 형식 예:
AI Fix 실행 로그
─────────────────
시작: 2026-04-20 14:32:01 UTC
PLAN 완료: 14:33:18 (추정 18분)
IMPLEMENT 완료: 14:53:42 (실측 21분 41초)
오차: +20% (추정 대비 더 걸림)
MCP 에서 조회
get_issue MCP 도구의 응답에 시간 정보가 포함됩니다.
{
"id": "iss_abc",
"ai_fix": {
"durations": {
"suggestedMinutes": 18,
"actualMinutes": 21,
"startedAt": "2026-04-20T14:32:01.000Z",
"finishedAt": "2026-04-20T14:53:42.000Z"
},
"history": [
{ "suggestedMinutes": 25, "actualMinutes": 30, "startedAt": "..." }
]
}
}
history 배열을 그대로 LLM 에 던지면 "이 이슈는 처음에 25분 추정 → 30분 실측, 두 번째 실행에서는 18분 추정 → 21분 실측" 같은 자연어 요약이 가능합니다.
한계와 주의
- 타임아웃 케이스: 30분 타임아웃에 걸리면
actualMinutes = 30으로 기록되지만 실제로는 미완료입니다. 오차율 계산 시 이 케이스는 제외하는 편이 안전합니다. - 사람 시간은 추적 안 함: 머지·리뷰까지 걸린 사람 시간은 추적하지 않습니다. AI Fix 가 PR 을 만든 시점에서 측정 종료입니다.
- 실측 단위: 분 단위 정수입니다. 30 초짜리 작업도 1 분으로 올림 처리됩니다.