Software engineering draait steeds minder om zelf regels code schrijven en steeds meer om het orkestreren van agenten die het werk uitvoeren. Die verschuiving vraagt om een nieuwe manier van organiseren. Net zoals je een menselijk team opdeelt in specialisten, kun je een complex project opbreken in gespecialiseerde agenten die taken parallel uitvoeren, verifiëren en opleveren.

Dit is het idee achter de custom agents die Google introduceert in Antigravity 2.0 en de Antigravity CLI. Ondersteuning in de Antigravity IDE volgt binnenkort.

Wat zijn custom agents precies

Een algemene coding assistant kan veel, maar loopt tegen twee structurele beperkingen aan.

De eerste is gebrek aan specialisatie. Een generalistische assistent kent de testconventies van jouw project of de regels rond dependency management alleen als je ze elke keer opnieuw uitlegt. De tweede is context window bloat. Laad je een enorme monolithische prompt met al je coding guideline en testregels in elke chat, dan wordt dat een ramp voor je token budget.

Custom agents lossen dit op. Het zijn gespecialiseerde configuraties in bestandsvorm die een bepaalde rol definiëren met eigen instructies, tools en beperkingen. Zo blijft je actieve context clean, blijft de token overhead beperkt en krijg je een voorspelbare partner voor specifieke taken.

Hoe custom agents zich verhouden tot skills en dynamic subagents

Misschien denk je dat skills en dynamic subagents deze problemen al aanpakken. Dat klopt grotendeels. Custom agents vullen die mechanismen aan met een extra laag maatwerk.

Skills specialiseren een agent met extra context en instructies. Dankzij progressive discovery blijft de volledige tekst van een skill standaard buiten de prompt. De agent bepaalt zelf of de skill volledig ingelezen moet worden op basis van de taak. Toch blijft de totale set skills die je over alle taken heen nodig hebt groot. Alleen de beschrijvingen nemen al veel context in beslag. Met custom agents geef je precies aan welke subset van skills relevant is voor de specialisatie in kwestie. Hetzelfde principe geldt voor MCP servers, hooks en andere bestaande aanpassingspunten. Daarbovenop pas je met custom agents ook de system instruction, de standaard tools en andere kernonderdelen van de agent loop aan.

Google introduceerde enkele maanden geleden Dynamic subagents. De main agent delegeert werk aan een subagent zodat de context van de main agent clean blijft. Het dynamische deel zit in de prompt die de main agent zelf voor de subagent samenstelt. Custom agents gaan een stap verder. De main agent kan nu delegeren naar een agent met eigen instructies en instellingen, plus details zoals het te gebruiken model en de permissies.

Zo zet je in enkele seconden een custom agent op

Een gespecialiseerde agent opzetten vergt één Markdown bestand. Net als bij skills gebruikt Antigravity een Markdown formaat met een YAML frontmatter header. Die opmaak maakt progressive discovery mogelijk, ook over custom agents heen. Je slaat de bestanden lokaal in je workspace op onder .agents/agents/ of globaal onder ~/.gemini/config/agents/ zodat ze voor al je projecten beschikbaar zijn.

De frontmatter vertelt het product hoe de agent moet draaien. De body van het bestand compileert direct naar de system prompt van de agent.

Er zit ook een sterk teamaspect aan. Commit je projectspecifieke agents in.agents/agents/, dan worden ze automatisch beschikbaar voor elke teammate die de repository uitcheckt. Je hele team krijgt zo direct gestandaardiseerde workflow assistenten, zonder handmatige setup.

Drie eigenschappen die Antigravity custom agents onderscheiden

Heb je eerder met vergelijkbare tools gewerkt, dan ziet de combinatie van Markdown en YAML frontmatter er vertrouwd uit. Google heeft de bestandsconventies bewust afgestemd zodat je bestaande custom agents vrijwel moeiteloos overzet. Hoe die agents onder de motorkap draaien, is in Antigravity wel structureel anders.

1. Volledige symmetrie tussen main agent en subagent

In andere tools werken custom agents uitsluitend als subagent. Jij praat met de standaard main agent en die beslist achter de schermen wanneer jouw specialist wordt opgeroepen, op basis van de beschrijvingen in de frontmatter. Een primaire sessie direct starten als je custom agent kan daar meestal niet.

Antigravity introduceert execution symmetry via eenvoudige configuratieflags. Je selecteert bijvoorbeeld de dependency-modernizer direct uit de dropdown in de Antigravity 2.0 GUI. Via de CLI doe je hetzelfde met agy –agent dependency-modernizer. De specifieke kerninstructies compileren dan direct in de system prompt en je neemt alle uitvoeringsparameters uit de frontmatter over. Je praat dus rechtstreeks met je eigen custom agent. Dezelfde agent kan tegelijk gewoon als subagent worden aangeroepen door een coordinator agent wanneer dat beter past.

2. commandExecutionPolicy voor afgestemde veiligheid

Een agent die commandoregeloperaties uitvoert, zoals dependency installs of test suites werkt frustrerend. Is het veiligheidsbeleid te ruim, dan loop je het risico op ongeverifieerde code. Is het beleid te strikt, dan beland je in een eindeloze reeks goedkeuringsverzoeken.

Zowel Antigravity als andere tools hebben permissieniveaus zoals acceptEdits en bypassPermissions, die alles in één keer toestaan of blokkeren. Antigravity voegt daar een specifiek uitvoeringsfilter aan toe. Stel je commandExecutionPolicy in op auto, dan voert de agent standaard testcommando’s en compilatiecommando’s autonoom op de achtergrond uit. Risicovolle commando’s, zoals het verwijderen van bestanden, blijven achter handmatige goedkeuring zitten.

3. Geneste lifecycle hooks

Andere tools ondersteunen lifecycle hooks die aan de subagent gekoppeld zijn. Antigravity gaat verder met een robuust, genest schema voor lifecycle hooks, direct in de definitie van de agent. Voor de dependency-modernizer betekent dat concreet het volgende.

  • PreInvocation draait een setup script dat de omgeving voorbereidt voordat de agent begint na te denken.
  • PreToolUse met matchers onderschept specifieke tool calls. Elke keer dat de agent een terminalcommando probeert uit te voeren, draait eerst een verificatiescript dat controleert of je lokale omgeving klopt.

Er zijn meerdere plekken waar je hooks kunt plaatsen, zoals de documentatie beschrijft. Die fijnmazige controle voorkomt dat de agent aannames doet over de lokale uitvoeringsomgeving. Compilatieloops worden zo gestopt voordat ze überhaupt beginnen.

Van alleskunner naar team van specialisten

Custom agents zijn volgens Google de volgende stap naar een samenhangend verhaal voor maatwerk. Daarmee kan Antigravity complexere taken op efficiëntere wijzen ondersteunen.