Hopp til innhold
cd /blog

Kart først, gjennomgang etterpå

[Ecosystem] [Workflow] [Code Review]

> Forankre den kodende agenten i et repo-kart før den skriver. La Greptile gjennomgå pull requesten etterpå. Et komplementært par, ikke en erstatning.

To ulike jobber sitter på hver sin side av en pull request. Før agenten skriver, trenger den et kart over treet den er i ferd med å endre. Etter at agenten har åpnet en PR, bør noe lese den endringen mot resten av systemet og legge igjen kommentarer et menneske kan handle på.

Disse jobbene ser like ut på avstand fordi begge involverer «å forstå kodebasen». De er ikke det samme produktet. Den ene svarer på «hvor bør denne endringen lande?». Den andre svarer på «hva ødela dette diffet som en linje-for-linje-linter vil overse?». Å blande dem gir et dårligere førsteutkast og en mer bråkete gjennomgang.

Denne teksten er en guide til en felles arbeidsflyt. Maguyva er kartet agenten spør først. Greptile er gjennomgangsagenten som kommenterer PR-en etterpå. Paret er komplementært av konstruksjon: Maguyva gjennomgår ikke pull requests, og Greptile erstatter ikke kontekstlaget agenten brukte for å skrive dem.

Hvorfor denne oppdelingen er nyttig

En kodende agent som starter fra treningspriorer pluss noen få innlimte filer, vil finne opp en plausibel sti og redigere den. Det er «feil fil»-svikten, og det er et hentingsproblem. Maguyva er et eksternt MCP-lag for kodebase-kontekst: semantisk, strukturell (AST), graf-/avhengighets- og tekstbasert henting smeltes sammen til rangerte resultater, pluss symbolsøk og filhenting. Underbygde svar kommer tilbake som path/file.ext:line, slik at du kan avvise en bom før en patch finnes. Påstanden forblir beskjeden: færre hallusinerte endringer. Modellen kan fortsatt gjette. Det er bare det første steget som slutter å være en gjetning.

Greptile er en AI-kodegjennomgangsagent. I deres egne ord gjennomgår den automatisk hver pull request med full forståelse av kodebasen, og setter det opp mot tradisjonelle lintere som sjekker filer isolert i stedet for hele systemet. Oppsettet består i å installere GitHub- eller GitLab-appen og velge repoer. Det finnes ingen lokal indeks du må drifte. Hosting er Greptile Cloud (de oppgir SOC 2 Type II-samsvar, med en rapport tilgjengelig på forespørsel), med et selvhostet alternativ tilbudt til bedrifter.

Deres egen nummererte flyt er: koble til og bygg en avhengighetsgraf av hver funksjon, klasse og avhengighet; ved hver pull request, analyser endringen ved hjelp av denne fullstendige repo-grafen og publiser funn som PR-kommentarer med foreslåtte rettelser, på omtrent tre minutter; hver kommentar kan overlevere problemet til en kodende agent teamet allerede bruker. De oppgir også at de leser tidligere menneskelige PR-kommentarer over tid for å lære et teams kodestandarder og redusere bråkete forslag. Læringssystemet deres trenger, ifølge dem selv, 2–3 uker for å tilpasse seg.

Det er gjennomgang, ikke utkast. Greptiles fremste styrke er kontekst fra en fullstendig repo-graf på endringen som allerede har landet i en PR, etterfulgt av en lukket løkke som sender funnet til Claude Code, Codex, Conductor, Cursor, eller Devin. Maguyvas fremste styrke er det rangerte kartet agenten spurte før den endringen ble skrevet. Bruk begge. Ikke be noen av dem gjøre den andres jobb.

En førstepartsproduktintegrasjon mellom Maguyva og Greptile er ikke oppgitt. Du trenger heller ikke én. Maguyva snakker med agenten over MCP. Greptile snakker med GitHub eller GitLab gjennom appen sin. De møtes ved pull requesten. Ingen limescript, ingen cron som kobler ett verktøy til det andre. Paret klarer seg uten bash fordi hvert produkt allerede står på flaten det eier.

Hva dette ikke er

Dette er ikke en nedrivning av Greptile. Det er ikke en «bytt anmelder»-side. Greptile lanserte på Hacker News 5. mars 2024 som et Y Combinator W24-selskap, og den tråden er hvordan mange først møtte produktet. Hvis det er slik du fant dem, behold dem. Denne siden er den manglende første halvdelen av den løkken: å forankre agenten på forhånd, slik at PR-en Greptile ser allerede sikter mot de riktige filene.

Greptiles markedsføringsmateriell leder med påstander om gjennomgangshastighet og feilfangst. Behandle dem som Greptiles egne påstander, ikke uavhengig verifiserte tall. Denne teksten gjentar dem ikke som fakta.

Språkdekning er samme type ærlighet. Greptile rammer støtte som dekning av alle programmeringsspråk i stedet for en opplistet liste; et presist tall er ikke oppgitt. Maguyva publiserer støtte for over 279 språk og tekstbaserte teknologier, med en teknisk oppdeling (parserstøttet AST versus bare tekst) på nettsiden når spørsmålet er teknisk. Dette er ulike produkter som kommer med ulike påstander. Ikke bland dem.

Greptiles priser er ikke oppgitt i materialet denne teksten kan bruke. Betalte planer finnes; se prissiden deres. Maguyva tar betalt per arbeidsområde, ikke per plass. Planer starter gratis. Prissiden lister opp de publiserte nivåene hvis du trenger arbeidsområdetallene.

Arbeidsflyt

Tre navngitte trinn. Utfør dem i denne rekkefølgen. Ikke hopp over noen av dem første gang du prøver paret.

1. Maguyva-kontekst

Indekser ett repo du allerede kjenner. Koble til MCP-klienten du allerede skriver i — Claude Code, Cursor, Codex CLI, VS Code, Windsurf, eller en annen MCP-kompatibel klient. Maguyva har oppsettguider for 24 dokumenterte MCP-klienter og kan koble til andre klienter som støtter standard MCP-konfigurasjon.

Still et spørsmål du kan vurdere før noen skriver en linje. «Hvor håndteres øktutløp, og hva kaller det?» er et bedre første trekk enn «fiks auth». Krev sitater. Åpne file.ext:line-resultatene. Følg symbolet. Bekreft avhengigheten du er i ferd med å røre.

Maguyva eksponerer 11 kundevendte MCP-verktøy på tvers av søk, symboler, avhengighetsanalyse, filhenting, repo-kontekst og deterministiske hjelpeverktøy-arbeidsflyter. Fire hentemodi smeltes sammen til rangerte resultater; find_symbol er et eget verktøy når du allerede kjenner navnet. Dokumentasjonen beskriver den korteste veien: start gratis, indekser et repo du allerede kjenner, koble til klienten, still deretter ett spørsmål du kan verifisere.

Øyeblikksbilder er tidsstemplet, slik at agenten kan si hvilken versjon av treet den leser. Den ærlige begrensningen er usynkronisert lokalt arbeid. Hvis endringen bare finnes i et arbeidstre og ikke er pushet, inneholder det hostede kartet den ennå ikke. Instruksjonsfiler (CLAUDE.md, AGENTS.md) hører fortsatt hjemme her, for konvensjoner og hva som ikke skal røres. De er ikke et levende kart. Bruk dem til oppførsel. Bruk Maguyva til fakta.

Ikke la agenten åpne en PR før sitatene overlever kontakt med repoet. Den porten er hele poenget med dette trinnet.

2. Agentens PR

Den samme agenten skriver nå endringen i klienten du allerede betaler for. Maguyva er verken en editor eller en anmelder. Agenten produserer fortsatt diffet. Du åpner fortsatt pull requesten på GitHub eller GitLab slik du allerede gjør.

Det som bør være annerledes, er den første filen. PR-en bør navngi handleren som faktisk implementerer oppførselen, kalleren som vil bryte, og testen som vil feile hvis endringen er feil. Hvis trinn 1 ble hoppet over, vil trinn 3 bruke kommentarene sine på en endring som landet i feil pakke. Greptile kan fortsatt finne systemiske problemer. Den burde ikke i tillegg måtte hente seg inn etter en hallusinert sti.

Hold PR-en avgrenset. En underbygd første fil er ingen lisens til å skrive om modulen. Dette komplementære paret fungerer når agenten gjorde én jobb med et kart, og deretter ba en anmelder gjøre en annen jobb på et avgrenset diff.

3. Greptile-gjennomgang

Greptile er allerede koblet til repoet via GitHub- eller GitLab-appen. På den nye pull requesten analyserer den endringen ved hjelp av den fullstendige repo-grafen den bygde, og publiserer funn som kommentarer med foreslåtte rettelser. Deres eget materiale setter dette passet til omtrent tre minutter.

Les kommentarene slik du ville lest en grundig lagkamerat: åpne det siterte stedet, avgjør om funnet er reelt, og handle deretter. Der Greptile tilbyr «Fix with your Agent», sender den problemet — filstier, linjenumre, foreslått kode — til Claude Code, Codex, Conductor, Cursor, eller Devin. «Fix All» sender alle problemene i gjennomgangen på én gang. De leverer også en Greptile MCP og en Claude Code-plugin for den overleveringen. Maguyva er ikke på den navngitte målisten; det fraværet er ikke et problem. Maguyva har allerede gjort jobben sin i trinn 1. Den kodende agenten som skrev PR-en, er den som bør motta rettelsesnyttelasten.

Forvent støy de første 2–3 ukene mens Greptiles læringssystem tilpasser seg kommentarene teamet ditt faktisk legger igjen. Det er tidslinjen de oppgir, ikke en mangel ved paret. Menneskelig gjennomgang forblir i løkken. Greptile er det automatiserte første passet, ikke sammenslåingsknappen.

Hvis en Greptile-kommentar peker på en fil agenten aldri spurte i trinn 1, er det et nyttig signal. Enten gikk kartet glipp av en kaller, eller agenten hoppet over et sitat. Fiks utkastet i tråd med kommentaren. Ikke deaktiver anmelderen.

Hvordan holde dette komplementet ærlig

  • Maguyva alltid først. En gjennomgang av en PR med feil fil er fortsatt en gjennomgang av feil fil.
  • Greptile alltid etterpå. Et godt sitert utkast trenger fortsatt en lesning av diffet på hele systemets nivå.
  • Ikke be Maguyva publisere PR-kommentarer. Det gjør den ikke.
  • Ikke be Greptile være agentens første hentelag mens den fortsatt velger sti. Det er ikke jobben GitHub- eller GitLab-appen deres er kablet for.
  • Ikke finn opp en bash-pipeline som «synkroniserer» dem. PR-en er grensesnittet.
  • Verifiser begge sider uavhengig. Indekser et repo du allerede kjenner. Still ett spørsmål du kan verifisere. Åpne deretter en liten PR og les hva Greptile faktisk kommenterer.

Løkken er vanlig så snart den får et navn. Kart først. Agentens PR. Gjennomgang etterpå. Hvert produkt blir på den siden av pull requesten det er god på.

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

Relatert lesning

Mer fra Maguyva-byggeloggen