Dự đoán chi phí token
PRECC tích hợp một oracle dự đoán chi phí token để các kế hoạch nhiều bước có thể lập ngân sách bằng token thay vì thời gian thực. Ghi lại một dự đoán trước mỗi bước, ghi nhận giá trị thực sau khi hoàn thành, và tập dữ liệu sẽ huấn luyện một bộ dự đoán tích hợp ngày càng chính xác hơn theo thời gian.
Ghi lại một dự đoán
Truyền một mô tả một dòng của bước đã lên kế hoạch. PRECC phân loại nó (feat / fix / test / refactor / measurement / doc / chore / unknown), ước tính số token và in ra một id mà bạn sẽ dùng để khép vòng.
$ 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>
Ghi nhận giá trị thực
Sau khi bước hoàn tất, tra cứu số token thực tế từ chân trang phiên hoặc telemetry và truyền lại qua id.
$ precc predict --record 42 6300
Recorded actual=6300 tokens for prediction id=42.
Huấn luyện trained-v1
Khi bạn có ít nhất mười dự đoán đã đóng, hãy khớp hồi quy ridge trained-v1 trên log10(actual) so với log10(độ dài mô tả) cộng với một biến giả phân loại one-hot. Phép khớp ở dạng đóng (Cholesky trên phương trình chuẩn với ridge λ=1) và chạy trong vài mili giây.
$ 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
Sau khi huấn luyện, mỗi lệnh precc predict mới sẽ tự động dùng trained-v1 cho đến khi bạn xóa hoặc thay thế tệp mô hình. Các dự đoán cũ giữ nguyên model_version ban đầu để bạn có thể so sánh các bộ dự đoán theo thời gian.
Kiểm tra độ chính xác của bộ dự đoán
precc predict --eval báo cáo sai số phần trăm tuyệt đối trung bình (MAPE) tổng thể và theo từng loại, chỉ tính trên các dự đoán đã đóng (các hàng có cả giá trị dự đoán và giá trị thực).
$ 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%
...
Liệt kê các dự đoán gần đây
precc predict --list hiển thị các hàng gần đây theo thứ tự thời gian đảo ngược. Các hàng đang mở (chưa có giá trị thực) sẵn sàng để đóng.
$ 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...
Tại sao là token, không phải thời gian thực
Ước lượng thời gian không thể đo được sau sự việc và không thể cộng dồn giữa các máy hoặc các phiên. Số lượng token mang tính xác định, có thể so sánh, và phát triển một tập dữ liệu được gắn nhãn giúp cải thiện bộ dự đoán sau mỗi vòng khép kín. Mục đích của oracle là biến việc ước lượng từ trò đoán thành một phép đo.
Dữ liệu nằm ở đâu
Tất cả dữ liệu dự đoán được lưu trữ cục bộ trên máy của bạn. Không có gì được tải lên.
~/.local/share/precc/
├── metrics.db — predictions table (oracle DB)
└── predict_model.json — trained-v1 coefficients (after `--train`)