Að smíða sameiginleg vinnusvæði fyrir fólk og gervigreindarfulltrúa

Hvernig verkefni í Perplexity halda langtímavinnu varanlegri, samhliða og rekjanlegri.

HöfundarPerplexity Engineering

Nýlega kynntum við verkefni, þar sem fólk og gervigreindarfulltrúar vinna saman að langtímaverkum í Perplexity Computer. Hvert verkefni byggir á sameiginlegu vinnusvæði með skráakerfi sem safnar samhengi þvert á samtöl, gervigreindarfulltrúa og notendur. Fjölnotendasamvinna sem spannar marga mánuði krefst varanleika, samhliða vinnslu og rekjanleika:

  • Varanleiki: Vinnan ætti að endast lengur en einstök samtöl eða sandkassar gervigreindarfulltrúa, svo sami notandi eða gervigreindarfulltrúi geti haldið henni áfram síðar og allir samstarfsaðilar geti byggt á henni.
  • Samhliða vinnsla: Margir notendur í sama verkefni geta hver um sig haft marga gervigreindarfulltrúa sem gera breytingar samhliða og færa sameiginlegt ástand fram á við í stað þess að skrifa yfir breytingar hver annars.
  • Rekjanleiki: Bæði notendur og gervigreindarfulltrúar ættu að geta séð söguna svo þeir geti athugað hver breytti hverju frá síðasta samtali sínu án þess að lesa allt verkefnið aftur, og afturkallað breytingar þegar þörf krefur.

Hugbúnaðarverkfræðingar kannast við þessar áskoranir. Git-smiðjur (e. forges) komu fram fyrir áratugum til að mæta þessum kröfum: hýst þjónusta sem umlykur útgáfustýringu með samvinnueiginleikum svo að margir þátttakendur geti sameinast um eina sanna heimild. Skráakerfið sem knýr verkefni er ein slík Git-smiðja, smíðuð fyrir samvinnu fólks og gervigreindarfulltrúa og samvinnu gervigreindarfulltrúa sín á milli.

Eitt verkefni: gagnvirkir gervigreindarfulltrúar, tímasettir gervigreindarfulltrúar og gervigreindarfulltrúar annarra notenda vinna allir í sömu hirslunni.

Högun

Git sér nú þegar um varanleika, samhliða vinnslu og rekjanleika. Það auðkennir hverja skrá út frá innihaldi hennar, svo óbreyttar skrár eru geymdar einu sinni og vistuð afrit úreldast aldrei. Hver færsla vistar allar uppfærðar skrár í einu, svo samstarfsaðilar sjá aldrei hálfklárað ástand. Þegar tveir skrifendur rekast á getur sá sem tapaði beitt breytingum sínum aftur á nýju útgáfuna og reynt á ný. Færslukeðjan sýnir hver breytti hverju og auðveldar að endurheimta eldri útgáfur. Það sem gervigreindarfulltrúar þurfa ekki á að halda er afgangurinn af Git-smiðju sem er smíðuð fyrir fólk, svo sem yfirferðarskjáir, greinastjórnun og tilkynningar.

Högun okkar keyrir allt ferlið í skýinu og styður alls kyns þekkingarvinnu umfram forritun. Á bak við hvert verkefni í Computer er Git-hirsla sem 5 þættir þjóna:

  • CLI-tólið viðheldur staðbundnum vinnueintökum, samstillir uppfærslur og sendir inn breytingar gervigreindarfulltrúans í hverjum sandkassa.
  • Stjórnlagið finnur verkefnahirsluna og gefur út skammlífar aðgangsupplýsingar til að komast að henni.
  • Git-þjónustan sendir gögn hirslunnar til sandkassa, tekur við innsendingum þeirra og ákveður hvaða innsending verður nýjasta samþykkta færslan.
  • Geymsla sem byggir á AWS S3 varðveitir gögn hirslnanna með varanlegum hætti.
  • Eftirvinnsla dregur texta og aðrar gagnlegar upplýsingar úr vistuðum skjölum og gerir þær aðgengilegar þegar gervigreindarfulltrúar hlaða eða endurnýja verkefnið.

Hver gervigreindarfulltrúi hefur sinn eigin einangraða sandkassa. Innan þess sandkassa vinnur hann með staðbundið afrit af hirslunni sem lítið CLI-tól heldur utan um. CLI-tólið biður stjórnlagið um að finna hirsluna og sækir síðan og sendir inn breytingar í gegnum Git-þjónustuna. Milliþjónn gervigreindarfulltrúa kannar aðgangsheimildir fyrir beiðnir úr sandkassanum áður en þær berast Git-þjónustunni. Git-þjónustan les og skrifar hirslur á sameiginlegu skráakerfi og ákveður hvort hver innsending verði nýjasta samþykkta færslan. Það skráakerfi kemur frá AWS S3Files, sem gerir geymslu sem byggir á S3 aðgengilega sem venjulegar skrár og möppur. Geymslunni er skipt í einangruð hólf, hvert með sitt eigið skráakerfi og sín eigin tilvik af Git-þjónustunni. Eftir að færsla hefur verið samþykkt draga vinnsluferli í bakgrunni út texta og aðrar gagnlegar upplýsingar úr breyttum skjölum, geyma niðurstöðurnar aðskildar frá sögu hirslunnar og gera þær aðgengilegar þegar gervigreindarfulltrúar hlaða eða endurnýja verkefnið.

Næst förum við yfir hvern þátt fyrir sig.

CLI-tólið hefur samband við stjórnlagið til að finna hirsluna sína og sækir síðan og sendir inn í gegnum Git-þjónustuna um milliþjón gervigreindarfulltrúa. Git-þjónustan kannar innsendingar og uppfærir samþykktu head-færsluna og úthólfið í DynamoDB. Tilvik innan hvers hólfs nota S3Files-geymslu, á meðan eftirvinnsluferli draga út texta fyrir vinnueintök og samstillingu.

CLI: Unnið með staðbundnar skrár í sandkössum

Gervigreindarfulltrúar keyra í SPACE, sandkassaverkvangi sem við þróuðum sjálf. Í hverjum sandkassa er lítið CLI-tól sem raungerir hirsluna og heldur henni samstilltri. Fyrir hverja einingu af markverðri vinnu sem gervigreindarfulltrúinn lýkur sendir tólið breytingarnar inn sem færslu.

Gervigreindarfulltrúar snerta yfirleitt aðeins lítinn hluta verkefnaskránna, svo ekki er nauðsynlegt að raungera alla hirsluna fyrir fram. Þess vegna raungerir CLI-tólið skrár eftir þörfum: stórar skrár og tvíundaskrár sem geymdar eru með Git Large File Storage (LFS) berast sem litlar bendiskrár sem geyma raunverulega stærð hlutarins, svo gervigreindarfulltrúinn getur notað heitið og stærðina til að meta hvort niðurhal borgi sig. Fyrir skjöl á borð við PDF-skjöl les gervigreindarfulltrúinn fyrst þáttaðan texta og sækir upprunaskrárnar aðeins þegar þörf krefur.

Annar augljós kostur væri að nota sýndarskráakerfi. Við prófuðum útfærslu sem byggði á FUSE, en hún var um það bil 400 sinnum hægari en staðbundnar skrár í vinnuálagi með mikilli skráakerfisnotkun, þar sem hver beiðni krefst ferðar fram og til baka um netið. Hún krefst líka yfirleitt sérréttinda frá hýsilvélinni, svo hver gervigreindarfulltrúi þyrfti að keyra í sandkassa með sérréttindum.

Stærð bendisins og þáttunaryfirlitið ráða úrslitum: lesa þáttaðan texta, sækja upprunaskrána eða sleppa.

Stjórnlag: Staðsetning hirslna og veiting aðgangs

Stjórnlagið finnur hvar hver hirsla er geymd og veitir aðgang að henni. Þegar hirsla er stofnuð úthlutar stjórnlagið henni geymsluhólfi, einangraðri geymslueiningu með eigin tilvikum af Git-þjónustunni. Þegar gervigreindarfulltrúi hefur vinnu við verkefni spyr CLI-tólið stjórnlagið hvar hirslan er geymd. Stjórnlagið skilar staðsetningunni og tímabundnum aðgangsupplýsingum fyrir Git-þjónustuna. Stjórnlagið les hvorki né skrifar gögn hirslunnar. Git-þjónustan ákveður hvað fer inn í hirslu.

Git-þjónustan: Gagnaflutningur og samhæfing uppfærslna

Git-þjónustan framkvæmir Git-aðgerðir og flytur innihald hirslna og útgáfusögu á milli sandkassa og geymslu. Hún er þunnt lag utan um eigin þjónustuskipanir Git. Hún styður uppgötvun tilvísana (ref discovery) til að segja biðlaranum hvar head-færsla hirslunnar er, upload-pack til að klóna og sækja, og receive-pack til að taka við nýjum hlutum og beiðni um að færa head-færslu hirslunnar fram. Hún þjónustar einnig Git LFS API: fyrir stórar skrár og tvíundaskrár gefur hún út skammlífa tengla svo sandkassar geti hlaðið þeim skrám upp í S3 og niður úr S3 milliliðalaust.

Við byrjuðum með tilbúinn smiðjuþjón svo við gætum þróað frumgerðir af viðmótum gervigreindarfulltrúa og notenda samhliða því að smíða okkar eigin léttu smiðju, sem einbeitir sér eingöngu að þeim Git-aðgerðum sem við þurfum.

Þjónustan samanstendur af flota tilvika, sem hvert um sig er keyrandi eintak af sama netþjóni. Hólf sameinar sameiginlega geymslu, hóp tilvika og stoðþjónustur þeirra. Tilvik innan hólfs geta þá nálgast sama sameiginlega skráakerfið í stað þess að viðhalda sjálfstæðum afritum af hverri hirslu.

Þessi sameiginlega geymsla gerir tilvikunum kleift að vera án stöðu. Hvaða tilvik sem er í hólfinu getur þjónað hvaða hirslu hólfsins sem er, svo ekki þarf að flytja gögn hirslna milli netþjóna þegar tilvikum er skipt út eða bætt við. Beiðnir um tiltekna hirslu fara venjulega til sama tilviks svo skyndiminni þess nýtist, en hirslan er ekki háð því að það tiltekna tilvik haldist tiltækt.

Samþykktarskrefið kannar fastar reglur hirslunnar til að tryggja að samþykkt færsla skili hirslunni í gildu ástandi. Við skilgreinum skýran samning fyrir hverja hirslu svo að vélrænar athuganir geti komið í veg fyrir að hún vaxi um of. Stórar skrár og tvíundaskrár, svo sem PDF-skjöl og myndir, eru geymdar með Git LFS frekar en sem hrá Git-gögn (blobs). Þjöppun heldur nýlegri sögu aðgengilegri en takmarkar um leið stærð hirslunnar. Eftir vel heppnaða innsendingu spyr CLI-tólið Git-þjónustuna hvort þjappa þurfi hirslunni. Ef fjöldi varðveittra færslna fer yfir tiltekin mörk heldur Git-þjónustan aðeins eftir minni hópi nýjustu færslnanna. Eldri saga er leyst af hólmi með einni upphafsskyndimynd og nýlegu færslurnar eru endurspilaðar til að uppfæra auðkenni þeirra.

Þjöppun heldur nýjustu færslunum, fellir eldri sögu inn í eina rót skyndimyndar og endurspilar nýlegu færslurnar með nýjum auðkennum; nýja head-færslan inniheldur sömu skrár.

Einfalt samstillingarskref stýrir samhliða skrifendum. Það heldur utan um nýjustu samþykktu færsluna, svokallaða head-færslu. Þegar það tekur við innsendingu samþykkir það hana aðeins ef hún var byggð á þeirri head-færslu. Ef svo er ekki sendir það skipulagt svar um úreltan grunn; sá sem tapaði þarf þá að endurspila breytingu sína ofan á nýju head-færsluna og senda hana inn aftur. Þessi hönnun tryggir að samhliða gervigreindarfulltrúar skrifi ekki hljóðlaust yfir vinnu hver annars, án þess að hægja verulega á ferlinu. Í verkflæðum okkar í raunkeyrslu er innan við 2% innsendinga hafnað sem úreltum. Í heild er miðgildi biðtíma innsendinga undir 1,7 sekúndum og p99-biðtími undir 8 sekúndum.

Tveir gervigreindarfulltrúar senda inn samtímis; innsending annars er samþykkt en hinn fær svar um úreltan grunn, endurspilar breytinguna ofan á nýju head-færsluna og sendir inn aftur.

Git-þjónustan skráir líka hverja samþykkta breytingu. Fyrir hverja samþykkta skrift bætir hún línu við úthólf, atburðaskrá sem tilgreinir hirsluna, nýju færsluna, notandann sem gerði breytinguna og skráarslóðirnar sem breyttust. Eftirvinnsluþjónustur á borð við þáttarann lesa þessa atburðaskrá til að finna ný verk.

Saman mynda þessir þættir umsjónarlag fyrir hirslur, án þeirra hluta sem gervigreindarfulltrúar þurfa ekki á að halda. Ekki er þörf á pull request, því enginn maður yfirfer hverja breytingu. Þess í stað kannar Git-þjónustan samninginn við innsendingu, gervigreindarfulltrúinn sem tapar kapphlaupinu beitir breytingu sinni aftur og færslusagan skráir hver breytti hverju. Löggengar athuganir halda hverri hirslu innan ramma samningsins, í stað þess að treysta á að mannlegur rekstraraðili haldi vextinum í skefjum.

Geymsla: Varanleg varðveisla vinnunnar

Geymslulagið vistar gögn hirslna með varanlegum hætti, óháð sandkössunum og tilvikum Git-þjónustunnar. Hirslurnar eru geymdar í AWS S3Files, sem gerir geymslu sem byggir á S3 aðgengilega í gegnum skráakerfisviðmót sem hefðbundið Git getur notað án breytinga. Hver hirsla er ber (bare) Git-hirsla á sameiginlega skráakerfinu og inniheldur hluti og tilvísanir hirslunnar frekar en vinnueintak.

Með því að aðskilja geymslu og reikniafl geta sandkassar verið skammlífir. Hver gervigreindarfulltrúi fær sinn eigin sandkassa og margir gervigreindarfulltrúar geta unnið að sama verkefni án þess að deila vél. Ef sandkassi hrynur er aðeins sú vinna í hættu sem hefur ekki verið send inn.

Við gætum í staðinn látið hvert verkefni fá langlífan sandkassa sem allir gervigreindarfulltrúar þess deila, svo skrár verkefnisins væru geymdar á diski þeirrar vélar. Þetta myndi hins vegar binda reikniafl gervigreindarfulltrúanna við staðinn þar sem vélin keyrir og krefjast þess að hún væri nógu öflug fyrir mestu álagstímana. Hún þyrfti líka að haldast í góðu ástandi mánuðum saman, og afritun og endurheimt yrðu að vera hluti af geymslukerfi verkefnisins.

Einn langlífur sandkassi sem gervigreindarfulltrúar verkefnis deila, borinn saman við skammlífa sandkassa fyrir hvern gervigreindarfulltrúa sem tengjast varanlegri sameiginlegri geymslu í gegnum tilvik Git-þjónustunnar án stöðu.

Eftirvinnsla: Skjöl gerð læsileg fyrir gervigreindarfulltrúa

Helsti eftirvinnsluþátturinn er þáttunarleiðsla sem dregur texta og lýsigögn úr nýjum eða uppfærðum skjölum svo gervigreindarfulltrúar eigi auðvelt með að lesa verkefnaskrárnar. Þáttunarvinnsla tekur við uppfærslum úr biðröð breytingastraumsins, leiðir út breyttu skrárnar út frá lýsigögnum færslunnar og sækir hrá bætin með tætigildi innihaldsins. Síðan þáttar hún skjalið til að framleiða útdreginn texta og lýsigögn skjalsins.

Þáttaðar niðurstöður eru geymdar utan hirslunnar, í gagnageymslu þar sem tætigildi upprunaskjalsins er lykillinn. Þessar afurðir eru aldrei færðar aftur inn í hirsluna, þar sem það myndi menga söguna að óþörfu og fjölga samhliða skriftum. Þess í stað berast þáttuðu niðurstöðurnar í sandkassa þegar vinnueintak er sótt og samstillt. Hvert vinnueintak inniheldur frátekna möppu sem CLI-tólið notar til að raungera afurðirnar. Þáttun fer fram ósamstillt, svo þáttunarvinnsla í bakgrunni tefur ekki fyrir vinnueintökum.

Hvernig gervigreindarfulltrúar nota vinnusvæðið

Gervigreindarfulltrúar kanna þá útgáfu hirslunnar sem hlaðið er inn í sandkassann með hefðbundnum skráakerfistólum. Í stað þess að fylgja föstu ferli þar sem fyrst er leitað og síðan lesið birta þeir lista yfir möppur, leita í innihaldi skráa með grep, lesa viðeigandi kafla og nota það sem þeir finna til að ákveða hvar skuli leita næst.

Líkt og Computer notar Search sömu nálgun í gegnum hefðbundin skráatól sín. Sérstakur gervigreindarfulltrúi sem sér um könnun leitar í verkefninu innan þrengri ramma og skilar viðeigandi skráarslóðum og stuðningsbrotum. Svarlíkanið les síðan valdar skrár og býr til svarið. Endurnýting fyrirliggjandi verkefnasandkassa styttir uppsetningartíma: það tekur um 2,9 sekúndur að tengjast heitu vinnueintaki, samanborið við um það bil 8 sekúndur við kalda ræsingu.

Sandkassar Computer, undirfulltrúi Ask sem sér um könnun, þekkingarskrifendur í bakgrunni og þáttunarvinnslur lesa öll úr og skrifa í sömu hirsluna og sama úthólfið.

Þáttaður texti gerir stærri skjöl á borð við PDF-skjöl og Office-skrár leitarhæf með sömu verkfærum. Gervigreindarfulltrúinn skoðar fyrst yfirlit, lista sem sýnir hvaða skjöl hafa útdreginn texta tiltækan, og leitar síðan í þeim texta og les hann eins og venjulegar skrár. Hann sækir upprunalega skjalið aðeins þegar textinn dugar ekki, til dæmis til að skoða myndir, uppsetningu eða ívafin gögn.

Við bárum þessa nálgun saman við merkingarleit í leitarskrá með 150 fjármálaspurningum úr sama gagnasafni, sem hver um sig byggir á einu skjali. Gervigreindarfulltrúinn sem sér um könnun fékk 0,867 fyrir að finna rétta skjalið og 0,627 fyrir rétt svör, samanborið við um það bil 0,39 og 0,37 hjá merkingarleit. Það er um 1,7 sinnum betri árangur í svörum og tvöfalt betri í skjalaleit, með um 25% minni biðtíma. Hann vinnur að mestu með útdreginn texta og sækir sjaldan upprunalegu PDF-skjölin.

Könnun borin saman við merkingarleit í skrám á innra viðmiðunarprófinu.

Einir sameiginlegir innviðir

Varanlegt minni Computer notar sömu skráakerfisinnviði. Perplexity Brain, wiki-þekkingarsafn Computer, geymir minni í þekkingarhirslum sem hafa eigin sögu og reglur. Með því að halda þekkingu aðskilinni frá verkefnaskrám keppa minnisuppfærslur í bakgrunni ekki við breytingar á þeim skrám. Samtal sem þarf á hvoru tveggja að halda hleður inn báðar hirslurnar.

Gervigreindarfulltrúar í bakgrunni lesa fyrirliggjandi þekkingu, fella inn nýjar upplýsingar og vista uppfærðar síður sem færslur. Aðrir gervigreindarfulltrúar lesa þessar síður með venjulegum skráatólum og fólk getur líka breytt þeim. Skrifendur deila vinnu sinni í gegnum hirsluna í stað þess að samhæfa sig beint við hvern lesanda. Færslusagan skráir hver breytti hverju, á meðan úthólfið tilkynnir eftirvinnsluþjónustum um samþykktar uppfærslur. Fólk og gervigreindarfulltrúar geta byggt hvert á annars vinnu og skráð er hvernig þekkingin þróaðist.

Niðurstaða

Þegar fólk og gervigreindarfulltrúar deila verkefni gerir vinnusvæðið meira en að geyma skrár. Það veitir sameiginlegan stað til að sameina framlög og fylgjast með því sem breyttist. Git leggur nú þegar til stóran hluta þess grunns. Við bætum við samhæfingu og sjálfvirkum athugunum svo gervigreindarfulltrúar geti sent inn vinnu án þess að manneskja samþykki hverja uppfærslu. Útkoman er smiðja sem hefur verið skorin niður að kjarnanum, því samvinna milli gervigreindarfulltrúa og hugbúnaðarþróun með mörgum þátttakendum eru í grunninn sama vandamálið.

Gervigreindarfulltrúar vinna í sjálfstæðum, tímabundnum sandkössum en leggja sitt af mörkum til varanlegra hirslna. Takmörk á hirslum halda vexti viðráðanlegum, skýr niðurhöl gera gervigreindarfulltrúum kleift að velja hvað þeir sækja og venjulegar skrár leyfa þeim að kanna efnið með kunnuglegum verkfærum. Uppfærslur í bakgrunni, gagnvirkar breytingar og tímasett verk geta byggt hvert á annars vinnu án beinnar samhæfingar.

Eftir því sem fleiri gervigreindarfulltrúar vinna sjálfstætt innan verkefna þarf sameiginlegt vinnusvæði þeirra að haldast áreiðanlegt og skiljanlegt fólki. Markmiðið er einfalt: hver breyting á að endast lengur en gervigreindarfulltrúinn sem gerði hana, verða aðgengileg næsta samstarfsaðila og skilja eftir sig skýra skráningu á því sem breyttist.

Tilvitnun

BibTeX
@online{perplexity2026BuildingSharedWorkspacesForPeopleAndAgents,
  author = {{Perplexity} and Se Won Jang and Peter Hart and Kartik Kapur and Kevin Lau and Sidhant Rajadnya and Ishbir Singh and Thomas Wang and Jarrod Bryan and Claire Beamer and Jeremy Yang},
  title = {{Building shared workspaces for people and agents}},
  date = {2026-10-12},
  url = {https://www.perplexity.ai/hub/blog/building-shared-workspaces-for-people-and-agents}
}