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

บทนำ

PRECC คืออะไร?

PRECC (การแก้ไขข้อผิดพลาดเชิงคาดการณ์สำหรับ Claude Code) คือเครื่องมือ Rust ที่ดักจับคำสั่ง bash ของ Claude Code ผ่านกลไก PreToolUse hook อย่างเป็นทางการ มันแก้ไขข้อผิดพลาดก่อนที่จะเกิดขึ้น ประหยัดโทเค็นและกำจัดวงจรการลองใหม่

ฟรีสำหรับผู้ใช้ชุมชน

ปัญหา

Claude Code สิ้นเปลืองโทเค็นจำนวนมากกับข้อผิดพลาดที่ป้องกันได้:

  • ข้อผิดพลาดไดเรกทอรีผิด – การรัน cargo build ในไดเรกทอรีระดับบนที่ไม่มี Cargo.toml แล้วลองใหม่หลังจากอ่านข้อผิดพลาด
  • วงจรการลองใหม่ – คำสั่งที่ล้มเหลวสร้างเอาต์พุตยาวเหยียด Claude อ่าน วิเคราะห์ และลองใหม่ แต่ละรอบเผาผลาญโทเค็นหลายร้อยตัว
  • เอาต์พุตยาวเหยียด – คำสั่งเช่น find หรือ ls -R ผลิตหลายพันบรรทัดที่ Claude ต้องประมวลผล

สี่เสาหลัก

แก้ไขบริบท (cd-prepend)

ตรวจจับเมื่อคำสั่งเช่น cargo build หรือ npm test ทำงานในไดเรกทอรีผิดและเพิ่ม cd /path/ที่ถูก && ก่อนการทำงาน

การดีบัก GDB

ตรวจจับโอกาสในการแนบ GDB เพื่อการดีบัก segfault และการแครชอย่างลึกซึ้งยิ่งขึ้น โดยให้ข้อมูลดีบักที่มีโครงสร้างแทน core dump ดิบ

การขุดเซสชัน

ขุดบันทึกเซสชันของ Claude Code เพื่อค้นหาคู่ความล้มเหลว-การแก้ไข เมื่อข้อผิดพลาดเดิมเกิดขึ้นซ้ำ PRECC ทราบการแก้ไขแล้วและใช้โดยอัตโนมัติ

ทักษะการทำงานอัตโนมัติ

ห้องสมุดของทักษะในตัวและที่ขุดมาซึ่งจับคู่กับรูปแบบคำสั่งและเขียนใหม่ ทักษะถูกกำหนดเป็นไฟล์ TOML หรือแถว SQLite ทำให้ง่ายต่อการตรวจสอบ แก้ไข และแบ่งปัน

วิธีการทำงาน (เวอร์ชัน 30 วินาที)

  1. Claude Code กำลังจะรันคำสั่ง bash
  2. PreToolUse hook ส่งคำสั่งไปยัง precc-hook เป็น JSON ผ่าน stdin
  3. precc-hook รันคำสั่งผ่านไปป์ไลน์ (ทักษะ, การแก้ไขไดเรกทอรี, การบีบอัด) ในเวลาน้อยกว่า 3 มิลลิวินาที
  4. คำสั่งที่แก้ไขแล้วถูกส่งคืนเป็น JSON ผ่าน stdout
  5. Claude Code รันคำสั่งที่แก้ไขแล้วแทน

ข้อผิดพลาดเล็กน้อยจะถูกยุบรวม; เหตุผลของการเขียนใหม่ติดมากับการตอบสนองของ hook ดังนั้นการแก้ไขแต่ละครั้งจึงตรวจสอบได้ ไม่ใช่เงียบ

ขอบเขตความปลอดภัย

PRECC จะเขียนใหม่เฉพาะเมื่อความเท่าเทียมทางความหมายได้รับการรักษาอย่างพิสูจน์ได้หรือผู้ใช้สามารถตรวจสอบได้ คำสั่งที่ทำลาย (rm, git push --force, git reset --hard) จะไม่ถูกเขียนใหม่เด็ดขาด แม้ว่าทักษะจะตรงกัน การเปลี่ยนแปลงทุกครั้งต้องมีขอบเขต — คำสั่งที่เขียนใหม่ต้องมีโทเค็นหลักของคำสั่งเดิม การเขียนใหม่ที่ไม่มีขอบเขตจะถูกย้อนกลับโดยอัตโนมัติ การเขียนใหม่ทุกครั้งจะถูกบันทึกและแสดงให้คุณตรวจสอบ ปิดใช้งาน หรือยกเลิกได้

การบีบอัดแบบปรับตัว

หากคำสั่งล้มเหลวหลังจากการบีบอัด PRECC จะข้ามการบีบอัดในการลองใหม่โดยอัตโนมัติ เพื่อให้ Claude ได้เอาต์พุตเต็มสำหรับการดีบัก

สถิติการใช้งานสด

เวอร์ชันปัจจุบัน :

ตัวชี้วัดค่า
การเรียกใช้ hook
โทเค็นที่ประหยัดได้
อัตราการประหยัด%
การเขียนใหม่ RTK
การแก้ไข CD
เวลาแฝงของ hook ms (p50)
ผู้ใช้

Measured Savings (Ground Truth)

การประหยัดตามรุ่น

ตัวเลขเหล่านี้อัปเดตโดยอัตโนมัติจากการวัดระยะไกลแบบไม่ระบุตัวตน

ลิงก์