การพยากรณ์ต้นทุนโทเค็น
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
เมื่อมีการพยากรณ์ที่ปิดแล้วอย่างน้อยสิบรายการ ให้พอดี trained-v1 ridge regression บน log10(actual) เทียบกับ log10(ความยาวคำอธิบาย) บวกตัวแปรหุ่น one-hot ของหมวดหมู่ การพอดีเป็นรูปแบบปิด (Cholesky บนสมการปกติด้วย ridge λ=1) และทำงานในหน่วยมิลลิวินาที
$ 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`)