7 คะแนน โดย meghendra 2026-02-14 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

สวัสดีครับ/ค่ะ ผม/ฉันได้สร้างเครื่องมือค้นหาโค้ดแบบ local-first (code-local) ชื่อว่า cgrep ขึ้นมา

เป้าหมายหลักคือเพื่อลดการสิ้นเปลืองโทเค็นและการค้นหาซ้ำ ๆ ที่เกิดขึ้นเมื่อ AI coding agent สำรวจโค้ดเบส
cgrep ผสานการค้นหาแบบ BM25 (Tantivy) + การวิเคราะห์สัญลักษณ์ AST (tree-sitter) เพื่อให้ออกแบบมาสำหรับการสำรวจที่สอดคล้องกับเจตนาของโค้ดมากกว่าการค้นหาสตริงแบบง่าย ๆ

ความสามารถหลัก:

  • การสำรวจโค้ด: definition / references / callers / dependents
  • การสำรวจคอนเท็กซ์: read / map
  • เวิร์กโฟลว์ 2 ขั้นตอนสำหรับเอเจนต์: agent locate -> agent expand (ค้นหาตัวเลือกด้วย payload ขนาดเล็ก แล้วขยายเฉพาะสิ่งที่จำเป็น)
  • รองรับ MCP: cgrep mcp serve + รองรับการติดตั้ง host
  • รองรับการติดตั้งเอเจนต์: claude-code, codex, copilot, cursor, opencode

เบนช์มาร์กอ้างอิงจาก PyTorch (6 สถานการณ์การติดตามการทำงาน):

  • tokens-to-complete อ้างอิงจาก grep: 127,665
  • tokens-to-complete ของ cgrep(agent locate/expand): 6,153
  • ลดการใช้โทเค็นลง 95.2% (ลดลง 20.75x)
  • เวลาแฝงในการค้นหาเฉลี่ยจนเสร็จสิ้น: 1321.3ms -> 22.7ms (ประมาณ 58.2x)

การประมวลผลทั้งหมดทำงานบนเครื่องโลคัล (ไม่พึ่งพา cloud index)

ขอความคิดเห็นด้วยครับ/ค่ะ:

  • จุดที่ยังขาดเมื่อใช้กับโค้ดเบสขนาดใหญ่จริง
  • สิ่งที่ควรปรับปรุงสำหรับการเชื่อมต่อ MCP/เอเจนต์
  • ไอเดียในการเสริมสถานการณ์เบนช์มาร์ก

Repo: https://github.com/meghendra6/cgrep
Docs: https://meghendra6.github.io/cgrep/
Benchmark: https://meghendra6.github.io/cgrep/benchmarks/…

4 ความคิดเห็น

 
winterjung 2026-02-15

ดูเหมือนว่าจะมีจุดประสงค์คล้ายกับ mgrep หรือ เครื่องมือ ck นะครับ
พอลองรัน release binary บน macOS ที่อ้างอิง v1.4.1 ก็มีคำเตือนขึ้นมาและไม่สามารถรันได้ครับ
คิดว่าน่าจะดีถ้ามี skills หรือ instruction ที่ agent สามารถใช้อ้างอิงได้แบบใน ตัวอย่าง agent-browser ครับ

 
meghendra 2026-02-16

มีปัญหาเกี่ยวกับลายเซ็นไบนารี แต่ได้แก้ไขแล้ว
รบกวนตรวจสอบและขอขอบคุณสำหรับการรีวิวครับ!

 
woung717 2026-02-15

ผลของการลดโทเค็นนี่ดีมากเลยครับ ถ้ามีผลการทดสอบเชิงเปรียบเทียบด้านการเขียนโค้ดอยู่ใน README ด้วย แม้ประสิทธิภาพในการทดสอบจะยังคงใกล้เคียงกัน ก็น่าจะช่วยเพิ่มความน่าเชื่อถือได้มากขึ้นครับ

 
meghendra 2026-02-17

ตามคำแนะนำ ผมได้เพิ่มผลการเบนช์มาร์กสำหรับสถานการณ์ของ real coding agent ไว้ด้วยแล้ว
ขอบคุณสำหรับคำติชมครับ!