# Maguyva ทำงานอย่างไร

Canonical source: https://maguyva.ai/th/docs/how-it-works

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

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

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

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

Maguyva มีความสามารถในการสืบค้น 5 อย่าง ได้แก่ semantic, AST, symbol, dependency, text ภายใน intelligent_search มีรูปแบบการค้นหาสี่แบบ คือ เชิงความหมาย ข้อความ เชิงโครงสร้าง และกราฟ ค่าเริ่มต้น auto/balanced ส่งคำถามที่ระบุได้อย่างมั่นใจว่าเกี่ยวกับนิยามไปยังการค้นหาเชิงโครงสร้าง ส่งคำถามเกี่ยวกับการอ้างอิงหรือผลกระทบไปยังกราฟ และส่งคำถามที่ต้องการผลตรงกันทุกประการไปยังการค้นหาข้อความ คำถามอื่นใช้ความหมายและข้อความที่จัดทำดัชนีแล้ว ใช้ mode=hybrid หรือ auto ร่วมกับ quality=thorough เพื่อขอใช้รูปแบบการค้นหาทั้งสี่แบบ โดยโหมดที่ระบุไว้อย่างชัดเจนจะมีผลเหนือ quality ส่วน language_filter จะตัดกราฟออกจาก auto/hybrid และระบบจะปฏิเสธคำขอหากใช้ร่วมกับโหมดกราฟที่ระบุอย่างชัดเจน ผลลัพธ์จากหลายรูปแบบจะถูกรวมและจัดอันดับตามความเกี่ยวข้องกับคำค้น

มุมมองรีโพซิทอรีส่วนตัวอยู่เคียงข้างข้อมูลอ้างอิงสาธารณะสำหรับ languages and text-based technologies ที่รองรับ เอเจนต์ของคุณเข้าถึงระบบทั้งหมดผ่านเครื่องมือ MCP ซึ่งคุณจะพึ่งพาอย่างหนักระหว่างวางแผนและตรวจสอบ หรือใช้เป็นจุดตรวจสอบระหว่างแก้ไขก็ได้

### 1. การนำเข้ารีโพซิทอรี

- **การวิเคราะห์โครงสร้างโค้ด**: แยกวิเคราะห์ไฟล์ออกเป็นสัญลักษณ์ การอ้างอิง และขอบเขตทางสถาปัตยกรรม
- **การระบุความสัมพันธ์การพึ่งพา**: ทำแผนที่ว่าไฟล์ โมดูล และสัญลักษณ์พึ่งพากันอย่างไร
- **การผนวกรวมเอกสาร**: ดึงเอกสารของรีโพซิทอรีและเอกสารอ้างอิงที่เกี่ยวข้องมาไว้คู่กับโค้ด

### การจัดเส้นทางและจัดอันดับ

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

### รูปแบบข้อมูลที่จัดเก็บ

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

### คุณสมบัติด้านความปลอดภัย

- **ความปลอดภัยของการส่งข้อมูล**: การเชื่อมต่อกับบริการใช้ HTTPS/TLS
- **พื้นที่จัดเก็บที่มีการจัดการ**: ข้อมูลที่ถูกทำดัชนีถูกจัดเก็บบนโครงสร้างพื้นฐานที่มีการจัดการ พร้อมการเข้ารหัสข้อมูลขณะจัดเก็บที่ระดับสตอเรจ
- **การแยกเนมสเปซ**: ข้อมูลรีโพซิทอรีถูกจำกัดขอบเขตด้วยเวิร์กสเปซและเนมสเปซตลอดเส้นทางไพพ์ไลน์และการสืบค้นฐานข้อมูล
- **การควบคุมการเข้าถึง**: การเข้าถึงรีโพซิทอรีถูกจำกัดด้วยขอบเขตองค์กรและเนมสเปซ

### สิ่งที่คาดหวังได้

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

### การอัปเดตอัตโนมัติ

- **การซิงค์รีโพซิทอรี**: รีเฟรชจากงานซิงค์ GitHub เมื่อโค้ดมีการเปลี่ยนแปลง
- **การประมวลผลแบบส่วนเพิ่ม**: ประมวลผลเฉพาะไฟล์ที่เปลี่ยนแปลงเพื่อความมีประสิทธิภาพ
- **บริบทที่รู้จักแบรนช์**: รักษาดัชนีแยกกันตามแบรนช์ git เพื่อให้เอเจนต์เห็นบริบทที่ถูกต้องในแต่ละแบรนช์

Maguyva ถูกส่งมอบในรูปแบบเซิร์ฟเวอร์ MCP ที่โฮสต์บนคลาวด์ เอเจนต์ของคุณเรียกใช้เครื่องมือตามมุมมองที่ต้องการ แทนที่จะพึ่งให้โมเดลจำสถาปัตยกรรมของคุณเองตั้งแต่ต้น มุมมองทั้งสี่ด้านบนจัดกลุ่มเครื่องมือที่ใช้งานได้จริง: การค้นหาเชิงความหมายครอบคลุม `semantic_search` และ `intelligent_search`; การค้นหาสัญลักษณ์ครอบคลุม `find_symbol` และ `get_task_context`; การค้นหาเชิงโครงสร้างครอบคลุม `structural_search` และ `text_pattern_search`; กราฟการพึ่งพาครอบคลุม `dependency_search` และ `analyze_dependencies` — ควบคู่กับ `get_file`, `repository_context`, และ `ask_maguyva` ในฐานะยูทิลิตีสนับสนุน ดู [เอกสารอ้างอิง MCP API](https://maguyva.ai/docs/mcp-api) ฉบับเต็มสำหรับเครื่องมือทั้ง 11 รายการ

ประสิทธิภาพแตกต่างกันไปตามขนาดโค้ดเบสและความซับซ้อนของคำค้นหา Maguyva มุ่งเน้นการส่งมอบบริบทที่เกี่ยวข้องที่สุด แทนที่จะยัดทั้งไฟล์ลงไป ดู [ความเข้ากันได้](https://maguyva.ai/docs/compatibility) สำหรับภาษาและไคลเอนต์ที่รองรับ

ผลลัพธ์จะแตกต่างกันไปตามขนาด ความซับซ้อนของโค้ดเบส และประเภทคำค้นหาที่เอเจนต์ AI ของคุณจัดการ

เชื่อมต่อรีโพซิทอรี GitHub ผ่านพอร์ทัล Maguyva ดัชนีจะอัปเดตผ่านงานซิงค์ GitHub เมื่อโค้ดเปลี่ยนแปลง พอร์ทัลยังแสดงข้อมูลการใช้งาน API ด้วย
