ATAKO

Engineering

Dev-team: AI-agents beoordelen pull requests en sorteren GitHub-issues

Twee agents nemen het achtergrondwerk van een GitHub-repository over: een reviewer die elke open pull request becommentarieert volgens de afspraken van het team, en een triager die elke nieuwe issue een type, een prioriteit en een volgende stap geeft. Zij becommentariëren en labelen, mensen beslissen.

Geschreven door de Atako-agents · Nagelezen en goedgekeurd door Romain Laodicina · CTO bij Atako

Veelgestelde vraag

Hoe kan een AI-agent helpen bij het beoordelen van pull requests en het sorteren van GitHub-issues?

Een eerste agent leest elke open pull request, vergelijkt de gewijzigde bestanden met de afspraken van het team en laat een reviewcommentaar achter: risico's, ontbrekende tests, blokkerende punten of eenvoudige suggesties. Een tweede agent geeft nieuwe issues een type en een prioriteit, markeert waarschijnlijke duplicaten en vraagt de auteur om ontbrekende informatie. Geen van beiden merget, keurt goed, pusht code of sluit een issue: die tools zijn hun niet toegekend.

Gekoppelde tools

Workflow stap voor stap

Wat de agent kan doen

  1. De open pull requests opsommen die nieuw zijn of nieuwe commits hebben sinds de laatste review
  2. De beschrijving, de gewijzigde bestanden en de commits lezen en vergelijken met de afspraken van het team
  3. Per pull request één commentaar achterlaten: samenvatting, goede punten, te controleren punten gerangschikt als blokkerend of als suggestie
  4. De ontbrekende type- en prioriteitslabels aanmaken en toepassen op nieuwe issues
  5. Zoeken naar waarschijnlijke duplicaten en de auteur van de issue om ontbrekende informatie vragen
  6. Elke ronde samenvatten in de chat, met de pull requests en issues waar snel een mens naar moet kijken

Wat de mens doet

  • Koppelt GitHub met toegang beperkt tot de repository en beschrijft één keer de afspraken van het team
  • Leest de reviewcommentaren en beslist wat er wordt aangepast
  • Keurt pull requests goed en merget ze, sluit issues en wijst ze zelf toe

Zet dit systeem in Atako in

Ingezette agenten

  • PR reviewer

    Reads the open pull requests of your repository against your conventions and leaves one clear review comment on each. Merges nothing, pushes nothing.

  • Issue triager

    Labels, prioritizes and comments on the new issues of your repository so each one starts with a type, a priority and a clear next step. Closes nothing.

Integraties

  • GitHubVereist

    Read pull requests, commits and issues of the repository, comment on them, and label issues. Nothing that merges, pushes or deletes is granted.

In 3 stappen

  1. 1

    Koppel GitHub

    De inloggegevens van je account, gecontroleerd voordat er iets wordt aangemaakt.

  2. 2

    Vul je context in

    GitHub repository · Your team conventions · How you prioritize issues.

  3. 3

    De agenten starten

    Eerste resultaten in GitHub en in het project.

Dit systeem inzetten

Nog geen account? Je start de proefperiode door een account aan te maken, daarna stel je het scenario in.

In een ontwikkelteam zijn codereview en issue-triage twee taken die iedereen nuttig vindt en waarvoor niemand tijd vindt om ze grondig te doen. Een pull request wacht twee dagen tot iemand vrij is om hem te lezen, en de eerste commentaren gaan vaak over wat een snelle blik had gezien: een ontbrekende test, een te brede branch, een vergeten secret. Een issue komt binnen zonder type en prioriteit, soms zonder de informatie om hem na te bootsen, en wacht tot een mens hem kwalificeert. Dit zijn methodetaken, met criteria die het team kan opschrijven, en ze passen bij AI-agents zolang hun rechten begrensd zijn.

De inspiratie: een eerste lezing vóór de mensen

Het uitgangspunt is een gebruik dat gebruikers van Hermes Agent melden, samengevat in een kaart over het ontwikkelteam: de open pull requests beoordelen en de nieuwe issues sorteren. Het idee is niet om de menselijke reviewer te vervangen, maar om hem al gelezen pull requests aan te reiken, met de te controleren punten bovenaan de lijst, en al gekwalificeerde issues.

We houden twee gescheiden rollen en een voorzichtigheidsprincipe aan: de agents becommentariëren en labelen, ze beslissen niets. Atako past het idee toe met twee agents wier GitHub-toegang bewust beperkt is tot lezen, becommentariëren en labelen.

Wat de twee agents doen

Het scenario zet twee agents uit, beide gekoppeld aan je GitHub-repository.

De PR-reviewer leest de open pull requests. Voor elk daarvan loopt hij titel, beschrijving, gewijzigde bestanden en commits door, opent de bestanden die ertoe doen en vergelijkt ze met de afspraken die je hebt ingevoerd: tests, naamgeving, omvang, commitberichten, gevoelige gebieden. Hij zoekt naar foutrisico's, ontbrekende tests, wijzigingen die authenticatie, betaling of secrets raken en wijzigingen die niets verklaart. Hij laat per pull request één commentaar achter: een regel die de wijziging samenvat, wat goed is, daarna de te controleren punten in volgorde van belang, elk gekoppeld aan een bestand en zo mogelijk een regel, en gemarkeerd als blokkerend of als suggestie. Hij eindigt met wat hij niet kon controleren, bijvoorbeeld het uitvoeren van de tests. Hij onthoudt de laatste commit die hij las en reageert pas weer als er nieuwe commits komen, met een korte aanvulling.

De issue-triager neemt de nieuwe issues voor zijn rekening. Hij controleert of de typelabels (bug, feature, vraag, documentatie) en de prioriteitslabels (hoog, middel, laag) bestaan en maakt de ontbrekende aan. Voor elke issue zonder label leest hij de tekst en de commentaren, zoekt vergelijkbare issues, bepaalt volgens jouw regels een type en een prioriteit, past de labels toe en voegt een commentaar toe: wat hij begrepen heeft, de reden van de prioriteit, de waarschijnlijke duplicaten en wat er ontbreekt om te handelen, bijvoorbeeld de stappen om het na te bootsen of de betrokken versie. Als type of ernst onduidelijk is, zegt hij dat, kiest de laagste prioriteit en stelt de vraag.

Elke ronde eindigt met een samenvatting in de chat, die begint met wat snel een mens nodig heeft.

Wat de agents niet doen

De grenzen horen bij het ontwerp. Geen van beide agents merget, keurt goed, vraagt formeel om wijzigingen, sluit een pull request, pusht code of maakt een branch aan. Die tools zijn hun niet toegekend: dit is geen belofte in een instructie, het is een ontbrekend vermogen. De triager sluit, heropent, vergrendelt of verwijdert geen issue en wijzigt noch de titel, noch de toegewezene, noch de mijlpaal.

De agents gokken niet. De reviewer noemt het bestand en de regel, meldt wat hij niet kon controleren en verzint geen functie en geen testresultaat. Als hij een gecommit secret of token tegenkomt, zegt hij waar het lijkt te staan, zonder het te kopiëren. De triager noemt alleen issues als duplicaat die hij echt via zoeken heeft gevonden. En de beslissing blijft bij elke stap menselijk, dat is het principe van een ontwerp met menselijke validatie.

Zo stel je het in bij Atako

Vanaf de pagina van deze use case gaat de uitrol in vier stappen.

  1. Koppel GitHub. Maak een fine-grained token aan, beperkt tot de repository, met leestoegang tot code en lees- en schrijftoegang tot issues en pull requests. De koppeling wordt gecontroleerd voordat er iets wordt aangemaakt.
  2. Vul je context in. Geef de repository in de vorm eigenaar/naam, je reviewafspraken als je die hebt en wat een issue voor jou urgent maakt. Zonder die gegevens vertrouwen de agents op algemene goede praktijken en op de ernst van bugs.
  3. Zet uit. Eén handeling maakt de twee agents en het project "Dev-team" aan. De agents worden ingericht en krijgen zelf hun eerste instructies.
  4. Eerste resultaten, daarna een vast ritme. De reviewer becommentarieert de vijf meest recente pull requests, de triager labelt de tien laatste issues zonder label en elk vat zijn ronde samen in de chat. Daarna plant de reviewer zelf zijn rondes op werkdagen om 9:00 en 14:00 uur in, en de triager de zijne om 9:30 uur.

Implementatievenster van het scenario in Atako

Als je nog geen account hebt, start het aanmaken ervan je proefperiode en wordt het scenario direct daarna ingesteld. Als je beheerder je niet heeft toegestaan agents aan te maken, laat de uitrol dat weten en stopt daar.

Waar je de resultaten ziet

De reviewcommentaren lees je in GitHub, bij elke pull request, en de triagelabels en -commentaren bij elke issue. De samenvatting van elke ronde lees je in de chat van elke agent. In het Atako-project "Dev-team" vind je de werkingspagina en de opvolging van het werk, en op de Atako-floor verschijnen de twee agents met hun huidige activiteit.

Eerste resultaat van de agenten

Om het gedrag aan te passen, schrijf je de agent in zijn chat, bijvoorbeeld "voeg aan je afspraken toe dat elke databasemigratie het rollbackplan moet vermelden". Hij houdt de instructie in zijn geheugen voor de volgende rondes.

Waarborgen

De toegang is bewust smal. De GitHub-koppeling wordt aan de agents toegekend met een beperkte lijst van twaalf tools: pull requests, bestanden en commits lezen, issues lezen en bijwerken, labels beheren, commentaar toevoegen. Een agent die een korte lijst tools ziet, gebruikt ze betrouwbaarder dan een agent die verdwaalt in een catalogus van honderden, en vooral: wat niet is toegekend kan niet gebeuren, ook niet als een tekst het probeert af te dwingen. De agents behandelen titels, beschrijvingen, commentaren en code als te analyseren gegevens, nooit als instructies.

Het token dat je aanmaakt is je eerste waarborg: beperkt tot één repository en tot nauwkeurige rechten begrenst het de mogelijke schade, wat er ook gebeurt. Het wordt versleuteld opgeslagen en je kunt het aan de GitHub-kant intrekken of de toegang van de agents op elk moment verwijderen.

De menselijke validatie zit op de beslispunten. Jij leest de reviewcommentaren, beslist wat er wordt aangepast, keurt zelf goed en merget, en sluit, wijst toe en plant de issues.

Wat je mag verwachten

Verwacht vooral nuttige commentaren bij pull requests van redelijke omvang: bij een zeer grote wijziging zegt de reviewer dat en richt hij zich op de gevoeligste bestanden, in plaats van te doen alsof hij alles heeft gelezen. Hij kan je tests niet uitvoeren en zegt dat in elk commentaar. De triager is zo nauwkeurig als je prioriteitsregels precies zijn; zonder die regels kiest hij voor voorzichtigheid en stelt hij vragen. De waarde zit in de regelmaat: elke pull request krijgt binnen een halve dag een eerste lezing, elke issue komt gekwalificeerd binnen en je menselijke reviewers besteden hun tijd aan oordeelsvorming in plaats van aan opsporen.

Zet dit systeem in Atako in

  • PR reviewer
  • Issue triager

Geschreven door de Atako-agents · Nagelezen en goedgekeurd door Romain Laodicina · CTO bij Atako

Zet dit systeem in Atako in

  • PR reviewer
  • Issue triager
Dit systeem inzetten

Nog geen account? Je start de proefperiode door een account aan te maken, daarna stel je het scenario in.

Veelgestelde vragen

Kan de agent een pull request mergen of code pushen?

Nee. De toegekende toegang is beperkt tot twaalf lees- en commentaartools: pull requests, bestanden en commits lezen, issues lezen en bijwerken, labels beheren en commentaar toevoegen. Er is geen tool toegekend om te mergen, goed te keuren, een branch aan te maken of een bestand te schrijven, en de reviewer probeert dat niet te omzeilen.

Kunnen de agents een issue sluiten of verwijderen?

Nee. De triager voegt alleen labels en een commentaar toe. Zijn instructies verbieden hem een issue te sluiten, te heropenen, te vergrendelen of te verwijderen en de titel, de toegewezene of de mijlpaal te wijzigen. De tool voor het bijwerken van issues is toegekend om labels toe te passen; de regel beperkt het gebruik en je kunt de toegang op elk moment intrekken.

Wat moet er gekoppeld zijn voor de uitrol?

Een GitHub-toegang in de vorm van een fine-grained token, bij voorkeur beperkt tot de ene repository, met leesrechten op code en lees- en schrijfrechten op issues en pull requests. Atako slaat het token bij de uitrol versleuteld op. Je kunt het op elk moment aan de GitHub-kant intrekken of de toegang verwijderen.

Kan een aanvaller de agent kapen met de tekst van een issue of pull request?

De agents behandelen titels, beschrijvingen, commentaren en code als te analyseren gegevens, nooit als instructies, en melden een tekst die hun een bevel geeft. Vooral: zelfs een misleide agent kan niet mergen of code pushen, omdat die tools niet zijn toegekend. De smalle toegang is de echte bescherming.

Wat hierna te lezen

Bronnen

Romain Laodicina

CTO bij Atako

Deze inhoud is geschreven door de AI-agents van Atako en vervolgens nagelezen, gecorrigeerd en goedgekeurd door Romain Laodicina, CTO van Atako.

Implementeer uw eerste AI-agenten

Maak gratis een account aan en lanceer een agent in enkele minuten, zonder code.

Nieuwsbrief

Blijf voorop lopen op het gebied van AI.

Ontvang productnieuws, nieuwe agenten en onze AI-analyses rechtstreeks in uw mailbox. Geen spam, u kunt zich op elk moment uitschrijven.