Siirry sisältöön
cd /blog

Kartta ensin, katselmointi sitten

[Ecosystem] [Workflow] [Code Review]

> Ankkuroi koodausagentti repo-karttaan ennen kuin se kirjoittaa. Greptile katselmoi pull requestin jälkeenpäin. Toisiaan täydentävä pari, ei korvaaja.

Kaksi eri tehtävää istuu pull requestin molemmin puolin. Ennen kuin agentti kirjoittaa, se tarvitsee kartan puusta, jota se on muuttamassa. Sen jälkeen, kun agentti avaa PR:n, jonkin pitäisi lukea tuo muutos suhteessa muuhun järjestelmään ja jättää kommentteja, joiden perusteella ihminen voi toimia.

Nämä tehtävät näyttävät samankaltaisilta etäältä katsottuna, koska molemmat sisältävät ‘koodikannan ymmärtämisen’. Ne eivät ole sama tuote. Toinen vastaa kysymykseen ‘minne tämän muutoksen pitäisi laskeutua?’. Toinen vastaa kysymykseen ‘mitä tämä diffi rikkoi, minkä rivi riviltä tarkistava linter ohittaa?’. Niiden sekoittaminen tuottaa huonomman ensimmäisen luonnoksen ja meluisamman katselmoinnin.

Tämä teksti on opas yhteiselle työnkululle. Maguyva on kartta, jota agentti kysyy ensin. Greptile on katselmointiagentti, joka kommentoi PR:ää jälkeenpäin. Pari on rakenteeltaan toisiaan täydentävä: Maguyva ei katselmoi pull requesteja, eikä Greptile korvaa kontekstikerrosta, jota agentti käytti niiden kirjoittamiseen.

Miksi tämä jako on hyödyllinen

Koodausagentti, joka lähtee liikkeelle koulutuksen ennakko-oletuksista ja muutamasta liitetystä tiedostosta, keksii uskottavan polun ja muokkaa sitä. Se on ‘väärän tiedoston’ epäonnistuminen, ja se on hakuongelma. Maguyva on etäinen MCP-koodikannan kontekstikerros: semanttinen, rakenteellinen (AST), graafi-/riippuvuus- ja tekstihaku sulautuvat järjestetyiksi tuloksiksi, plus symbolihaku ja tiedostojen haku. Perustellut vastaukset palaavat muodossa path/file.ext:line, joten voit hylätä osuman ennen kuin korjaus on olemassa. Väite pysyy vaatimattomana: vähemmän hallusinoituja muutoksia. Malli voi silti arvata. Vain ensimmäinen askel lakkaa olemasta arvaus.

Greptile on tekoälypohjainen koodikatselmointiagentti. Omin sanoin se katselmoi automaattisesti jokaisen pull requestin täydellä koodikannan ymmärryksellä, ja asettaa sen vastakkain perinteisten linttereiden kanssa, jotka tarkistavat tiedostoja eristyksissä koko järjestelmän sijaan. Asetus koostuu GitHub- tai GitLab-sovelluksen asentamisesta ja repositorioiden valitsemisesta. Ei paikallista indeksiä, jota sinun pitäisi ylläpitää. Isännöinti on Greptile Cloud (he ilmoittavat SOC 2 Type II -vaatimustenmukaisuudesta, raportti saatavilla pyynnöstä), ja itse isännöity vaihtoehto tarjotaan yrityksille.

Heidän oma numeroitu kulkunsa on: yhdistä ja rakenna riippuvuusgraafi jokaisesta funktiosta, luokasta ja riippuvuudesta; jokaisella pull requestilla, analysoi muutos käyttäen tätä täyttä repo-graafia ja julkaise löydökset PR-kommentteina ehdotetuilla korjauksilla noin kolmessa minuutissa; jokainen kommentti voi luovuttaa ongelman koodausagentille, jota tiimi jo käyttää. He myös ilmoittavat lukevansa aiempia ihmisten PR-kommentteja ajan mittaan oppiakseen tiimin koodistandardit ja vähentääkseen meluisia ehdotuksia. Heidän oppimisjärjestelmänsä tarvitsee omien sanojensa mukaan 2–3 viikkoa sopeutuakseen.

Se on katselmointia, ei luonnostelua. Greptilen vahvuus on täyden repo-graafin konteksti muutokseen, joka on jo laskeutunut PR:ään, seurattuna suljetulla silmukalla, joka lähettää löydöksen Claude Code, Codexiin, Conductoriin, Cursor, tai Deviniin. Maguyva vahvuus on järjestetty kartta, jota agentti kysyi ennen kuin se muutos kirjoitettiin. Käytä molempia. Älä pyydä kumpaakaan tekemään toisen työtä.

Ensimmäisen osapuolen tuoteintegraatiota Maguyva ja Greptilen välillä ei ole ilmoitettu. Et myöskään tarvitse sitä. Maguyva puhuu agentille MCP:n kautta. Greptile puhuu GitHub tai GitLabille oman sovelluksensa kautta. Ne kohtaavat pull requestissa. Ei liimaskriptiä, ei cronia, joka yhdistäisi yhden työkalun toiseen. Pari pärjää ilman bashia, koska jokainen tuote istuu jo pinnalla, joka sille kuuluu.

Mitä tämä ei ole

Tämä ei ole Greptilen murskaus. Se ei ole ‘vaihda katselmoijaa’ -sivu. Greptile lanseerattiin Hacker Newsissa 5. maaliskuuta 2024 Y Combinator W24 -yrityksenä, ja se ketju on tapa, jolla moni ensin tutustui tuotteeseen. Jos näin löysit heidät, pysy heidän parissaan. Tämä sivu on sen silmukan puuttuva etupuolisko: ankkuroida agentti etukäteen, jotta Greptilen näkemä PR jo tähtää oikeisiin tiedostoihin.

Greptilen markkinointimateriaali johtaa väitteillä katselmointinopeudesta ja bugien kiinnisaannista. Kohtele niitä Greptilen omina väitteinä, ei riippumattomasti todennettuina lukuina. Tämä teksti ei toista niitä faktoina.

Kielikattavuus on samanlaista rehellisyyttä. Greptile kehystää tuen kaikkien ohjelmointikielten kattamisena luetellun listan sijaan; tarkkaa lukua ei ilmoiteta. Maguyva julkaisee tuen yli 279 kielelle ja tekstipohjaisille teknologioille, teknisellä jaottelulla (jäsentäjän tukema AST versus pelkkä teksti) sivustolla, kun kysymys on tekninen. Nämä ovat eri tuotteita, jotka tekevät erilaisia väitteitä. Älä sekoita niitä.

Greptilen hintoja ei ole ilmoitettu materiaaleissa, joita tämä teksti saa käyttää. Maksulliset suunnitelmat ovat olemassa; katso heidän hintasivunsa. Maguyva veloittaa työtilaa kohden, ei paikkaa kohden. Suunnitelmat alkavat ilmaiseksi. Hintasivu listaa julkaistut tasot, jos tarvitset työtilalukuja.

Työnkulku

Kolme nimettyä vaihetta. Suorita ne tässä järjestyksessä. Älä ohita yhtäkään niistä ensimmäisellä kerralla, kun kokeilet paria.

1. Maguyva-konteksti

Indeksoi yksi repositorio, jonka jo tunnet. Yhdistä MCP-asiakasohjelma, jossa jo kirjoitat — Claude Code, Cursor, Codex CLI, VS Code, Windsurf, tai muu MCP-yhteensopiva asiakasohjelma. Maguyva on asennusoppaat 24 dokumentoidulle MCP-asiakasohjelmalle, ja se voi yhdistää muihin asiakasohjelmiin, jotka tukevat vakio-MCP-asetuksia.

Esitä kysymys, jonka voit arvioida ennen kuin kukaan kirjoittaa riviäkään. ‘Missä istunnon vanhentuminen käsitellään, ja mikä sitä kutsuu?’ on parempi ensimmäinen siirto kuin ‘korjaa autentikointi’. Vaadi lainauksia. Avaa file.ext:line-tulokset. Seuraa symbolia. Vahvista riippuvuus, jota olet koskettamassa.

Maguyva paljastaa 11 asiakaskäyttöistä MCP-työkalua haulle, symboleille, riippuvuusanalyysille, tiedostojen haulle, repo-kontekstille ja deterministisille apuohjelmatyönkuluille. Neljä hakutilaa sulautuvat järjestetyiksi tuloksiksi; find_symbol on erillinen työkalu, kun jo tiedät nimen. Dokumentaatio kuvaa lyhimmän polun: aloita ilmaiseksi, indeksoi repo, jonka jo tunnet, yhdistä asiakasohjelma, esitä sitten yksi kysymys, jonka voit varmistaa.

Tilannevedokset on aikaleimattu, joten agentti voi kertoa, mitä versiota puusta se lukee. Rehellinen rajoitus on synkronoimaton paikallinen työ. Jos muutos on olemassa vain työpuussa eikä sitä ole pushattu, isännöity kartta ei vielä sisällä sitä. Ohjetiedostot (CLAUDE.md, AGENTS.md) kuuluvat yhä tänne, käytännöille ja sille, mitä ei pidä koskea. Ne eivät ole elävä kartta. Käytä niitä käyttäytymiselle. Käytä Maguyva faktoille.

Älä anna agentin avata PR:ää ennen kuin lainaukset selviävät kosketuksesta repon kanssa. Tuo portti on tämän vaiheen koko pointti.

2. Agentin PR

Sama agentti kirjoittaa nyt muutoksen asiakasohjelmassa, josta jo maksat. Maguyva ei ole editori eikä katselmoija. Agentti tuottaa yhä diffin. Avaat yhä pull requestin GitHub tai GitLabissa niin kuin jo teet.

Mikä pitäisi olla erilaista, on ensimmäinen tiedosto. PR:n pitäisi nimetä käsittelijä, joka todella toteuttaa käyttäytymisen, kutsuja, joka rikkoutuu, ja testi, joka epäonnistuu, jos muutos on väärä. Jos vaihe 1 ohitettiin, vaihe 3 käyttää kommenttinsa muutokseen, joka laskeutui väärään pakettiin. Greptile voi silti löytää systeemisiä ongelmia. Sen ei pitäisi myös joutua toipumaan hallusinoidusta polusta.

Pidä PR rajattuna. Perusteltu ensimmäinen tiedosto ei ole lupa kirjoittaa moduuli uudelleen. Tämä toisiaan täydentävä pari toimii, kun agentti teki yhden työn kartan kanssa, ja pyysi sitten katselmoijaa tekemään toisen työn rajatulla diffillä.

3. Greptile-katselmointi

Greptile on jo yhdistetty repositorioon GitHub- tai GitLab-sovelluksen kautta. Uudella pull requestilla se analysoi muutoksen käyttäen rakentamaansa täyttä repo-graafia, ja julkaisee löydökset kommentteina ehdotetuilla korjauksilla. Heidän omat materiaalinsa asettavat tämän vaiheen noin kolmeen minuuttiin.

Lue kommentit niin kuin lukisit huolellista tiimikaveria: avaa lainattu sijainti, päätä onko löydös aito, sitten toimi. Missä Greptile tarjoaa ‘Fix with your Agent’, se lähettää ongelman — tiedostopolut, rivinumerot, ehdotetun koodin — Claude Code, Codexiin, Conductoriin, Cursor, tai Deviniin. ‘Fix All’ lähettää kaikki katselmoinnin ongelmat kerralla. He toimittavat myös Greptile MCP:n ja Claude Code -laajennuksen tälle luovutukselle. Maguyva ei ole tuolla nimetyllä kohdelistalla; se poissaolo ei ole ongelma. Maguyva on jo tehnyt työnsä vaiheessa 1. Koodausagentti, joka kirjoitti PR:n, on se, jonka pitäisi vastaanottaa korjauksen hyötykuorma.

Odota melua ensimmäiset 2–3 viikkoa, kun Greptilen oppimisjärjestelmä sopeutuu kommentteihin, joita tiimisi oikeasti jättää. Se on heidän ilmoittama aikataulunsa, ei parin puute. Ihmisen katselmointi pysyy silmukassa. Greptile on automatisoitu ensimmäinen kierros, ei yhdistämispainike.

Jos Greptile-kommentti osoittaa tiedostoon, jota agentti ei koskaan kysynyt vaiheessa 1, se on hyödyllinen signaali. Joko kartta jätti kutsujan väliin, tai agentti ohitti lainauksen. Korjaa luonnos kommentin mukaan. Älä poista katselmoijaa käytöstä.

Kuinka pitää tämä täydentävyys rehellisenä

  • Maguyva aina ensin. Väärän tiedoston PR:n katselmointi on silti väärän tiedoston katselmointia.
  • Greptile aina jälkeen. Hyvin lainatussa luonnoksessa on silti tarve koko järjestelmän tason diffin lukemiselle.
  • Älä pyydä Maguyva julkaisemaan PR-kommentteja. Se ei tee sitä.
  • Älä pyydä Greptileä olemaan agentin ensimmäinen hakukerros, kun se vielä valitsee polkua. Se ei ole työ, johon heidän GitHub- tai GitLab-sovelluksensa on kytketty.
  • Älä keksi bash-putkea, joka ‘synkronoi’ ne. PR on rajapinta.
  • Varmenna molemmat puolet itsenäisesti. Indeksoi repo, jonka jo tunnet. Esitä yksi kysymys, jonka voit varmistaa. Avaa sitten pieni PR ja lue, mitä Greptile todella kommentoi.

Silmukka on tavallinen heti kun sille annetaan nimi. Kartta ensin. Agentin PR. Katselmointi jälkeen. Jokainen tuote pysyy sillä pull requestin puolella, jossa se on hyvä.

// map first. review second. in that order.

Aiheeseen liittyvää

Lisää Maguyva-projektin rakennuslokista