Wat tientallen AI-agenten mij leerden: hoe ik als experiment het Blockstor-opslagsysteem schreef
Anthropic
Een ingenieur beschrijft een experiment om met behulp van AI-agenten een schone-kamerimplementatie van LINSTOR, genaamd Blockstor, te creëren. Het proces omvatte het gebruik van testgestuurde ontwikkeling, linters en een zwerm van tot wel 60 parallelle agenten om bugs op te lossen en tests te laten slagen. Het resultaat was een werkend prototype, hoewel volledig autonome ontwikkeling niet werd bereikt.
De auteur besloot om met behulp van AI-agenten een clean-room-implementatie van LINSTOR, een gedistribueerd blokopslagsysteem, te maken. Blockstor, zoals het systeem heet, is een orchestrator voor blokapparaten die replicatie, snapshots en failover ondersteunt. De auteur koos ervoor om de API-types van LINSTOR als contracten te hergebruiken en testgestuurde ontwikkeling (TDD) te gebruiken om het gedrag te definiëren, aangezien LINSTOR geen testsuite publiceert. Ze gebruikten golangci-lint en richtten een testomgeving op met Kubernetes op Talos, wat DRBD vereist. Het eerste prototype was op verzoeken gebaseerd, maar de auteur vroeg de AI om het te herschrijven met behulp van controller-runtime voor asynchroon gedrag. Vervolgens genereerden ze een lijst met problemen op basis van hun eigen debug-artikelen en rapporten, en lieten de AI die verhelpen. Om het proces te versnellen, paralleliseerden ze agenten, met tot 60 agenten die in afzonderlijke werkbomen en omgevingen werkten, de helft aan unit-tests en de helft aan end-to-endtests. De hoofdagent voegde hun oplossingen samen. Na veel iteraties werd het systeem stabieler, maar handmatige integratietests bleven noodzakelijk.
Bron: Habr — хаб ИИ —
origineel
