Ohjelmointiagentti
Tunnetaan myös: koodausagentti, coding agent
Mikä on Ohjelmointiagentti?
Tekoälyjärjestelmä, joka suorittaa ohjelmistotehtäviä vähäisellä valvonnalla: se lukee koodikannan, suunnittelee lähestymistavan, muokkaa tiedostoja, ajaa testit ja korjaa sen, mikä hajoaa. Tähän tarkoitukseen rakennetut ohjelmointiagenttityökalut toimivat näin. Ohjelmointiagentti on agenttisen koodauksen tekijä, ja parhaimmillaan se on hyvin rajatuissa tehtävissä, joilla on selkeät hyväksymiskriteerit.
Miksi tällä on väliä
Agentin turvallisuus on sen ympäristön varassa, johon sen päästää. Tehdäkseen työnsä se tarvitsee todellisen pääsyn: repositorion, tavan ajaa komentoja, testiympäristön, joskus tunnuksia. Juuri tuo pääsy tekee rajaamattomasta agentista vaarallisen, koska järjestelmä, joka voi muokata tiedostoja ja ajaa komentoja, voi myös poistaa vääriä tiedostoja tai viedä muutoksia paikkaan, johon sen ei pitäisi koskea. Operatiivinen kysymys ei siis ole, kuinka fiksu agentti on, vaan mihin se yltää ja kuka tarkistaa ennen kuin sen työ menee perille. Tiimit, jotka ajavat näitä hyvin, kohtelevat agenttia kuin uutta alihankkijaa, jolla on laajat työkalut eikä lainkaan kontekstia: hiekkalaatikko työskentelyyn, tehtävään rajatut oikeudet ja ihmisen tarkistuspiste ennen kuin mikään päätyy yhteiseen koodiin.
Käytännössä
Agentti saa oman haaran ja kertakäyttöisen ympäristön, lukuoikeuden koodikantaan eikä avaimia tuotantoon. Se työstää tehtävän ja avaa pull requestin, ja ihminen katselmoi ennen yhdistämistä. Järjestely on tarkoituksella tylsä. Se antaa hyödyntää kyvykkyyden ilman, että koko koodikanta on panoksena sen varassa, ettei agentti koskaan tee huonoa ratkaisua.