Cursor julkaisi 10. syyskuuta Projects-ominaisuuden beetana. Projekti ottaa vastaan kokonaisen työkokonaisuuden, kuten ominaisuuden, migraation tai koko sovelluksen, ja säilyttää sen kontekstin kuukausien yli.
Keskiössä on koordinaattoriagentti. Se ei kirjoita koodia itse vaan ohjaa muita agentteja, jotka kirjoittavat. Koska koordinaattori delegoi eikä suorita, se ei jää jumiin yksittäisen tehtävän ajaksi vaan pysyy koko ajan ohjattavissa.
Cursor kuvasi suuntaa jo helmikuussa. Toimitusjohtaja Michael Truell kirjoitti tuolloin ohjelmistokehityksen kolmannesta aikakaudesta, jossa agenttiparvet ottavat hoitaakseen kokonaisia työkokonaisuuksia. Projects on tuon ajatuksen ensimmäinen konkreettinen toteutus.
Koordinaattori ohjaa, aliagentit tekevät
Käyttäjä keskustelee projektin kanssa koordinaattorin välityksellä. Koordinaattori suunnittelee työn, luo aliagentit tutkimukseen, toteutukseen ja testaukseen sekä kerää niiden tuotokset katselmoitavaksi.
Cursorin mukaan yksi koordinaattori voi delegoida tuhansille aliagenteille. Julkaisumateriaali ei kerro tilikohtaisia rajoja eikä sitä, mitä tuo mittakaava laskennassa maksaa.
Abstraktiotaso on siis noussut askeleen. Aiemmin kehittäjä ohjasi yksittäisiä agentteja ja piti kirjaa siitä, mitä kukin teki. Nyt hän ohjaa työtä ja jättää agenttien hallinnan koordinaattorille.
Yhtiön mukaan malli sopii parhaiten työhön, joka elää yhtä keskustelua pidempään. Esimerkkeinä mainitaan useaan pull requestiin jakautuva ominaisuus, migraatio ja tehtävä, jonka halutaan etenevän poissaolon aikana.

Konteksti seuraa koneelta toiselle
Jokainen projekti saa oman pilvikoneensa. Työ jatkuu senkin jälkeen, kun kehittäjä sulkee kannettavansa. Kun muutos pitää testata paikallista ympäristöä vasten, koordinaattori käynnistää agentin kehittäjän omalle koneelle.
Projekti ylläpitää tiedostojoukkoa, joka synkronoituu jokaiselle pilvi- ja paikalliskoneelle, jota sen agentit käyttävät. Mukana kulkevat suunnitelmat, demot, tutkimustulokset ja testausohjeet.
Agentit kirjaavat samaan paikkaan myös sen, mitä ne oppivat koodipohjasta ja käyttäjän työtavoista. Jos yksi agentti selvittää, miten tiettyä palvelua testataan, seuraava agentti voi käyttää tietoa suoraan. Koordinaattori muuttuu näin vähitellen tehokkaammaksi.
Jaettu tiedostojoukko toimii myös tarkastuspisteenä. Kehittäjä näkee, mitä agentit ovat päätelleet koodipohjasta, ja voi korjata väärän oletuksen kerran sen sijaan, että toistaisi saman ohjeen jokaiselle uudelle agentille.
Käytännössä kyse on kirjoitetusta muistista. Se erottaa Projectsin istuntokohtaisista agenteista, joiden oppima tieto katoaa keskustelun mukana.

Tilaukset käynnistävät työn ilman kehotetta
Projects voi aloittaa työn myös ulkoisesta signaalista ilman, että kukaan avaa editoria. Cursor kutsuu näitä kytkentöjä tilauksiksi.
Koordinaattori voi seurata Slack-kanavaa vikailmoitusten varalta, seurata pull requesteja ja reagoida CI-ajojen epäonnistumisiin tai ajaa tehtävän aikataulun mukaan. Se toimii siis havaitsemiensa signaalien perusteella eikä odota erillistä kehotetta.
Tämä on se kohta, jossa koodausagentti muuttuu automaatioksi. Kehittäjä ei enää käynnistä ajoa, vaan määrittelee ehdot, joilla työ käynnistyy itsestään.
Tilaukset muuttavat myös vastuunjakoa. Kun agentti reagoi CI-virheeseen keskellä yötä, kukaan ei ole hyväksymässä sen tulkintaa tilanteesta. Sääntöjen määrittelystä tulee siten yhtä tärkeää kuin kehotteiden kirjoittamisesta.
Ajatus ei ole ainutlaatuinen. GitHub Copilot tarjoaa repositorio- ja käyttäjätason muistin sekä ajastetut automaatiot, ja Replit Agent pilkkoo suunnitelmat taustatehtäviksi eristettyihin kopioihin. Cursorin veto on siinä, että sama koordinaattori yhdistää koodipohjan, editorin, pilviagentit, paikallisen testauksen ja ulkoiset signaalit.

Mittakaava tuo mukanaan riskin
Integraatio kasvattaa myös virheen vaikutusaluetta. Huono ohje tai väärä opittu käytäntö leviää koordinaattorin kautta kaikkiin aliagentteihin.
Riskin luonne on tässä uusi. Yksittäisen agentin virhe näkyy yhdessä pull requestissa, mutta koordinaattorin oppima virheellinen konventio toistuu kaikessa, mitä projekti tuottaa sen jälkeen.
Cursorin omissa esimerkeissä ihminen pysyy katselmointivaiheessa mukana silloinkin, kun järjestelmä on ansainnut luottamuksen kymmenien pull requestien verran päivässä. Tarkastusportti on siis kapea suhteessa siihen, mitä koneisto tuottaa.
Julkaisu osuu alle kuukauden päähän siitä, kun SpaceX sai Cursor-kauppansa päätökseen 14. elokuuta. Cursor liitti kaupan laajempaan laskentakapasiteettiin ja alempiin mallikustannuksiin julkaisematta kauppaehtoja.
Projects tarjoaa tuolle kapasiteetille suoran käyttökohteen. Pysyvä koordinaattori, joka lähettää suuria määriä pilviagentteja liikkeelle, kuluttaa päättelyä jatkuvana infrastruktuurina eikä satunnaisena vastauksena.

Yhteenveto
Projects on beetassa ja avautui kaikille käyttäjille 10. syyskuuta editorin vasemmasta navigaatiosta. Työ alkaa kuvauksesta, ja koordinaattori vie sen eteenpäin. Parhaan hyödyn saa tehtävistä, jotka eivät mahdu yhteen istuntoon.
Kyse on pyynnöstä luovuttaa yhä suurempi osa suunnittelusta, delegoinnista ja ylläpidosta pysyvälle ohjelmistolle. Vastineeksi kehittäjä arvioi lopputulosta artefaktien ja pull requestien kautta. Luottamus ansaitaan yksi katselmoitu muutos kerrallaan.
