# Memberikan ejen AI konteks repo besar tanpa pengindeks tempatan

Canonical source: https://maguyva.ai/ms/blog/large-repo-context-without-a-local-indexer

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).

Date: 2026-08-14 · Author: Maguyva Team

> Cara memberikan ejen pengekodan peta repositori besar yang boleh disoal daripada awan, tanpa menjalankan pengindeks tempatan pada komputer riba anda.

Repositori besar tidak muat dalam tetingkap konteks, dan jika anda pernah mengarahkan pengindeks komputer riba ke monorepo sebenar, anda tahu ia juga tidak muat dengan selesa di situ — RAM melonjak, pengindeksan pertama mengambil masa sejam, dan ejen anda tetap memulakan sesi seterusnya dengan meneka fail mana yang penting.

Jawapan biasa ialah menjalankan pengindeks di sebelah editor, dan untuk repo yang muat dengan selesa pada satu mesin, itu jawapan yang baik. Jika monorepo anda sudah diindeks dengan pantas dalam Cursor dan itu satu-satunya tempat anda memerlukan peta, tulisan ini tiada apa untuk ditambah — langkau sahaja.

Tulisan ini membincangkan kes lain — apabila ejen memerlukan peta repo besar yang boleh disoal, dan anda tidak mahu menjalankan pengindeks tempatan untuk mendapatkannya.

## Bila pengindeks tempatan menjadi alat yang salah

Indeks tempatan mengandaikan kod itu hidup pada mesin yang menyoalnya, dan pada skala monorepo sebenar, andaian itu tertarik bahkan di dalam satu editor sahaja. Repo itu sekadar lebih besar daripada yang anda mahu kekal 'panas' pada komputer riba: anda bekerja dalam satu pakej sementara lingkungan impak berada tiga direktori jauhnya, dan pengindeksan sejuk pertama bagi pokok dua juta baris bukanlah sesuatu yang anda mahu lalui dua kali — sama ada pada mesin anda sendiri, atau pada pelari CI yang tidak pernah mengklon pokok itu sebelum ini. Atau seorang rakan sepasukan sepatutnya boleh menyoal peta yang sama seperti anda, tanpa menunggu mesin mereka sendiri berjuang melalui indeks yang sama.

Tiada satu pun daripada ini menjadi sebab untuk membuang pengindeks editor yang baik. Ia adalah sebab untuk turut memiliki peta yang dihoskan yang boleh disoal oleh mana-mana ejen anda melalui MCP.

Dan masalah skala itu lebih mendalam daripada 'terlalu banyak fail untuk ditampal'. Pada pokok besar, soalan yang menarik hampir tidak pernah 'tunjukkan saya fail ini' — sebaliknya fail mana, simbol mana, siapa pemanggil, ujian mana. Ejen yang bermula dengan menyenaraikan `src/` dan membaca tiga hasil pertama akan dengan gembira terlepas pengendali dalam `apps/api` dan klien yang dijana dalam `packages/sdk`. Apa yang anda perlukan ialah pengambilan yang dibina daripada keseluruhan pokok, kemudian diperingkat, kemudian dipetik.

## Apa yang sebenarnya dimaksudkan 'konteks repo besar'

Menumpahkan fail ke dalam prompt bukanlah konteks — ia adalah salinan pokok yang lebih kecil dan lebih teruk. Apa yang benar-benar diperlukan ejen anda ialah mengajukan soalan dan mendapatkan jawapan yang dipetik kembali: di mana simbol ini ditakrifkan dan siapa yang memanggilnya, apa yang bergantung pada modul yang saya akan ubah, fail ujian mana yang meliputi tingkah laku ini, dan bagaimana rupa pokok itu *sekarang*, bukan suku lepas.

Jawapan-jawapan itu mesti datang daripada indeks yang dibina daripada repo anda, bukan daripada ingatan model tentang repo orang lain, dan indeks itu mesti hidup di suatu tempat di luar tetingkap konteks ejen. Untuk masalah ini, ia juga sepatutnya hidup di suatu tempat di luar komputer riba anda.

Satu lagi perkara yang tidak dapat dilakukan fail arahan untuk anda: `CLAUDE.md` dan `AGENTS.md` ialah tempat yang betul untuk konvensyen dan tingkah laku, tetapi ia bukan peta yang hidup, berperingkat dan boleh disoal bagi pokok dua juta baris. Gunakan peraturan untuk tingkah laku; gunakan kepintaran repo untuk fakta.

## Kami membina peta di awan, anda menyoalnya daripada mana-mana klien

Maguyva ialah lapisan konteks pangkalan kod MCP jauh. Anda menyambungkan GitHub, memilih repositori anda, dan boleh berlalu pergi sementara saluran paip awan menghurai pokok, membina simbol dan tepi graf, dan mengekalkan peta berperingkat — tidak pernah memerlukan pengindeks tempatan.

Apabila anda push kod, fail yang berubah dihurai secara berperingkat, dan lapisan graf serta pemeringkatan dibina semula mengikut jadual: harian pada pelan percuma, setiap jam pada pelan berbayar. Setiap snapshot mempunyai cap masa, supaya ejen anda boleh memberitahu versi pokok mana yang sedang dibacanya. Batasan jujur di sini ialah kerja tempatan yang tidak diselaraskan — perubahan yang hanya wujud dalam pokok kerja anda, tidak pernah di-push, masih belum berada dalam peta yang dihoskan.

Kemudian anda menyambungkan mana-mana klien yang sudah anda gunakan dengan menambah kunci API pada konfigurasi MCP-nya. Terdapat panduan persediaan untuk 24 klien MCP yang didokumenkan, dan mana-mana klien serasi MCP lain yang menyokong konfigurasi standard juga boleh berhubung. Jika Cursor ialah tempat anda tinggal, [halaman Cursor](/ms/for-cursor) menyusuri laluan itu; pelayan yang sama menjawab Claude Code, VS Code, Windsurf, Codex CLI dan selebihnya.

Anda tidak menukar editor. Anda memberikan ejen anda permukaan alat — 11 alat MCP merentasi carian, simbol, analisis kebergantungan, pengambilan fail dan konteks repositori — dengan liputan lebih daripada 279 bahasa dan teknologi berasaskan teks, yang bermaksud lebih daripada yang anda sangka pada monorepo yang sudah lama berhenti menjadi satu bahasa sahaja.

Jawapan kembali dengan asas yang kukuh, sebagai laluan fail dengan nombor baris. Carian semantik, struktur, graf dan teks digabungkan menjadi hasil berperingkat, supaya soalan seperti 'apa yang bergantung pada parseConfig' tidak memberi anda longgokan grep atau satu petikan semantik sahaja, tetapi segelintir tempat yang benar-benar penting.

## Panduan konkrit

Jangan mulakan dengan mengindeks keseluruhan syarikat. Ini laluan yang berkesan:

1. Pilih satu repositori yang sudah anda kenali dengan baik — pakej yang boleh anda nilai secara manual lebih bernilai daripada pokok terbesar yang anda ada.
2. Mulakan secara percuma: 3 repo, 50 ribu baris diindeks, kesemua 11 alat, tiada kuota pertanyaan bulanan. Jika repo perwakilan anda lebih besar, [halaman harga](/ms/pricing) menyenaraikan peringkat ruang kerja ($0, $19, $49, $149) mengikut liputan yang diindeks — bukan mengikut bilangan tempat duduk.
3. Sambungkan GitHub dan tunggu pengindeksan pertama selesai. Anda tidak mengkompil apa-apa secara tempatan.
4. Sambungkan klien MCP — beberapa baris konfigurasi. Maguyva ialah pelayan MCP jauh, jadi tiada pemalam, tiada sambungan, dan tiada editor kedua untuk diguna pakai.
5. Tanya satu soalan yang boleh anda sahkan. 'Apa yang bergantung pada parseConfig?' atau 'Di manakah tamat tempoh sesi log masuk dikendalikan?' Kemudian buka hasil `file.ext:line` yang dipetik dan semak berbanding pokok di hadapan anda.
6. Hanya selepas petikan bertahan sentuhan itu, anda benarkan ejen mengedit.

Jika repo pertama sesuai dengan baik dan pokok anda besar, naikkan ruang kerja untuk sepadan dengan baris yang diindeks dan kadar pembinaan semula anda. Manusia dan ejen berkongsi bilangan pengguna yang sama — Maguyva mengenakan bayaran mengikut ruang kerja, bukan mengikut tempat duduk — jadi menambah ejen ketiga ke dalam gelung tidak membebankan anda apa-apa.

Ujian pengaktifan adalah sama seperti yang disyorkan [dokumentasi](/ms/docs) untuk mana-mana larian pertama: indeks repo yang sudah anda kenali, tanya satu soalan yang boleh anda sahkan. Repo besar tidak mengubah ujian itu; ia hanya menjadikan fail pertama yang salah lebih mahal.

## Apa yang perlu diperhatikan selepas disambungkan

Perhatikan tiga perkara. Kesegaran: pelan berbayar dibina semula setiap jam, pelan percuma setiap hari, dan kerja tempatan yang tidak di-push tidak akan berada dalam peta — itulah pertukaran yang anda terima. Skop: indeks set repo yang mewakili, bukan setiap fork yang diarkibkan; peringkat percuma sengaja disaiz untuk mengetahui sama ada jawapan berbaloi untuk dikekalkan. Dan pengesahan: peta repo besar yang tidak dapat memetik laluan dan nombor baris hanyalah enjin tekaan yang lebih perlahan, jadi jadikan ejen anda menunjukkan lokasi sebelum ia menghantar tampalan.

Kemudian jalankan ujian yang sama seperti yang akan anda jalankan pada repo kecil. Indeks repo yang sudah anda kenali. Tanya satu soalan yang boleh anda sahkan. Jika peta itu benar, ejen anda berhenti bermula daripada pokok sejuk.

`// no laptop got hot building this map.`
