Siirry sisältöön
cd /blog

Anna AI-agentille konteksti suuresta repositoriosta ilman paikallista indeksoijaa

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

> Kuinka antaa koodausagentille kyseltävä kartta suuresta repositoriosta pilvestä, ilman että ajat paikallista indeksoijaa kannettavallasi.

Suuri repositorio ei mahdu kontekstiikkunaan, ja jos olet koskaan osoittanut kannettavan indeksoijan oikeaan monorepoon, tiedät, ettei se mahdu mukavasti sinnekään — RAM-muisti ampaisee ylös, ensimmäinen indeksointi kestää tunnin, ja agenttisi silti aloittaa seuraavan istunnon arvaamalla, mitkä tiedostot ovat tärkeitä.

Tavallinen vastaus on ajaa indeksoija editorin vierellä, ja repolle, joka mahtuu mukavasti yhdelle koneelle, se on hyvä vastaus. Jos monorepoosi indeksoituu jo nopeasti Cursor ja se on ainoa paikka, jossa tarvitset karttaa, tällä tekstillä ei ole mitään lisättävää — ohita se.

Tämä teksti käsittelee toista tapausta — kun agentti tarvitsee kyseltävän kartan suuresta repositoriosta, etkä halua ajaa paikallista indeksoijaa saadaksesi sen.

Milloin paikallinen indeksoija on väärä työkalu

Paikallinen indeksi olettaa, että koodi elää koneella, joka sitä kysyy, ja todellisessa monorepo-mittakaavassa tämä oletus kiristyy jo yhden editorin sisälläkin. Repo on yksinkertaisesti isompi kuin haluat pitää ‘lämpimänä’ kannettavalla: työskentelet yhdessä paketissa, kun vaikutusalue on kolme hakemistoa kauempana, ja kahden miljoonan rivin puun ensimmäinen kylmä indeksointi ei ole jotain, minkä haluat kokea kahdesti — ei omalla koneellasi eikä CI-suorittimella, joka ei ole koskaan aiemmin kloonannut sitä puuta. Tai tiimikaverin pitäisi pystyä kyselemään samaa karttaa kuin sinä, odottamatta oman koneensa raivaavan tiensä läpi saman indeksin.

Mikään näistä ei ole syy heittää hyvää editorin indeksoijaa pois. Se on syy myös omistaa isännöity kartta, jota kuka tahansa agenteistasi voi kysyä MCP:n kautta.

Ja mittakaavaongelma menee syvemmälle kuin ‘liikaa tiedostoja liitettäväksi’. Suurella puulla mielenkiintoinen kysymys on lähes koskaan ‘näytä minulle tämä tiedosto’ — se on mikä tiedosto, mikä symboli, ketkä kutsujat, mitkä testit. Agentti, joka aloittaa listaamalla src/ ja lukemalla kolme ensimmäistä tulosta, ohittaa iloisesti käsittelijän kohteessa apps/api ja generoidun asiakasohjelman kohteessa packages/sdk. Tarvitset haun, joka on rakennettu koko puusta, sitten järjestetty, sitten lainattu.

Mitä ‘suuren repon konteksti’ oikeasti tarkoittaa

Tiedostojen tyhjentäminen promptiin ei ole kontekstia — se on pienempi, huonompi kopio puusta. Mitä agenttisi oikeasti tarvitsee, on kysymysten esittäminen ja lainattujen vastausten saaminen takaisin: missä tämä symboli on määritelty ja kuka sitä kutsuu, mikä riippuu moduulista, jota olen muuttamassa, mikä testitiedosto kattaa tämän käyttäytymisen, ja miltä puu näyttää nyt, ei viime vuosineljänneksellä.

Näiden vastausten pitää tulla indeksistä, joka on rakennettu repostasi eikä mallin muistista muiden repoista, ja indeksin pitää elää jossain agentin kontekstiikkunan ulkopuolella. Tälle ongelmalle sen pitäisi elää myös jossain kannettavasi ulkopuolella.

Vielä yksi asia, jota ohjetiedostot eivät voi tehdä puolestasi: CLAUDE.md ja AGENTS.md ovat oikea paikka käytännöille ja käyttäytymiselle, mutta ne eivät ole elävä, järjestetty, kyseltävä kartta kahden miljoonan rivin puusta. Käytä sääntöjä käyttäytymiselle; käytä repo-älyä faktoille.

Rakennamme kartan pilvessä, kyselemme sitä miltä tahansa asiakasohjelmalta

Maguyva on etäinen MCP-koodikannan kontekstikerros. Yhdistät GitHub, valitset repositoriosi, ja voit lähteä, kun pilviputket jäsentävät puun, rakentavat symbolit ja graafin reunat, ja ylläpitävät järjestettyä karttaa — ei koskaan paikallista indeksoijaa.

Kun pushaat koodia, muuttuneet tiedostot jäsennetään inkrementaalisesti, ja graafi- ja rankingkerrokset rakennetaan uudelleen aikataulun mukaan: päivittäin ilmaisella suunnitelmalla, tunneittain maksullisilla. Jokainen tilannevedos on aikaleimattu, joten agenttisi voi kertoa, mitä versiota puusta se lukee. Rehellinen rajoitus tässä on synkronoimaton paikallinen työ — muutos, joka on olemassa vain työpuussasi, ei koskaan pushattu, ei ole vielä isännöidyssä kartassa.

Sitten yhdistät minkä tahansa asiakasohjelman, jota jo käytät, lisäämällä API-avaimen sen MCP-asetuksiin. Asennusoppaita on 24 dokumentoidulle MCP-asiakasohjelmalle, ja mikä tahansa muu MCP-yhteensopiva asiakasohjelma, joka tukee vakioasetuksia, voi myös yhdistää. Jos Cursor on kotisi, Cursor-sivu kulkee sen polun; sama palvelin vastaa Claude Code, VS Code, Windsurf, Codex CLI:lle ja muille.

Et vaihda editoria. Annat agentillesi työkalupinnan — 11 MCP-työkalua haulle, symboleille, riippuvuusanalyysille, tiedostojen haulle ja repo-kontekstille — kattaen yli 279 kieltä ja tekstipohjaisia teknologioita, mikä merkitsee enemmän kuin luulet monorepossa, joka lakkasi olemasta yksi kieli vuosia sitten.

Vastaukset palaavat perusteltuina, tiedostopolkuina rivinumeroineen. Semanttinen, rakenteellinen, graafi- ja tekstihaku sulautuvat järjestetyiksi tuloksiksi, joten kysymys kuten ‘mikä riippuu parseConfigista’ ei anna sinulle grep-tulostetta eikä yhtä semanttista katkelmaa, vaan sen kourallisen paikkoja, jotka todella merkitsevät.

Konkreettinen ohje

Älä aloita indeksoimalla koko yritystä. Tässä on polku, joka toimii:

  1. Valitse yksi repositorio, jonka jo tunnet hyvin — paketti, jonka voit arvioida käsin, on arvokkaampi kuin suurin puu, joka sinulla on.
  2. Aloita ilmaiseksi: 3 repoa, 50 000 indeksoitua riviä, kaikki 11 työkalua, ei kuukausittaista kyselykiintiötä. Jos edustava repository on tätä suurempi, hintasivu listaa työtilatasot ($0, $19, $49, $149) indeksoidun laajuuden mukaan — ei paikkojen määrän mukaan.
  3. Yhdistä GitHub ja odota, että ensimmäinen indeksointi valmistuu. Et käännä mitään paikallisesti.
  4. Yhdistä MCP-asiakasohjelma — muutama rivi asetuksia. Maguyva on etäinen MCP-palvelin, joten liitännäisiä, laajennuksia tai toista omaksuttavaa editoria ei ole.
  5. Esitä yksi kysymys, jonka voit varmistaa. ‘Mikä riippuu parseConfigista?’ tai ‘Missä kirjautumisistunnon vanhentuminen käsitellään?’ Avaa sitten lainatut file.ext:line-tulokset ja tarkista ne edessäsi olevaa puuta vasten.
  6. Vasta sen jälkeen, kun lainaukset selviävät tästä kosketuksesta, annat agentin muokata.

Jos ensimmäinen repo sopii hyvin ja puusi on suuri, nosta työtilaa vastaamaan indeksoituja rivejäsi ja uudelleenrakennustahtia. Ihmiset ja agentit jakavat saman käyttäjämäärän — Maguyva veloittaa työtilaa kohden, ei paikkaa kohden — joten kolmannen agentin lisääminen silmukkaan ei maksa sinulle mitään.

Aktivointitesti on sama, jota dokumentaatio suosittelee jokaiselle ensimmäiselle ajolle: indeksoi repo, jonka jo tunnet, esitä yksi kysymys, jonka voit varmistaa. Suuri repo ei muuta testiä; se vain tekee väärästä ensimmäisestä tiedostosta kalliimman.

Mitä seurata yhdistämisen jälkeen

Pidä silmällä kolmea asiaa. Tuoreus: maksulliset suunnitelmat rakentuvat uudelleen tunneittain, ilmaiset päivittäin, eikä pushaamaton paikallinen työ näy kartassa — se on kompromissi, jonka teet. Laajuus: indeksoi edustava joukko repoja, ei jokaista arkistoitua forkkia; ilmainen taso on tarkoituksella mitoitettu selvittämään, kannattaako vastauksia säilyttää. Ja varmennus: suuren repon kartta, joka ei voi lainata polkuja ja rivinumeroita, on vain hitaampi arvauskone, joten anna agenttisi näyttää paikka ennen kuin se toimittaa korjauksen.

Aja sitten sama testi, jonka ajaisit pienelle repolle. Indeksoi repo, jonka jo tunnet. Esitä yksi kysymys, jonka voit varmistaa. Jos kartta on aito, agenttisi lakkaa aloittamasta kylmästä puusta.

// no laptop got hot building this map.

Aiheeseen liittyvää

Lisää Maguyva-projektin rakennuslokista