Mastra julkaisi Harnessin, uuden kerroksen tekoälyagenttien rakentamiseen. Se tuo mukanaan useat tilat, pysyvät säikeet, työkalujen hyväksynnän ja mallin vaihdon lennossa. Kehittäjä voi rakentaa sillä oman vuorovaikutteisen koodausagenttinsa.
Mastran blogin mukaan yhtiö työsti Harnessia lähes puoli vuotta. Tiimi rakensi ensin MastraCoden, terminaalissa toimivan koodausagentin, jota se ajaa päivittäin. Parhaat osat irrotettiin Harness-luokaksi muiden kehittäjien käyttöön.
Mikä Harness on
Harness on kerros agenttisilmukan ympärillä. Se antaa keskustelun, jota voi seurata, keskeyttää ja ohjata kesken ajon. Mukana on myös pitkiin ajoihin sopiva muisti ja istunnot tallentava tallennustila.
Kerros hoitaa työkalukutsujen hallinnan ja tehtävien jakamisen aliagenteille. Se tuo myös tilat, joiden välillä agentti vaihtaa erikoistuneilla asetuksilla. Käytännössä Harness on se osa, joka tekee agentista hallittavan.
Ero tavalliseen agenttiin on selvä. Yksittäinen agentti vastaa kyselyihin, mutta Harness huolehtii pitkäkestoisesta työstä ja sen valvonnasta.

Istunnot ja tilat pitävät tilan tallessa
Harnessin keskeisin käsite on istunto, joka säilyttää tilan vuorojen yli. Sama istunto voi vaihtaa suunnittelu- ja rakennustilan välillä. Kummallakin tilalla on omat työkalunsa, mallinsa ja ohjeensa.
Suunnittelutilaan kuuluu hyväksyntävaihe. Agentti esittää suunnitelman, jonka käyttäjä hyväksyy ennen toteutusta. Tilaa vaihdetaan switchMode-komennolla, ja keskustelu jatkuu saumattomasti.
Rakenne pakottaa agentin miettimään ennen tekemistä. Sama logiikka toistuu monessa tämän vuoden koodaustyökalussa.

Säikeet ja aliagentit
Harnessissa on koko säikeiden elinkaari. Säikeitä voi luoda, vaihtaa, nimetä uudelleen, poistaa ja kloonata. Näin yksi istunto voi pitää useaa rinnakkaista keskustelua.
Aliagentit toimivat kahdella tavalla: eristettyinä tai haarautettuina. Haarautettu aliagentti voi käyttää uudelleen saman välimuistin alkuosan, mikä säästää laskentaa. Jokaisella aliagentilla on omat ohjeensa, mallinsa ja työkalunsa.
Monivuoroinen silmukka tukee jonotettuja jatkokysymyksiä ja steer-komentoa, jolla ajoa ohjataan kesken kaiken. Sisäänrakennettu ask_user-työkalu antaa agentin kysyä käyttäjältä tarkennuksia.

Milloin Harnessia kannattaa käyttää
Mastra vertaa harnessin ja agentin suhdetta jatkumoon. Mitä pitempi ja itsenäisempi tehtävä, sitä vahvemmin se kallistuu harnessin puolelle.
Yhtiö listaa selviä merkkejä. Harness sopii, kun työ on pitkäkestoista tai autonomista, kun agentti on pikemminkin keskustelukumppani kuin yksittäinen kysely, ja kun se kirjoittaa ja ajaa paljon koodia silmukassa.
Harness on saatavilla @mastra/core-paketin versiosta 1.43.0 alkaen. Kehittäjät pääsevät kokeilemaan sitä dokumentaation ohjeilla.

Yhteenveto
Harness siirtää huomion yksittäisestä agentista sen ympärille rakennettuun hallintakerrokseen. Istunnot, tilat, säikeet ja aliagentit tekevät pitkistä ajoista hallittavia. Samalla kehittäjä säilyttää mahdollisuuden keskeyttää ja ohjata työtä.
Mastra ei myy valmista agenttia vaan rungon, jolla sellaisen rakentaa. Se asettuu samaan joukkoon muiden tämän vuoden agenttikehysten kanssa, mutta nostaa abstraktion tason yksittäisestä silmukasta koko ajon hallintaan.
