Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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`)