Tilbage til bloggen

Hvordan en altid tændt personlig agent holder langsigtet arbejde i gang

Se, hvordan en altid tændt personlig agent bevarer opgavens tilstand, venter på afhængigheder, genoptager arbejdet i det rigtige miljø og giver de vigtige beslutninger tilbage til dig.

Kom i gangLæs dokumentationen

Mange vigtige opgaver går ikke galt, mens nogen arbejder aktivt på dem. De går galt i hullerne.

En leverandør har ikke svaret endnu. En rapport afhænger af tal, der kommer i morgen. En browsersession er åben på én computer, mens den person, der kan godkende næste trin, sidder i en anden tidszone. Når afhængigheden endelig er løst, er den oprindelige samtale begravet, og ingen husker præcis, hvor arbejdet stoppede.

En altid tændt personlig agent bør være god til netop de huller. Den behøver ikke tænke uafbrudt eller holde en computer kørende for fuld kraft. Den skal bevare ansvaret: hvilket resultat den har påtaget sig, hvad der allerede er gjort, hvad den venter på, hvor arbejdsmaterialet ligger, og hvilken hændelse eller beslutning der lader opgaven fortsætte.

Det er forskellen på en lang chat og langsigtet arbejde. En lang chat gemmer beskeder. Langsigtet arbejde kræver en varig driftstilstand.

Langsigtet arbejde kræver en varig Task, ikke en længere chat

En samtale er nyttig til at fastlægge en hensigt. Som enhed for ansvar er den dårlig.

Forestil dig, at du beder en agent om at forberede en opdatering til bestyrelsen, når økonomiafdelingen har lukket måneden. Den nyttige tilstand er ikke kun din første forespørgsel. Den omfatter også det udkast, der allerede er samlet, de kildedokumenter, der er tjekket, de tal, der mangler, den person eller det system, der forventes at levere dem, fristen for mødet og den standard, den endelige opdatering skal leve op til.

I Comma bliver arbejde, der kræver mere end et hurtigt svar, til en Task. Ifølge Commas dokumentation om Tasks kan en Task gå gennem aktivt arbejde, vente i Needs Review, når der er brug for en menneskelig beslutning, og nå Done, når arbejdet er færdigt. Det vigtige er ikke selve etiketten. Det er, at ansvaret overlever, når chatten ikke længere er åben.

En varig Task bør altid kunne svare på seks spørgsmål:

SpørgsmålTilstand, der bør overleve
Hvad prøver vi at opnå?Resultatet, kravet til færdiggørelse, fristen og begrænsningerne
Hvad er der sket?Afsluttede trin, væsentlige fund og relevante beslutninger
Hvad findes der nu?Udkast, filer, links, output fra værktøjer og anden dokumentation
Hvorfor fortsætter vi ikke?Den afhængighed, forhindring eller beslutning, der holder arbejdet tilbage
Hvor kan arbejdet fortsætte?Den app, cloud-computer, forbundne enhed eller eksterne runtime, der har den nødvendige kontekst
Hvad genoptager det?Et tidspunkt, en hændelse, en godkendelse, en enheds tilstand eller en anden udtrykkelig betingelse

Uden de svar er »jeg fortsætter senere« optimisme. Med dem bliver det til en plan.

At vente er en tilstand, ikke en fejl

Det meste nyttige arbejde rummer legitim ventetid. Fejlen er at behandle hver pause enten som en fejl eller som en invitation til at blive ved med at tjekke i det uendelige.

En agent bør afgøre, hvilken slags venten den er gået ind i, og knytte en klar betingelse for at komme videre til den:

Type af ventenEksempelBetingelse for at genoptage
TidsbundenTallene for månedsafslutningen udkommer i morgenEt planlagt kontrolpunkt nås
HændelsesbundenEn kunde svarer med de ønskede detaljerDen relevante hændelse kommer
MiljøbundenEn fil findes kun på en Mac, der er offlineDen udpegede enhed bliver tilgængelig
BeslutningsbundenTo acceptable planer har forskellige afvejningerBrugeren vælger eller godkender én af dem

De forskelle betyder noget, fordi hver slags venten kræver en anden adfærd. En tidsbunden opgave kan sove til sit kontrolpunkt. En hændelsesbunden opgave kan holde øje med en snævert defineret ændring. En miljøbunden opgave bør sige, hvilken enhed eller hvilket værktøj der ikke er tilgængeligt, i stedet for i stilhed at prøve arbejdet et andet sted. En beslutningsbunden opgave bør give et velformuleret valg tilbage til den, der ejer det.

Pausen bør også have en grænse. Hvis det forventede svar aldrig kommer, har agenten brug for en reserveplan: minde den ansvarlige person om det, spørge brugeren, om der skal fortsættes på antagelser, eller lukke Tasken som blokeret. Ellers kan et ansvar i baggrunden forblive teknisk åbent, mens det i praksis er opgivet.

Det er også derfor, altid tændt ikke bør betyde altid afbrydende. Det separate spørgsmål om, hvilke hændelser der berettiger at vække agenten – og hvilke af dem der berettiger at afbryde brugeren – behandles i Hvornår bør en altid tændt personlig agent vågne?. Her er det relevante princip snævrere: Hver pause har brug for en synlig grund og en fastlagt vej tilbage til arbejdet.

Genoptag fra et kontrolpunkt, ikke fra en ny briefing

Når ventetiden er slut, bør agenten ikke stykke opgaven sammen fra spredte beskeder eller bede brugeren om at forklare den igen. Den bør genoptage fra et kontrolpunkt.

Et nyttigt kontrolpunkt er en kompakt optegnelse af arbejdssituationen:

  • det oprindelige resultat og det nuværende krav til færdiggørelse;

  • den seneste meningsfulde handling og dens resultat;

  • de artefakter, der allerede er oprettet eller ændret;

  • de antagelser, der stadig gælder;

  • den forhindring, der udløste pausen;

  • den næste planlagte handling, når forhindringen er væk;

  • det miljø, handlingen skal foregå i.

Det er arbejdstilstand, ikke personlig hukommelse. Hukommelse kan hjælpe en agent med at huske en persons præferencer på tværs af mange opgaver. Et kontrolpunkt findes, så ét bestemt ansvar kan fortsætte præcist efter inaktivitet, en genstart eller en overlevering.

Skellet forhindrer to almindelige fejl. For det første bør agenten ikke slæbe hver detalje fra en lang samtale med ind i hvert fremtidigt trin. For det andet bør den ikke komprimere opgaven så hårdt, at en afgørende begrænsning forsvinder. Kontrolpunktet er selektivt: Det bevarer det, den næste handling afhænger af.

Systemet under Comma afspejler dette mønster på mere end ét niveau. Salix Loops kan lave kontrolpunkter af deres tilstand, så en afgrænset baggrundsproces kan genoptages efter en genstart. Den infrastruktur er ikke en erstatning for en veldefineret Task, men den viser den samme regel for kontinuitet: Genopretning bør begynde fra en kendt tilstand, ikke fra gætværk.

Hold arbejdet i det miljø, det faktisk har brug for

Langsigtet arbejde foregår sjældent i et abstrakt »AI-arbejdsområde«. Det foregår i e-mail, dokumenter, projektværktøjer, browsere, lokale filer og specialsoftware. Kontinuitet omfatter derfor også, hvor arbejdet befinder sig.

Comma kan arbejde i forbundne apps og filer, på en persons egen computer eller på sin egen cloud-computer. Salix-dokumentationen forklarer, at cloud-computerens lager bevares mellem brug, selv om den virtuelle maskine kan sove, når den er inaktiv. Filer og værktøjer kan blive, hvor agenten efterlod dem, og computeren kan vågne igen, når Tasken har brug for den.

Noget arbejde skal blive på en bestemt enhed. En lokal designfil, et desktopprogram, man er logget ind i, eller et udviklingsmiljø findes måske kun på en tilknyttet Mac eller Linux-computer. Commas dokumentation om agent-runtimes er klar om grænsen: Hvis den udpegede eksterne enhed er offline, venter arbejdet eller fejler; Salix flytter det ikke i stilhed til en anden maskine.

Den begrænsning er en nyttig egenskab for tilliden. Automatisk flytning kan virke bekvemt, men den kan ændre de tilgængelige filer, tilladelser, legitimationsoplysninger og betingelser for kørslen. En pålidelig agent bør gøre grænsen synlig:

Næste trin kræver den Mac, der hedder »Studio«. Den er offline. Tasken venter dér; intet arbejde er flyttet til cloud-computeren.

Nu ved brugeren både, hvorfor fremdriften stoppede, og hvad der får den i gang igen. Agenten kan prøve igen, når enheden er tilbage, eller spørge, om et andet miljø er acceptabelt. Den bør ikke lade, som om alle runtimes kan bytte plads.

Giv kun den beslutning tilbage, der tilhører personen

At overlade noget til et menneske er ikke et svigt fra autonomiens side. Det er sådan, en personlig agent bevarer forskellen på at udføre arbejdet og at stå til ansvar for konsekvenserne.

Agenten bør fortsætte rutinemæssige trin, der kan fortrydes og ligger inden for opgaven. Den bør give kontrollen tilbage, når den når en væsentlig tvetydighed, en grænse for tilladelser, en ekstern handling, der ikke kan fortrydes, eller et valg, der afhænger af brugerens præferencer frem for de tilgængelige beviser.

Selve overleveringen bør være lille. En dårlig overlevering siger: »Jeg sidder fast – hvad skal jeg gøre?« En nyttig indeholder:

  1. Hvad der har ændret sig: den nye information eller betingelse, der satte en stopper for den tidligere plan.

  2. Hvad der allerede er færdigt: det arbejde, agenten fik gjort, før den spurgte.

  3. Hvilken beslutning der står tilbage: ét præcist valg, ikke en anmodning om at styre hele Tasken forfra.

  4. Hvad mulighederne ændrer: den væsentlige konsekvens af hver vej.

  5. Hvornår valget betyder noget: en frist eller virkningen af at vente.

  6. Hvad der sker bagefter: den handling, agenten genoptager efter svaret.

For eksempel: »Stedet kan kun holde datoen til torsdag. Jeg har tjekket afbestillingsbetingelserne og forberedt bookingoplysningerne. Godkender du nu, binder det depositummet; venter du, bevares fleksibiliteten, men tidspunktet kan gå tabt. Skal jeg sende bookingen?«

Comma bruger Needs Review til arbejde, der kræver den slags menneskelig beslutning. Tasken forbliver intakt omkring spørgsmålet, så et svar kan sætte den næste handling i gang i stedet for at starte en ny planlægningsrunde.

»Done« kræver dokumentation og en afslutning

En Task, der kører længe, er ikke færdig, bare fordi agenten er holdt op med at handle. Den kan have fået timeout, opbrugt en politik for nye forsøg, lavet et udkast, der stadig skal gennemgås, eller nået grænsen for sine tilladelser.

Afslutningen bør angive:

  • det resultat, der blev bedt om;

  • det resultat, der faktisk blev leveret;

  • de artefakter, der blev oprettet eller ændret;

  • de kontroller, der blev udført;

  • eventuelle uafklarede begrænsninger, antagelser eller opfølgninger;

  • om en ekstern handling blev udført eller kun forberedt.

Den optegnelse lader brugeren gennemgå arbejdet uden at genafspille hele forløbet. Den forhindrer også en farlig sammenblanding af »Tasken kører ikke længere« og »resultatet er nået«.

Done er en workflowtilstand, ikke et sandhedscertifikat. En agent kan bekræfte, at en fil blev oprettet, at en kommando lykkedes, eller at en besked blev sendt. Den kan ikke gøre usikkert kildemateriale sikkert ved at ændre en status. Påstande har stadig brug for passende dokumentation, og arbejde med konsekvenser kan stadig fortjene en menneskelig gennemgang.

En praktisk fremgangsmåde for arbejde, der strækker sig over flere dage

Du behøver ikke designe et orkestreringssystem, før du uddelegerer et ansvar, der varer flere dage. En god forespørgsel kan fastlægge den væsentlige aftale på få linjer.

Begynd med at nævne resultatet, og hvad »godt nok« betyder. Angiv den faste frist og eventuelle tidligere beslutningsvinduer. Sig, hvilke handlinger agenten må udføre uden at spørge, og hvilke der kræver godkendelse. Peg på det miljø, hvor kildematerialet og arbejdsfilerne hører hjemme.

Gør derefter ventetiden udtrykkelig. Fortæl agenten, hvilken afhængighed der forventes, hvornår den skal tjekke igen, og hvad den skal gøre, hvis den aldrig kommer. Bed den om at gemme et kontrolpunkt før hver pause og kun give dig de beslutninger tilbage, der virkelig kræver dig. Kræv til sidst en afslutningsnote med resultatet, kontrollerne og den usikkerhed, der er tilbage.

En kompakt uddelegering kunne se sådan ud:

Forbered den endelige opdatering til bestyrelsen, når økonomi har offentliggjort tallene for månedsafslutningen. Brug det eksisterende udkast og regnearket på cloud-computeren. Du må opdatere udkastet og validere totalerne, men spørg, før du sender noget ud af huset. Hvis tallene ikke er kommet tirsdag kl. 12, så fortæl mig, hvilke afsnit der er blokeret, og foreslå den mindst risikable reserveløsning. Når du er færdig, så aflevér dokumentet, de kilder, du har tjekket, og de antagelser, der stadig står tilbage.

Værdien kommer ikke af at gøre prompten omstændelig. Den kommer af at give Tasken klare tilstande at bevæge sig igennem: modtaget, i gang, venter, klar til gennemgang, genoptaget og lukket.

Ofte stillede spørgsmål

Hvad er stadig aktivt, mens en langvarig Task venter?

Tasken beholder resultatet, det udførte arbejde, den nuværende afhængighed, kontrolpunktet og betingelsen for at genoptage. Kørselsmiljøet kan sove, og ingen model behøver at ræsonnere uafbrudt. Hvis et snævert afgrænset Loop holder øje med den manglende betingelse, er det adskilt fra den varige Task-tilstand, der fortæller agenten, hvad den skal gøre, når betingelsen er opfyldt.

Hvad sker der, hvis den computer, en Task har brug for, er offline?

Hvis Tasken er tildelt en ekstern runtime på den enhed, venter arbejdet eller fejler, indtil enheden er tilgængelig. Salix flytter det ikke automatisk til en anden computer. Tasken bør gøre det blokerede miljø og betingelsen for genopretning tydelige.

Er Task-tilstand det samme som en agents hukommelse?

Nej. Task-tilstand beskriver ét ansvar: dets resultat, fremdrift, artefakter, forhindring og næste handling. Personlig hukommelse kan gå på tværs af ansvar og kan indeholde varige præferencer. En langvarig Task bør kunne genoptages uden at gøre hver arbejdsdetalje til permanent hukommelse.

Hvordan bør en agent vente på en anden person?

Den bør registrere, hvad der blev bedt om, hos hvem, hvornår et svar er forsinket, og hvilken reserveplan der gælder. Hvis en hændelse kan overvåges, bør den holde øje med den hændelse i stedet for gentagne gange at afbryde brugeren. En ubegrænset ventetid uden regel for eskalering er ikke en færdig plan.

Hvad hører hjemme i Needs Review?

Brug det til beslutninger eller tilladelser, der virkelig tilhører brugeren: afvejninger med konsekvenser, tvetydige hensigter, eksterne handlinger, der ikke kan fortrydes, følsomme forpligtelser eller ny bemyndigelse. Agenten bør vedlægge det udførte arbejde og bede om den mindste beslutning, der får arbejdet videre.

Betyder Done, at resultatet er korrekt?

Done betyder, at Tasken har nået sin erklærede betingelse for færdiggørelse. Hvor meget man kan stole på resultatet, afhænger stadig af kvaliteten af kilderne, kontrollerne og gennemgangen. En nyttig afslutningsnote adskiller verificerede fakta, antagelser og uløste risici.

Kontinuitet er produktet

Den stærkeste grund til at bruge en altid tændt personlig agent er ikke, at den kan gennemføre ét uafbrudt maraton af ræsonnement. Det er, at den kan bære et ansvar gennem de almindelige afbrydelser i virkeligt arbejde: computere, der sover, svar, der bliver forsinket, data, der kommer efter planen, betingelser, der ændrer sig, og øjeblikke, hvor et menneske skal beslutte.

Den kontinuitet er bygget af synlig tilstand. Tasken ved, hvad den skylder, ventetiden har en grund, miljøet har et navn, overleveringen er afgrænset, og færdiggørelsen kommer med dokumentation. Når de dele overlever hullerne, kan du forlade arbejdet uden at opgive det – og vende tilbage uden at skulle bygge det op forfra.

Try Comma, Now.

Kom i gang