ข้ามไปที่เนื้อหา
cd /blog

การให้บริบทรีโพขนาดใหญ่แก่เอเจนต์ AI โดยไม่ต้องใช้ตัวสร้างดัชนีในเครื่อง

[AI Agents] [MCP] [Indexing] [Monorepos]

> วิธีให้เอเจนต์เขียนโค้ดมีแผนที่ของรีโพซิทอรีขนาดใหญ่ที่สามารถสอบถามได้จากคลาวด์ โดยไม่ต้องรันตัวสร้างดัชนีในเครื่องบนแล็ปท็อปของคุณ

รีโพซิทอรีขนาดใหญ่ไม่พอดีกับหน้าต่างบริบท และหากคุณเคยชี้ตัวสร้างดัชนีบนแล็ปท็อปไปที่โมโนรีโพจริง คุณก็รู้ดีว่ามันก็ไม่พอดีอย่างสบาย ๆ ที่นั่นเช่นกัน — RAM พุ่งสูง การจัดทำดัชนีครั้งแรกใช้เวลาเป็นชั่วโมง และเอเจนต์ของคุณก็ยังเริ่มเซสชันถัดไปด้วยการเดาว่าไฟล์ไหนสำคัญอยู่ดี

คำตอบทั่วไปคือการรันตัวสร้างดัชนีข้าง ๆ ตัวแก้ไขโค้ด และสำหรับรีโพที่พอดีอย่างสบาย ๆ บนเครื่องเดียว นั่นคือคำตอบที่ดี หากโมโนรีโพของคุณจัดทำดัชนีได้เร็วอยู่แล้วใน Cursor และนั่นคือที่เดียวที่คุณต้องการแผนที่ บทความนี้ไม่มีอะไรจะเพิ่ม — ข้ามไปได้เลย

บทความนี้พูดถึงกรณีอื่น — เมื่อเอเจนต์ต้องการแผนที่ของรีโพขนาดใหญ่ที่สอบถามได้ และคุณไม่ต้องการรันตัวสร้างดัชนีในเครื่องเพื่อให้ได้มันมา

เมื่อไหร่ที่ตัวสร้างดัชนีในเครื่องกลายเป็นเครื่องมือที่ผิด

ดัชนีในเครื่องสันนิษฐานว่าโค้ดอาศัยอยู่บนเครื่องที่สอบถามมัน และในขนาดโมโนรีโพจริง สมมติฐานนั้นตึงเครียดแม้กระทั่งภายในตัวแก้ไขโค้ดตัวเดียว รีโพแค่ใหญ่กว่าที่คุณต้องการให้ ‘ร้อน’ บนแล็ปท็อปเท่านั้นเอง: คุณทำงานในแพ็กเกจเดียวในขณะที่รัศมีผลกระทบอยู่ห่างออกไปสามไดเรกทอรี และการจัดทำดัชนีเย็นครั้งแรกของต้นไม้สองล้านบรรทัดนั้นไม่ใช่สิ่งที่คุณอยากผ่านมันสองครั้ง — ไม่ว่าจะบนเครื่องของคุณเอง หรือบนตัวรัน CI ที่ไม่เคยโคลนต้นไม้นั้นมาก่อน หรือเพื่อนร่วมทีมควรจะสามารถสอบถามแผนที่เดียวกับที่คุณสอบถามได้ โดยไม่ต้องรอเครื่องของตัวเองต่อสู้กับดัชนีเดียวกันนั้น

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

และปัญหาเรื่องขนาดนั้นลึกซึ้งกว่า ‘มีไฟล์มากเกินไปที่จะวาง’ บนต้นไม้ขนาดใหญ่ คำถามที่น่าสนใจแทบจะไม่เคยเป็น ‘แสดงไฟล์นี้ให้ฉันดู’ — มันคือไฟล์ไหน สัญลักษณ์ไหน ใครเรียกใช้ การทดสอบไหน เอเจนต์ที่เริ่มด้วยการแสดงรายการ src/ และอ่านสามผลลัพธ์แรกจะพลาดตัวจัดการใน apps/api และไคลเอนต์ที่สร้างขึ้นใน packages/sdk ได้อย่างง่ายดาย สิ่งที่คุณต้องการคือการดึงข้อมูลที่สร้างจากต้นไม้ทั้งหมด จากนั้นจัดอันดับ จากนั้นอ้างอิง

‘บริบทรีโพขนาดใหญ่’ หมายความว่าอย่างไรกันแน่

การทิ้งไฟล์ลงในพรอมต์ไม่ใช่บริบท — มันคือการคัดลอกต้นไม้ที่เล็กกว่าและแย่กว่า สิ่งที่เอเจนต์ของคุณต้องการจริง ๆ คือการถามคำถามและได้คำตอบที่มีการอ้างอิงกลับมา: สัญลักษณ์นี้ถูกกำหนดที่ไหนและใครเรียกใช้มัน อะไรพึ่งพาโมดูลที่ฉันกำลังจะเปลี่ยน ไฟล์ทดสอบไหนครอบคลุมพฤติกรรมนี้ และต้นไม้นั้นมีลักษณะอย่างไร ตอนนี้ ไม่ใช่ไตรมาสที่แล้ว

คำตอบเหล่านั้นต้องมาจากดัชนีที่สร้างจากรีโพของคุณ ไม่ใช่จากความทรงจำของโมเดลเกี่ยวกับรีโพของคนอื่น และดัชนีนั้นต้องอาศัยอยู่ที่ไหนสักแห่งนอกหน้าต่างบริบทของเอเจนต์ สำหรับปัญหานี้ มันควรอาศัยอยู่ที่ไหนสักแห่งนอกแล็ปท็อปของคุณด้วย

อีกสิ่งหนึ่งที่ไฟล์คำสั่งทำให้คุณไม่ได้: CLAUDE.md และ AGENTS.md เป็นที่ที่ถูกต้องสำหรับข้อตกลงและพฤติกรรม แต่มันไม่ใช่แผนที่ที่มีชีวิต จัดอันดับ และสอบถามได้ของต้นไม้สองล้านบรรทัด ใช้กฎสำหรับพฤติกรรม ใช้ความฉลาดของรีโพสำหรับข้อเท็จจริง

เราสร้างแผนที่บนคลาวด์ คุณสอบถามมันจากไคลเอนต์ใดก็ได้

Maguyva คือชั้นบริบทโค้ดเบส MCP ระยะไกล คุณเชื่อมต่อ GitHub เลือกรีโพซิทอรีของคุณ แล้วปล่อยให้ระบบทำงานไปได้เลยในขณะที่ไปป์ไลน์บนคลาวด์แยกวิเคราะห์ต้นไม้ สร้างสัญลักษณ์และขอบกราฟ และรักษาแผนที่ที่จัดอันดับไว้ — ไม่ต้องใช้ตัวสร้างดัชนีในเครื่องเลย

เมื่อคุณพุชโค้ด ไฟล์ที่เปลี่ยนแปลงจะถูกแยกวิเคราะห์แบบส่วนเพิ่ม และชั้นกราฟและการจัดอันดับจะถูกสร้างใหม่ตามกำหนดเวลา: รายวันในแผนฟรี รายชั่วโมงในแผนที่เสียเงิน ทุกสแนปช็อตมีการประทับเวลา เพื่อให้เอเจนต์ของคุณสามารถบอกได้ว่ากำลังอ่านต้นไม้เวอร์ชันใด ข้อจำกัดตามจริงที่นี่คืองานในเครื่องที่ยังไม่ซิงค์ — การเปลี่ยนแปลงที่มีอยู่เฉพาะในไดเรกทอรีทำงานของคุณ ไม่เคยถูกพุช ยังไม่อยู่ในแผนที่บนคลาวด์

จากนั้นคุณเชื่อมต่อไคลเอนต์ใดก็ได้ที่คุณใช้อยู่แล้วโดยเพิ่มคีย์ API ในการตั้งค่า MCP ของมัน มีคู่มือการตั้งค่าสำหรับไคลเอนต์ MCP ที่มีเอกสารประกอบ 24 ตัว และไคลเอนต์ที่เข้ากันได้กับ MCP อื่น ๆ ที่รองรับการตั้งค่ามาตรฐานก็สามารถเชื่อมต่อได้เช่นกัน หาก Cursor คือที่ที่คุณอาศัยอยู่ หน้า Cursor อธิบายขั้นตอนสำหรับเส้นทางนั้น เซิร์ฟเวอร์เดียวกันตอบสนอง Claude Code, VS Code, Windsurf, Codex CLI และอื่น ๆ

คุณไม่ได้เปลี่ยนตัวแก้ไขโค้ด คุณกำลังมอบพื้นผิวเครื่องมือให้เอเจนต์ของคุณ — เครื่องมือ MCP 11 ตัวครอบคลุมการค้นหา สัญลักษณ์ การวิเคราะห์การพึ่งพา การดึงไฟล์ และบริบทรีโพซิทอรี — พร้อมความครอบคลุมมากกว่า 279 ภาษาและเทคโนโลยีที่อิงข้อความ ซึ่งหมายถึงมากกว่าที่คุณคิดสำหรับโมโนรีโพที่เลิกเป็นภาษาเดียวไปนานแล้ว

คำตอบกลับมาพร้อมหลักฐาน เป็นเส้นทางไฟล์พร้อมหมายเลขบรรทัด การค้นหาเชิงความหมาย เชิงโครงสร้าง เชิงกราฟ และข้อความรวมกันเป็นผลลัพธ์ที่มีการจัดอันดับ เพื่อให้คำถามอย่าง ‘อะไรพึ่งพา parseConfig’ ไม่ได้ให้คุณเป็นกองผลลัพธ์ grep หรือชิ้นส่วนเชิงความหมายเพียงชิ้นเดียว แต่เป็นสถานที่ไม่กี่แห่งที่สำคัญจริง ๆ

คำแนะนำที่เป็นรูปธรรม

อย่าเริ่มด้วยการจัดทำดัชนีทั้งบริษัท นี่คือเส้นทางที่ได้ผล:

  1. เลือกรีโพซิทอรีหนึ่งที่คุณรู้จักดีอยู่แล้ว — แพ็กเกจที่คุณสามารถประเมินด้วยตนเองมีค่ามากกว่าต้นไม้ที่ใหญ่ที่สุดที่คุณมี
  2. เริ่มต้นฟรี: 3 รีโพ, 50,000 บรรทัดที่จัดทำดัชนี เครื่องมือทั้ง 11 ตัว ไม่มีโควตาคิวรีรายเดือน หากรีโพตัวแทนของคุณใหญ่กว่านั้น หน้าราคา แสดงรายการระดับพื้นที่ทำงาน ($0, $19, $49, $149) ตามความครอบคลุมที่จัดทำดัชนี — ไม่ใช่ตามจำนวนที่นั่ง
  3. เชื่อมต่อ GitHub และรอให้การจัดทำดัชนีครั้งแรกเสร็จสิ้น คุณไม่ได้คอมไพล์อะไรในเครื่องเลย
  4. เชื่อมต่อไคลเอนต์ MCP ของคุณ — บรรทัดการตั้งค่าไม่กี่บรรทัด Maguyva คือเซิร์ฟเวอร์ MCP ระยะไกล ดังนั้นจึงไม่มีปลั๊กอิน ไม่มีส่วนขยาย และไม่มีตัวแก้ไขโค้ดตัวที่สองให้ต้องนำมาใช้
  5. ถามคำถามหนึ่งข้อที่คุณสามารถตรวจสอบได้ ‘อะไรพึ่งพา parseConfig?’ หรือ ‘การหมดอายุของเซสชันล็อกอินถูกจัดการที่ไหน?’ จากนั้นเปิดผลลัพธ์ที่มีการอ้างอิง file.ext:line และตรวจสอบกับต้นไม้ที่อยู่ตรงหน้าคุณ
  6. หลังจากที่การอ้างอิงพิสูจน์ตัวเองผ่านการสัมผัสกับต้นไม้นั้นเท่านั้น คุณจึงปล่อยให้เอเจนต์แก้ไข

หากรีโพแรกพอดีดี และต้นไม้ของคุณใหญ่ ให้อัปเกรดพื้นที่ทำงานให้ตรงกับบรรทัดที่จัดทำดัชนีและอัตราการสร้างใหม่ของคุณ มนุษย์และเอเจนต์ใช้จำนวนผู้ใช้ร่วมกัน — Maguyva คิดค่าบริการต่อพื้นที่ทำงาน ไม่ใช่ต่อที่นั่ง — ดังนั้นการเพิ่มเอเจนต์ตัวที่สามเข้าไปในวงจรจึงไม่ทำให้คุณเสียค่าใช้จ่ายเพิ่มขึ้นเลย

การทดสอบการเปิดใช้งานเหมือนกับที่เอกสารประกอบแนะนำสำหรับการรันครั้งแรกใด ๆ: จัดทำดัชนีรีโพที่คุณรู้จักอยู่แล้ว ถามคำถามหนึ่งข้อที่คุณสามารถตรวจสอบได้ รีโพขนาดใหญ่ไม่ได้เปลี่ยนการทดสอบนั้น มันแค่ทำให้ไฟล์แรกที่ผิดมีราคาแพงขึ้น

สิ่งที่ควรจับตาดูหลังจากเชื่อมต่อ

จับตาดูสามสิ่ง ความสดใหม่: แผนที่เสียเงินสร้างใหม่รายชั่วโมง แผนฟรีรายวัน และงานในเครื่องที่ไม่ได้พุชจะไม่อยู่ในแผนที่ — นั่นคือข้อแลกเปลี่ยนที่คุณยอมรับ ขอบเขต: จัดทำดัชนีชุดรีโพที่เป็นตัวแทน ไม่ใช่ทุกฟอร์กที่เก็บถาวร ระดับฟรีถูกออกแบบมาอย่างตั้งใจให้เล็กพอที่จะรู้ว่าคำตอบคุ้มค่าที่จะเก็บไว้หรือไม่ และการตรวจสอบ: แผนที่รีโพขนาดใหญ่ที่ไม่สามารถอ้างอิงเส้นทางและหมายเลขบรรทัดได้ก็เป็นเพียงเครื่องมือเดาที่ช้ากว่าเท่านั้น ดังนั้นให้เอเจนต์ของคุณแสดงตำแหน่งก่อนที่จะส่ง patch

จากนั้นรันการทดสอบเดียวกับที่คุณจะรันบนรีโพเล็ก ๆ จัดทำดัชนีรีโพที่คุณรู้จักอยู่แล้ว ถามคำถามหนึ่งข้อที่คุณสามารถตรวจสอบได้ หากแผนที่ถูกต้อง เอเจนต์ของคุณจะเลิกเริ่มงานจากศูนย์บนต้นไม้ที่ไม่เคยรู้จัก

// no laptop got hot building this map.

อ่านเพิ่มเติมที่เกี่ยวข้อง

เนื้อหาอื่นๆ จากบันทึกการพัฒนา Maguyva

ทำไมเอเจนต์เขียนโค้ด AI ของคุณจึงหลอนเส้นทางไฟล์_

เอเจนต์เขียนโค้ด AI ประดิษฐ์เส้นทางไฟล์เมื่อพวกมันไม่มีแผนที่จริงของรีโพ นี่คือสาเหตุที่มันเกิดขึ้น และวิธีที่แผนที่ที่มีหลักฐานนำไปสู่การเปลี่ยนแปลงที่หลอนน้อยลง

[AI Agents] [Hallucination] [Retrieval] [MCP]

การขุดค้น Skill: จาก 3,500 รายการที่เข้าข่ายสู่ 466 ความสามารถ_

เราคัดกรอง skill ที่เข้าข่าย 3,500 รายการ และรับเข้าใช้งาน 466 รายการ ลูปการขุดค้นและนำเข้าอย่างเป็นระบบ เพื่อสร้างคลัง skill ของ AI agent ที่สอดคล้องกันในระดับใหญ่

[สถาปัตยกรรม] [สกิล]