토큰 비용 예측
PRECC는 토큰 비용 예측 오라클을 제공하므로 여러 단계로 구성된 계획을 실제 시간이 아닌 토큰으로 예산할 수 있습니다. 각 단계 전에 예측을 기록하고 작업이 끝난 뒤 실제 값을 기록하면, 데이터셋이 내장 예측기를 학습시키며 시간이 지남에 따라 정확도가 향상됩니다.
예측 기록하기
계획된 단계의 한 줄 설명을 전달하세요. PRECC는 이를 분류하고(feat / fix / test / refactor / measurement / doc / chore / unknown), 토큰 수를 추정하며, 루프를 닫을 때 사용할 id를 출력합니다.
$ precc predict "Implement read-deltas with mtime check"
id=42 category=feat predicted=5680 tokens (confidence=0.50, model=trained-v1)
Record actual when done: precc predict --record 42 <actual_tokens>
실제 값 기록하기
단계가 완료되면 세션 푸터나 텔레메트리에서 실제 토큰 수를 확인하여 id를 통해 다시 전달하세요.
$ precc predict --record 42 6300
Recorded actual=6300 tokens for prediction id=42.
trained-v1 학습하기
닫힌 예측이 최소 열 개 이상 있으면, log10(actual)을 log10(설명 길이)와 원-핫 범주 더미에 대해 trained-v1 릿지 회귀로 적합시킵니다. 적합은 닫힌 형태(ridge λ=1 정규방정식에 대한 Cholesky 분해)이며 밀리초 단위로 실행됩니다.
$ precc predict --train
Trained trained-v1 on 22 closed predictions (λ=1).
Model file : ~/.local/share/precc/predict_model.json
Confidence : 0.50
Intercept : +1.0016
log_desc : +1.2339
Categories :
unknown +0.4811
doc +0.4474
measurement +0.3422
test +0.1071
refactor +0.0326
feat +0.0071
fix -0.1096
chore -0.3063
학습 후에는 모델 파일을 제거하거나 교체할 때까지 모든 새로운 precc predict 호출이 자동으로 trained-v1을 사용합니다. 이전 예측은 원래의 model_version을 유지하므로 시간에 따른 예측기를 비교할 수 있습니다.
예측기 정확도 확인
precc predict --eval은 전체 및 카테고리별 평균 절대 백분율 오차(MAPE)를 보고하며, 닫힌 예측(예측값과 실제값이 모두 있는 행)에 대해서만 계산됩니다.
$ precc predict --eval
Predictions logged : 30
With actuals (closed): 22
Mean predicted : 1483 tokens
Mean actual : 47238 tokens
MAPE (statistical) : 76.4%
By category:
category n predicted actual MAPE
feat 6 4605 5250 26.2%
unknown 4 1597 30526 52.6%
test 4 924 38900 56.4%
...
최근 예측 목록 보기
precc predict --list는 최근 행을 역시간 순서로 표시합니다. 열린 행(실제 값 없음)은 닫힐 준비가 된 상태입니다.
$ precc predict --list --limit 5
id ts category predicted actual conf description
30 2026-05-09 09:40:51 feat 5348 - 0.50 Run the synthetic-fleet pilot...
29 2026-05-09 08:56:48 test 1050 - 0.60 Train predictor: trained-v1...
28 2026-05-09 07:44:18 test 915 150000 0.60 Implement minimal task-12...
왜 실제 시간이 아니라 토큰인가
시간 추정은 사후에 측정할 수 없으며 머신이나 세션 간에 합성되지 않습니다. 토큰 수는 결정적이고 비교 가능하며, 닫힌 루프마다 레이블이 지정된 데이터셋을 확장해 예측기를 개선합니다. 오라클의 핵심은 추정을 추측 게임에서 측정으로 바꾸는 것입니다.
데이터가 저장되는 위치
모든 예측 데이터는 사용자의 컴퓨터에 로컬로 저장됩니다. 어떤 것도 업로드되지 않습니다.
~/.local/share/precc/
├── metrics.db — predictions table (oracle DB)
└── predict_model.json — trained-v1 coefficients (after `--train`)