Tilbake til bloggen

Hvordan en alltid påslått personlig agent holder langsiktig arbeid i gang

Se hvordan en alltid påslått personlig agent tar vare på oppgavens tilstand, venter på avhengigheter, fortsetter i riktig miljø og gir viktige beslutninger tilbake til deg.

Kom i gangLes dokumentasjonen

Mange viktige oppgaver mislykkes ikke mens noen jobber aktivt med dem. De mislykkes i mellomrommene.

En leverandør har ikke svart ennå. En rapport avhenger av tall som kommer i morgen. En nettleserøkt er åpen på én datamaskin, mens personen som kan godkjenne neste trinn, er i en annen tidssone. Når avhengigheten endelig er løst, er den opprinnelige samtalen begravd, og ingen husker nøyaktig hvor arbeidet stoppet.

En alltid påslått personlig agent bør være god nettopp i disse mellomrommene. Den trenger ikke tenke uavbrutt eller holde en datamaskin i gang for full kraft. Den må ta vare på ansvaret: hvilket resultat den har påtatt seg, hva som allerede er gjort, hva den venter på, hvor arbeidsmaterialet ligger, og hvilken hendelse eller beslutning som lar oppgaven fortsette.

Det er forskjellen på en lang chat og langsiktig arbeid. En lang chat lagrer meldinger. Langsiktig arbeid krever en varig driftstilstand.

Langsiktig arbeid trenger en varig oppgave, ikke en lengre chat

En samtale er nyttig for å slå fast en hensikt. Som enhet for ansvar er den dårlig.

Tenk deg at du ber en agent om å forberede en oppdatering til styret når økonomiavdelingen har lukket måneden. Den nyttige tilstanden er ikke bare den første forespørselen din. Den omfatter også utkastet som allerede er satt sammen, kildedokumentene som er sjekket, tallene som mangler, personen eller systemet som skal levere dem, fristen for møtet og standarden den endelige oppdateringen må oppfylle.

I Comma blir arbeid som krever mer enn et raskt svar, en oppgave. Ifølge Commas dokumentasjon om oppgaver kan en oppgave gå gjennom aktivt arbeid, vente i Til gjennomgang når det trengs en menneskelig beslutning, og nå Ferdig når arbeidet er fullført. Det viktige er ikke selve merkelappen. Det er at ansvaret overlever når chatten ikke lenger er åpen.

En varig oppgave bør alltid kunne svare på seks spørsmål:

SpørsmålTilstand som bør overleve
Hva prøver vi å oppnå?Resultatet, kravet til fullføring, fristen og begrensningene
Hva har skjedd?Fullførte trinn, viktige funn og relevante beslutninger
Hva finnes nå?Utkast, filer, lenker, utdata fra verktøy og annen dokumentasjon
Hvorfor fortsetter vi ikke?Avhengigheten, hindringen eller beslutningen som holder arbeidet tilbake
Hvor kan arbeidet fortsette?Appen, skymaskinen, den tilkoblede enheten eller den eksterne kjøretiden som har nødvendig kontekst
Hva setter det i gang igjen?Et tidspunkt, en hendelse, en godkjenning, en enhetstilstand eller en annen uttrykkelig betingelse

Uten disse svarene er «jeg fortsetter senere» optimisme. Med dem blir det en plan.

Å vente er en tilstand, ikke en feil

Det meste nyttige arbeidet inneholder legitim venting. Feilen er å behandle hver pause enten som en feil eller som en invitasjon til å fortsette å sjekke i det uendelige.

En agent bør finne ut hva slags venting den har gått inn i, og knytte en tydelig utgangsbetingelse til den:

Type ventingEksempelBetingelse for å fortsette
TidsbundetTallene for månedsavslutningen publiseres i morgenEt planlagt kontrollpunkt er nådd
HendelsesbundetEn kunde svarer med detaljene det ble bedt omDen relevante hendelsen kommer
MiljøbundetEn fil finnes bare på en Mac som er frakobletDen utpekte enheten blir tilgjengelig
BeslutningsbundetTo akseptable planer har ulike avveiningerBrukeren velger eller godkjenner én av dem

Disse skillene betyr noe fordi hver type venting krever ulik atferd. En tidsbundet oppgave kan sove til kontrollpunktet. En hendelsesbundet oppgave kan holde øye med en snevert definert endring. En miljøbundet oppgave bør si hvilken enhet eller hvilket verktøy som ikke er tilgjengelig, i stedet for i stillhet å prøve arbeidet et annet sted. En beslutningsbundet oppgave bør gi et godt formulert valg tilbake til den som eier det.

Pausen bør også ha en grense. Hvis det ventede svaret aldri kommer, trenger agenten en reserveplan: minne den ansvarlige personen på det, spørre brukeren om arbeidet skal fortsette på antakelser, eller lukke oppgaven som blokkert. Ellers kan et ansvar i bakgrunnen være teknisk åpent mens det i praksis er forlatt.

Det er også derfor alltid påslått ikke bør bety alltid avbrytende. Det separate spørsmålet om hvilke hendelser som rettferdiggjør å vekke agenten – og hvilke av dem som rettferdiggjør å avbryte brukeren – behandles i Når bør en alltid påslått personlig agent våkne?. Her er det relevante prinsippet smalere: Hver pause trenger en synlig grunn og en fastlagt vei tilbake til arbeidet.

Fortsett fra et kontrollpunkt, ikke fra en ny orientering

Når ventingen er over, bør ikke agenten rekonstruere oppdraget fra spredte meldinger eller be brukeren forklare det på nytt. Den bør fortsette fra et kontrollpunkt.

Et nyttig kontrollpunkt er en kompakt oversikt over arbeidssituasjonen:

  • det opprinnelige resultatet og det gjeldende kravet til fullføring;

  • den siste meningsfulle handlingen og resultatet av den;

  • artefaktene som allerede er laget eller endret;

  • antakelsene som fortsatt gjelder;

  • hindringen som førte til pausen;

  • den neste planlagte handlingen når hindringen er borte;

  • miljøet handlingen må foregå i.

Dette er arbeidstilstand, ikke personlig hukommelse. Hukommelse kan hjelpe en agent med å huske en persons preferanser på tvers av mange oppgaver. Et kontrollpunkt finnes for at ett bestemt ansvar skal kunne fortsette presist etter inaktivitet, en omstart eller en overlevering.

Skillet hindrer to vanlige feil. For det første bør ikke agenten dra med seg hver detalj fra en lang samtale inn i hvert framtidig trinn. For det andre bør den ikke komprimere oppgaven så hardt at en kritisk begrensning forsvinner. Kontrollpunktet er selektivt: Det tar vare på det neste handling avhenger av.

Systemet under Comma gjenspeiler dette mønsteret på mer enn ett nivå. Salix Loops kan lage kontrollpunkter av tilstanden sin, slik at en avgrenset bakgrunnsprosess kan fortsette etter en omstart. Den infrastrukturen er ingen erstatning for en veldefinert oppgave, men den viser den samme regelen for kontinuitet: Gjenoppretting bør begynne fra en kjent tilstand, ikke fra gjetning.

Hold arbeidet i miljøet det faktisk trenger

Langsiktig arbeid skjer sjelden i et abstrakt «AI-arbeidsområde». Det skjer i e-post, dokumenter, prosjektverktøy, nettlesere, lokale filer og spesialprogramvare. Kontinuitet omfatter derfor også hvor arbeidet befinner seg.

Comma kan jobbe i tilkoblede apper og filer, på en persons egen datamaskin eller på sin egen skymaskin. Salix-dokumentasjonen forklarer at lagringen på skymaskinen bevares mellom hver bruk, selv om den virtuelle maskinen kan sove når den er inaktiv. Filer og verktøy kan bli liggende der agenten forlot dem, og maskinen kan våkne igjen når oppgaven trenger den.

Noe arbeid må bli på en bestemt enhet. En lokal designfil, et skrivebordsprogram der noen er logget inn, eller et utviklingsmiljø finnes kanskje bare på en tilkoblet Mac eller Linux-datamaskin. Commas dokumentasjon om agentkjøretider er tydelig på denne grensen: Hvis den utpekte eksterne enheten er frakoblet, venter arbeidet eller mislykkes; Salix flytter det ikke i stillhet til en annen maskin.

Den begrensningen er en nyttig egenskap for tilliten. Automatisk flytting kan virke praktisk, men den kan endre tilgjengelige filer, tillatelser, påloggingsinformasjon og betingelser for kjøring. En pålitelig agent bør gjøre grensen synlig:

Neste trinn trenger Macen som heter «Studio». Den er frakoblet. Oppgaven venter der; ikke noe arbeid er flyttet til skymaskinen.

Nå vet brukeren både hvorfor framdriften stoppet, og hva som får den i gang igjen. Agenten kan prøve på nytt når enheten er tilbake, eller spørre om et annet miljø er akseptabelt. Den bør ikke late som om alle kjøretider kan byttes ut med hverandre.

Gi bare tilbake beslutningen som tilhører personen

Å overlate noe til et menneske er ikke et nederlag for autonomien. Det er slik en personlig agent tar vare på forskjellen mellom å gjøre arbeidet og å stå ansvarlig for konsekvensene.

Agenten bør fortsette rutinemessige trinn som kan angres og ligger innenfor oppdraget. Den bør gi tilbake kontrollen når den kommer til en vesentlig tvetydighet, en grense for tillatelser, en ekstern handling som ikke kan angres, eller et valg som avhenger av brukerens preferanser heller enn av tilgjengelig dokumentasjon.

Selve overleveringen bør være liten. En dårlig overlevering sier: «Jeg står fast – hva skal jeg gjøre?» En nyttig inneholder:

  1. Hva som har endret seg: den nye informasjonen eller betingelsen som satte en stopper for den forrige planen.

  2. Hva som allerede er ferdig: arbeidet agenten fullførte før den spurte.

  3. Hvilken beslutning som gjenstår: ett presist valg, ikke en forespørsel om å styre hele oppgaven på nytt.

  4. Hva alternativene endrer: den vesentlige konsekvensen av hver vei.

  5. Når valget betyr noe: en frist eller virkningen av å vente.

  6. Hva som skjer etterpå: handlingen agenten tar opp igjen etter svaret.

For eksempel: «Lokalet kan bare holde av datoen til torsdag. Jeg har sjekket avbestillingsvilkårene og forberedt bookingopplysningene. Godkjenner du nå, binder det depositumet; venter du, beholder vi fleksibiliteten, men kan miste tidspunktet. Skal jeg sende bookingen?»

Comma bruker Til gjennomgang for arbeid som trenger denne typen menneskelig beslutning. Oppgaven forblir intakt rundt spørsmålet, slik at et svar kan sette i gang neste handling i stedet for å starte en ny planleggingsrunde.

«Ferdig» krever dokumentasjon og en avslutning

En oppgave som går over lang tid, er ikke ferdig bare fordi agenten har sluttet å handle. Den kan ha fått tidsavbrudd, brukt opp en regel for nye forsøk, laget et utkast som fortsatt må gjennomgås, eller nådd grensen for tillatelsene sine.

Avslutningen bør si:

  • hvilket resultat det ble bedt om;

  • hvilket resultat som faktisk ble levert;

  • hvilke artefakter som ble laget eller endret;

  • hvilke kontroller som ble gjort;

  • eventuelle uløste begrensninger, antakelser eller oppfølginger;

  • om en ekstern handling ble utført eller bare forberedt.

Denne oversikten lar brukeren gå gjennom arbeidet uten å spille av hele historikken. Den hindrer også en farlig sammenblanding av «oppgaven kjører ikke lenger» og «resultatet er oppnådd».

Ferdig er en tilstand i arbeidsflyten, ikke et sannhetssertifikat. En agent kan bekrefte at en fil ble laget, at en kommando lyktes, eller at en melding ble sendt. Den kan ikke gjøre usikkert kildemateriale sikkert ved å endre en status. Påstander trenger fortsatt passende dokumentasjon, og arbeid med konsekvenser kan fortsatt fortjene en menneskelig gjennomgang.

En praktisk framgangsmåte for arbeid som strekker seg over flere dager

Du trenger ikke utforme et orkestreringssystem før du delegerer et ansvar som varer i flere dager. En god forespørsel kan slå fast det vesentlige i avtalen på noen få linjer.

Begynn med å nevne resultatet og hva «godt nok» betyr. Angi den faste fristen og eventuelle tidligere beslutningsvinduer. Si hvilke handlinger agenten kan gjøre uten å spørre, og hvilke som krever godkjenning. Pek på miljøet der kildematerialet og arbeidsfilene hører hjemme.

Gjør deretter ventingen uttrykkelig. Fortell agenten hvilken avhengighet som ventes, når den skal sjekke igjen, og hva den skal gjøre hvis den aldri kommer. Be den lagre et kontrollpunkt før hver pause og bare gi deg tilbake beslutninger som virkelig krever deg. Krev til slutt et avslutningsnotat med resultatet, kontrollene og usikkerheten som gjenstår.

En kompakt delegering kan se slik ut:

Forbered den endelige oppdateringen til styret når økonomi har publisert tallene for månedsavslutningen. Bruk det eksisterende utkastet og regnearket på skymaskinen. Du kan oppdatere utkastet og kontrollere summene, men spør før du sender noe ut. Hvis tallene ikke har kommet innen tirsdag kl. 12.00, si fra om hvilke deler som er blokkert, og foreslå den minst risikable reserveløsningen. Når du er ferdig, lever dokumentet, kildene du har sjekket, og antakelsene som fortsatt gjelder.

Verdien kommer ikke av å gjøre prompten omstendelig. Den kommer av å gi oppgaven tydelige tilstander å bevege seg gjennom: mottatt, pågår, venter, klar for gjennomgang, gjenopptatt og lukket.

Vanlige spørsmål

Hva er fortsatt aktivt mens en langvarig oppgave venter?

Oppgaven beholder resultatet, det fullførte arbeidet, den gjeldende avhengigheten, kontrollpunktet og betingelsen for å fortsette. Kjøremiljøet kan sove, og ingen modell trenger å resonnere kontinuerlig. Hvis en snevert avgrenset Loop holder øye med betingelsen som mangler, er den atskilt fra den varige tilstanden til oppgaven, som forteller agenten hva den skal gjøre når betingelsen er oppfylt.

Hva skjer hvis datamaskinen en oppgave trenger, er frakoblet?

Hvis oppgaven er tildelt en ekstern kjøretid på den enheten, venter arbeidet eller mislykkes til enheten er tilgjengelig. Salix flytter det ikke automatisk til en annen datamaskin. Oppgaven bør gjøre det blokkerte miljøet og betingelsen for gjenoppretting tydelige.

Er tilstanden til en oppgave det samme som hukommelsen til en agent?

Nei. Tilstanden til en oppgave beskriver ett ansvar: resultatet, framdriften, artefaktene, hindringen og neste handling. Personlig hukommelse kan gå på tvers av ansvar og kan inneholde varige preferanser. En langvarig oppgave bør kunne fortsette uten at hver arbeidsdetalj blir gjort om til permanent hukommelse.

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

Den bør registrere hva det ble bedt om, fra hvem, når et svar regnes som forsinket, og hvilken reserveplan som gjelder. Hvis en hendelse kan overvåkes, bør den holde øye med den hendelsen i stedet for å avbryte brukeren gang på gang. Ubegrenset venting uten regel for eskalering er ikke en fullstendig plan.

Hva hører hjemme i Til gjennomgang?

Bruk det for beslutninger eller tillatelser som virkelig tilhører brukeren: avveininger med konsekvenser, tvetydige hensikter, eksterne handlinger som ikke kan angres, følsomme forpliktelser eller ny fullmakt. Agenten bør legge ved arbeidet den har gjort, og be om den minste beslutningen som får arbeidet videre.

Betyr Ferdig at resultatet er riktig?

Ferdig betyr at oppgaven har nådd betingelsen for fullføring som den har oppgitt. Hvor mye man kan stole på resultatet, avhenger fortsatt av kvaliteten på kildene, kontrollene og gjennomgangen. Et nyttig avslutningsnotat skiller mellom bekreftede fakta, antakelser og uløste risikoer.

Kontinuitet er produktet

Den sterkeste grunnen til å bruke en alltid påslått personlig agent er ikke at den kan gjennomføre ett uavbrutt maraton av resonnering. Det er at den kan bære et ansvar gjennom de vanlige avbruddene i ekte arbeid: datamaskiner som sover, svar som blir forsinket, data som kommer etter planen, betingelser som endrer seg, og øyeblikk der et menneske må bestemme.

Den kontinuiteten er bygd av synlig tilstand. Oppgaven vet hva den skylder, ventingen har en grunn, miljøet har et navn, overleveringen er avgrenset, og fullføringen kommer med dokumentasjon. Når disse delene overlever mellomrommene, kan du forlate arbeidet uten å oppgi det – og komme tilbake uten å bygge det opp fra bunnen.

Try Comma, Now.

Kom i gang