Guild esitteli Software Factoryn, järjestelmän erikoistuneita tekoälyagentteja, jotka etsivät, suunnittelevat, toteuttavat, katselmoivat ja ylläpitävät ohjelmistotyötä itsenäisesti. Yhtiö rakensi järjestelmän ensin omaan käyttöönsä.

Luvut erottavat julkistuksen tavallisesta tuotelupauksesta. Guildin mukaan 34 prosenttia yhdistetyistä muutospyynnöistä on nyt agenttien kirjoittamia. Kaikista koodikorjauksista 56 prosenttia on lähtöisin samasta putkesta.

Kapeat agentit yhden ison sijaan

Arkkitehtuuri poikkeaa siitä, mihin koodausagenteissa on totuttu. Software Factory ei ole yksi itsenäinen agentti, jolle annetaan iso tehtävä ja vapaat kädet. Se on putki, jossa jokaisella agentilla on kapea ja tarkkaan rajattu rooli.

Ensimmäisenä on vuorossa välittäjä, joka reitittää saapuvat tiketit eteenpäin. Suunnittelija laatii toteutussuunnitelman. Toteuttaja kirjoittaa ja testaa koodin eristetyssä hiekkalaatikossa. Erillinen katselmoija arvioi työn ennen kuin se päätyy ihmisen hyväksyttäväksi.

Putken ympärillä toimii lisäksi joukko ylläpitoagentteja. Ne selvittävät koodikonflikteja, luokittelevat kaatuneita testejä ja tunnistavat pyörimiseen jumittuneita ajoja. Guildin mukaan juuri nämä agentit pitävät järjestelmän toimintakuntoisena pitkällä aikavälillä.

Jako on tuttu teollisesta tuotannosta. Kun jokainen vaihe tekee yhtä asiaa, virheen lähde on helpompi paikantaa ja yksittäisen vaiheen voi korvata koskematta muihin. Sama periaate tekee järjestelmästä myös seurattavan, koska jokaisen vaiheen tuotos on erikseen tarkastettavissa.

Automatisoitu tuotantolinja, jossa erikoistuneet robottiasemat tekevät vuorollaan yhden työvaiheen

Luvut Guildin omasta tuotannosta

Agenttijärjestelmien julkistuksissa näkee harvoin tuotantolukuja. Guild kertoo, että 91 prosenttia Factoryn yhdistetyistä muutospyynnöistä ei vaadi yhtään lisäcommitia insinööriltä. Muutos menee siis läpi sellaisenaan.

Hinta on mitattu samalla tarkkuudella. Yhden yhdistetyn muutospyynnön mallikustannus on keskimäärin noin 12 dollaria. Luku sisältää koko putken: suunnittelun, toteutuksen, testit ja katselmoinnin.

Vertailukohta ratkaisee, onko summa suuri vai pieni. Insinöörin työtunti maksaa useimmissa maissa moninkertaisesti sen, mitä yksi ajo maksaa malleina. Toisaalta 12 dollaria kertautuu nopeasti, jos putki ajaa satoja tehtäviä vuorokaudessa.

Kolmanneksen osuus yhdistetyistä muutoksista kertoo myös työn laadusta. Rutiinikorjaukset ja rajatut muutokset sopivat putkelle parhaiten, ja juuri ne vievät ihmiseltä suhteettomasti aikaa.

Osuus kertoo yhtä lailla siitä, mitä putkelle ei anneta. Arkkitehtuurimuutokset ja huonosti määritellyt tehtävät jäävät insinööreille. Automaatio ei siis kata koko työtä vaan sen ennustettavan osan, ja loppu vaatii edelleen ihmisen arvostelukykyä.

Seinänäyttö hämärässä valvomossa, jossa kuvaajat näyttävät nousevaa läpimenoa

Ihminen pitää viimeisen sanan

Yksi rajaus on tehty tietoisesti. Software Factory ei yhdistä omaa koodiaan päähaaraan. Viimeinen päätös jää ihmiselle, vaikka agentit ottavat muuten yhä enemmän vastuuta.

Rajaus on merkittävämpi kuin miltä se kuulostaa. Yhdistäminen on se kohta, jossa muutoksesta tulee peruuttamaton osa tuotantoa. Niin kauan kuin portti on ihmisen hallussa, agenttien virheet jäävät katselmointivaiheeseen.

Loput yhdeksän prosenttia kertovat oman tarinansa. Näissä tapauksissa insinööri korjaa agentin työtä vielä ennen yhdistämistä. Luku on riittävän pieni ollakseen hyödyllinen mutta liian suuri, jotta katselmoinnista voisi luopua.

Katselmoija-agentti on myös eriytetty toteuttajasta. Sama malli ei siis sekä kirjoita että hyväksy omaa työtään. Rakenne muistuttaa tavallista neljän silmän periaatetta, jota ohjelmistotiimit ovat noudattaneet jo ennen agentteja.

Käsi lepää näppäimistön vieressä näytön edessä hetkeä ennen hyväksyntää

Mitä tämä tarkoittaa muille tiimeille

Guild kuvaa hanketta siirtymänä koodausavustajista laajempiin autonomisiin järjestelmiin. Yhtiön mukaan taustalla oleva arkkitehtuuri on tarkoitus sovittaa myös muihin koodikantoihin tiimikohtaisten koodaussääntöjen avulla.

Suunta ei ole yksin Guildin. Warp julkaisi elokuussa Factories-alustan, jossa agenttitiimi vie tiketin triagesta katselmointiin, ja UiPath toi koodausagentit liiketoimintaprosessien ohjaimiin. Erona on se, että Guild julkaisee mittarit omasta tuotannostaan.

Tiimille käytännön kysymys on rajaus. Putki tarvitsee selkeät tiketit, toimivan testikattavuuden ja hiekkalaatikon, jossa toteuttaja voi ajaa koodin turvallisesti. Ilman niitä katselmoija päätyy tarkastamaan työtä, jota kukaan ei osaa arvioida.

Mittaaminen kannattaa aloittaa samoista luvuista, jotka Guild julkaisi. Yhdistettyjen muutosten osuus, läpimeno ilman lisäcommiteja ja mallikustannus muutosta kohden ovat helposti seurattavia ja vertailukelpoisia. Ilman niitä agenttiputken hyödystä jää jäljelle vain vaikutelma.

Valoisa ohjelmistotoimisto aamuvalossa, näytöillä pyörii automaattisia ajoja

Yhteenveto

Software Factory ei lupaa korvaavansa ohjelmistotiimiä. Se siirtää rutiinityön putkeen, jonka jokainen vaihe on kapea ja mitattava, ja jättää yhdistämispäätöksen ihmiselle.

Merkittävää on myös se, että järjestelmä oli yhtiön omassa käytössä ennen julkistusta. Sisäisesti ajettu putki kohtaa samat sotkuiset tiketit ja vanhat riippuvuudet kuin mikä tahansa tuotantokoodikanta. Demoympäristössä mitatut luvut eivät kertoisi samaa.

Kiinnostavinta ovat julkaistut luvut. 34 prosentin osuus yhdistetyistä muutoksista ja 91 prosentin läpimeno ilman lisätyötä antavat konkreettisen vertailukohdan, jollaisia agenttijärjestelmistä on toistaiseksi nähty vähän.