เหตุใดเราจึงอัปเกรดการค้นหาโค้ดเป็น voyage-4-large
> เราย้ายเอ็มเบดดิ้งโค้ดของเราไปที่ voyage-4-large — ปัจจุบันอยู่อันดับหนึ่งของตารางอันดับการค้นคืนโค้ด RTEB สาธารณะ ฉบับตรงไปตรงมา: การแลกเปลี่ยนที่เรายอมรับ สิ่งที่เราทำดัชนีจริง และเหตุผลที่เราจ่ายเงินเพื่อเอ็มเบดดิ้งระดับพรีเมียม
ตัวเลขเบนช์มาร์กในบทความนี้สะท้อนตารางอันดับของ RTEB ณ วันที่เผยแพร่ (มิถุนายน 2026) ตารางอันดับเปลี่ยนแปลงได้ ให้ถือว่าอันดับเป็นภาพตัดขวาง ณ ช่วงเวลาหนึ่ง ไม่ใช่ข้อเท็จจริงถาวร
Semantic search ดีได้แค่ที่เอ็มเบดดิ้งข้างล่างมันดี
เมื่อ agent ถาม Maguyva ว่า “เราจัดการ retry ตรงไหน” มันไม่ได้ grep หาคำว่า “retry” มันกำลังถามหา ความหมาย — ลูป backoff, circuit breaker, สิ่งที่ห่อการเรียกที่ไม่เสถียร คำถามนั้นถูกตอบโดยโมเดลเวกเตอร์ที่แปลงโค้ดให้เป็นจุดในพื้นที่แล้วหาเพื่อนบ้าน เลือกโมเดลที่ดีกว่า แล้วทุก semantic คิวรีในผลิตภัณฑ์จะคมชัดขึ้นอย่างเงียบๆ
เราจึงเปลี่ยนของเรา ณ เดือนมิถุนายน 2026 code เอ็มเบดดิ้งของ Maguyva รันบน voyage-4-large แทนที่ voyage-code-3
เบนช์มาร์ก
เราไม่ได้ตัดสินใจนี้ด้วยความรู้สึก Retrieval Embedding Benchmark (RTEB) สาธารณะจัดอันดับโมเดลเอ็มเบดดิ้งบนงาน retrieval จริง และบนตารางอันดับ Code ของมัน voyage-4-large อยู่ที่ อันดับหนึ่งโดยรวม (90.86) — นำหน้า gemini-embedding-2-preview (90.26) และที่น่าสังเกตคือ นำหน้าโมเดลที่เราใช้อยู่แล้ว voyage-code-3 (89.73, อันดับ 3)
นั่นคือช่องว่างสัมบูรณ์ที่เล็ก แต่มันคือช่องว่างในทิศทางที่ถูกต้อง บนเบนช์มาร์กสาธารณะ ในงานที่เราสนใจอย่างแท้จริง: การค้นคืนโค้ดตามความหมาย
การแลกเปลี่ยนที่เรายอมรับ: Binary Quantization
นี่คือส่วนที่บทความ “เราอัปเกรดโมเดลของเรา” ส่วนใหญ่มักละไว้
Maguyva ไม่เก็บเวกเตอร์แบบ full-precision เราเก็บเอ็มเบดดิ้งแบบ ไบนารีควอนไทซ์: เวกเตอร์ 2048 มิติแต่ละตัวยุบเหลือซิกเนเจอร์ 2048 บิต — 256 ไบต์ต่อเวกเตอร์ ซิกเนเจอร์เหล่านั้นถูกค้นด้วย Hamming distance มีดัชนีและแบ่งพาร์ติชันต่อผู้เช่า
นั่นคือการแลกเปลี่ยนที่ตั้งใจ Binary quantization ยอมสละความแม่นยำในการค้นคืนบางส่วน แลกกับพื้นที่จัดเก็บที่เล็กลงอย่างมาก และคณิตศาสตร์ระยะทางที่เร็วและถูก โดยไม่ต้องมีฐานข้อมูลเวกเตอร์แยกต่างหากให้ดูแล สำหรับผลิตภัณฑ์ที่ทำดัชนีทั้ง repository ต่อเวิร์กสเปซ เศรษฐศาสตร์นั้นสำคัญกว่าการบีบเอาเศษเสี้ยวสุดท้ายของคะแนนเบนช์มาร์กออกมา
voyage-4-large เข้ากับดีไซน์นี้โดยไม่ต้องบังคับให้ย้ายชั้นพื้นที่จัดเก็บ: มันสร้างผลลัพธ์ 2048 มิติ เหมือนกับ voyage-code-3 ดังนั้นคอลัมน์ bit(2048) และเส้นทาง Hamming search ของเราจึงไม่เปลี่ยนแปลง โมเดลดีขึ้น schema ยังคงเดิม
โค้ดเป็นแค่จุดเริ่มต้น
Maguyva คือเครื่องมือโค้ดอินเทลลิเจนซ์ แต่เรายังเป็นลูกค้าเบอร์หนึ่งของตัวเองด้วย และเราชี้มันไปยังอีกสิ่งหนึ่ง: markdown ที่อยู่ใน repo ของเราข้างๆ โค้ด บันทึกการตัดสินใจเชิงสถาปัตยกรรม, runbook, สัญญา, เอกสารการเงินและนโยบาย — ทั้งหมดถูกควบคุมเวอร์ชันใน Git ทั้งหมดอยู่หลัง MCP เซิร์ฟเวอร์เดียวกัน ดัชนีเชิงความหมายเหนือ เอกสาร ไม่ใช่แค่ซอร์สโค้ด
นั่นคือเหตุผลที่ความกว้างของ voyage-4-large สำคัญพอดี ใน RTEB ตารางอันดับตระกูลเดียวกันนี้ มันคือ อันดับหนึ่งด้านการเงิน อันดับหนึ่งด้าน healthcare และอันดับหนึ่งด้านการค้นคืนข้อความโดยรวม — นำหน้า Gemini Embedding ของ Google, Embed v4 ของ Cohere และ text-embedding-3-large ของ OpenAI (Voyage เป็นผู้ร่วมสร้าง RTEB ดังนั้นเราจึงอ่านมันเป็นสัญญาณสาธารณะที่แข็งแกร่ง มากกว่าจะเป็น กรรมการที่เป็นกลางอย่างสมบูรณ์แบบ — แต่มันถูกเบนช์มาร์กแบบตัวต่อตัวกับโมเดลเชิงพาณิชย์หลักทุกตัว บนชุดข้อมูลกันไว้ทดสอบส่วนตัว) ดัชนีเดียวกันที่หาฟังก์ชันที่ถูกต้องให้ agent ก็หาข้อสัญญาที่ถูกต้องในสัญญาหรือบรรทัดที่ถูกต้องในนโยบาย — และในโดเมนเหล่านั้น voyage-4-large ไม่ใช่การประนีประนอม มันคือผู้นำ
เหตุใดเราจึงจ่ายเงินเพื่อ Embedding ระดับพรีเมียม
มีวิธีค้นหาที่ถูกกว่า และหลายวิธีก็ฟรี การค้นหาเชิงคำศัพท์ — BM25 และญาติของมัน — จับคู่คำสำคัญ รันในเครื่อง และไม่มีค่าใช้จ่าย โมเดลเอ็มเบดดิ้งแบบโอเพนซอร์สอย่าง BGE, Nomic และ embeddinggemma ให้การค้นคืนเชิงความหมายที่ พอใช้ได้ จริง และคุณสามารถโฮสต์เองได้ในราคาของ GPU หนึ่งตัว Maguyva ใช้ฝั่งฟรีด้วยเหมือนกัน: ทุกคำค้นผสาน text, AST, graph และ semantic search เข้าด้วยกัน สิ่งที่เราไม่ประหยัดคือชั้น semantic
เราจ่ายเงินต่อ token สำหรับเอ็มเบดดิ้งระดับพรีเมียม — voyage-4-large — แทนที่จะโฮสต์เองโมเดลฟรี ด้วยเหตุผลสองข้อ ข้อแรก การค้นหาด้วยคำสำคัญ อย่างเดียวตอบ “เราจัดการ retry ตรงไหน” ไม่ได้ เมื่อโค้ดเขียนว่า backoff และ circuit breaker และไม่เคยพูดคำว่า “retry” เลย — ความหมายคือประเด็นทั้งหมด ของเอ็มเบดดิ้ง และในโดเมนที่เราให้บริการ โมเดลแบบเปิดยังตามหลังโมเดลพรีเมียมอยู่: ตามหลังไม่กี่คะแนนในข้อความทั่วไป และตามหลังมากกว่านั้น ในกลุ่มเฉพาะอย่างโค้ด สัญญา และการเงิน ข้อสอง จากประสบการณ์ของเรา คุณภาพการค้นคืนหล่อหลอมคำตอบสุดท้ายมากกว่าโมเดลที่อยู่อีกฝั่งหนึ่ง — agent ที่แข็งแกร่งแต่ได้รับบริบทผิดก็ยังตอบผิดอยู่ดี และมันไม่มีวันเห็นเอกสารที่มันไม่เคยได้รับ
ดังนั้นเอ็มเบดดิ้งระดับพรีเมียมจึงเป็นบิลต่อ token ที่ขยายตามทุก repo และเอกสารที่เราทำดัชนี — และเราจ่ายมันโดยตั้งใจ สำหรับผลลัพธ์ที่ผู้ใช้ของเราได้รับ ฟังก์ชันที่ถูกต้อง หรือข้อสัญญาที่ถูกต้อง เราคิดว่าการแลกเปลี่ยนนั้นคุ้มค่า
ส่วนที่ตรงไปตรงมา
เอกสารของ Voyage เองยังคงระบุว่า voyage-code-3 เป็นโมเดลที่ปรับให้เหมาะกับโค้ด แล้วทำไมถึงย้าย?
เพราะเราอ่านเบนช์มาร์กสาธารณะ ไม่ใช่แค่ตารางโมเดลของ vendor และเบนช์มาร์กจัดให้ voyage-4-large อยู่อันดับหนึ่งสำหรับการค้นคืนโค้ด นี่คือการตัดสินใจแบบมองไปข้างหน้า: เลือกโมเดลที่ใหม่กว่าและแข็งแกร่งกว่าโดยทั่วไป แล้วยืนยันมันกับตารางอันดับสาธารณะบนงานที่สำคัญ เราสบายใจที่จะเดิมพันแบบนี้เพราะหลักฐานนั้นกว้าง — voyage-4-large ไม่ได้แค่ชนะบนโค้ด มันยังนำในการเงิน healthcare และการค้นคืนโดยรวมด้วย
พื้นฐานที่เงียบ
ทุกเครื่องมือที่เราเปิดให้ใช้ — semantic search, การรวบรวมบริบทงาน, การถาม-ตอบแบบอิงหลักฐาน — ล้วนลงเอยที่การค้นคืน เมื่อตัวค้นคืนดีขึ้น agent ที่อีกฝั่งหนึ่งได้หลักฐานที่ดีขึ้น ทำผิดทางน้อยลง และยึดคำตอบของมันไว้กับโค้ดที่ถูกต้อง — หรือข้อสัญญาที่ถูกต้อง หรือนโยบายที่ถูกต้อง โมเดลเอ็มเบดดิ้งที่คมชัดขึ้นไม่ใช่ฟีเจอร์หรูหรา มันคือพื้นฐานใต้ทุกสิ่งที่เหลือ และเราเพิ่งยกมันขึ้น คุณจะไม่สังเกตเห็น นั่นคือประเด็น
อ่านเพิ่มเติมที่เกี่ยวข้อง
เนื้อหาอื่นๆ จากบันทึกการพัฒนา Maguyva
การพัฒนาตนเองเชิงเวียนซ้ำของภาษา: กรินด์ Code Intelligence ครอบคลุมเกือบ 280 ภาษา_
เรารองรับ code intelligence สำหรับเกือบ 280 ภาษา ไม่มีมนุษย์คนไหนตรวจสอบด้วยมือได้ทั้งหมดนั้น เราจึงสร้างลูปการพัฒนาตนเองเชิงเวียนซ้ำของภาษา — สุ่มตรวจ ใช้ LLM เป็นผู้ตัดสิน แก้ไขทีละจุด ตรวจสอบซ้ำ — และรันมันด้วยทีม agent ที่แยกจากกันจนกว่าการแตกโครงสร้างจะถูกต้องจริง ไม่ใช่แค่เขียวผ่าน
ค้นหาแบบผสานหลายโหมด: เลือกตัวค้นคืนที่ใช่สำหรับทุกคำค้น_
คำค้นอย่าง 'parseConfig ถูกนิยามที่ไหน' ต้องการการค้นหาที่ต่างจาก 'auth ทำงานอย่างไร' Maguyva จำแนกเจตนา ให้น้ำหนักทั้งสี่รูปแบบการค้นคืนตามนั้น แล้วรวมผลลัพธ์ด้วย weighted Reciprocal Rank Fusion
การสังเกตการณ์ Agent: Hooks, Alloy และ Grafana_
เราเชื่อมต่อ Claude Code และ Codex เข้ากับ Grafana สแตกเดียวกันด้วย OpenTelemetry และ Alloy จากนั้นใช้ trace และบันทึกเพื่อค้นหาและแก้ไขปัญหาพฤติกรรมของ agent ที่ต้นตอ