Samtalehistorikk
En lang samtale treffer en hard vegg: modellens kontekstvindu. Alt på denne siden finnes på grunn av den veggen, og det interessante er hva som blir kastet, hva som blir beholdt, og hva som kan hentes tilbake.
Fire måter å gjenvinne kontekst på
Seksjon med tittelen «Fire måter å gjenvinne kontekst på»De er ikke så mye alternativer som en stige, billigst først.
| Mekanisme | Kostnad | Beholder | Mister |
|---|---|---|---|
| Utelatelse | Ingenting | Hvert ord i narrativet | Hendelsesløse, eldre verktøyresultater |
| Fjerning av bilder | Ingenting | Teksten rundt dem | Gamle skjermbilder |
| Øyeblikksbilder | Ingenting | Hvert ord, som piksler | Lesbarhet for en modell uten bildeforståelse |
| Sammendrag | Ett modellkall | Et narrativ | Detaljene det ikke plukket med |
Utelatelse og fjerning av bilder kjører først fordi de er gratis og tapsfrie på den måten som betyr noe: de dropper ballast ingen kom til å lese på nytt.
Hvorfor oppsummering er siste utvei
Seksjon med tittelen «Hvorfor oppsummering er siste utvei»Et sammendrag er det eneste av de fire som bruker et modellkall, og det eneste som bestemmer for deg hva som betydde noe. Begge er reelle kostnader. Kallet er det mest interessante, på grunn av når det skjer.
Kompaktering kjører vanligvis i forkant av veggen, ved en terskel. Men den kjører også reaktivt, etter at leverandøren selv avviser en forespørsel som for stor – det heuristiske anslaget undervurderte det leverandøren faktisk målte. I den situasjonen må en oppsummerende kompaktering sende en forespørsel for å krympe konteksten, og forespørselen den lager, er den som nettopp gikk over grensen.
Øyeblikksbilder
Seksjon med tittelen «Øyeblikksbilder»Øyeblikksbildekompaktering gjengir forkastet historikk på tette sider med pikselglyfer og gir dem tilbake som bilder.
Premisset er en særegenhet ved faktureringen: en modell med bildeforståelse tar betalt for et bilde med en flat sats eller en sats proporsjonal med arealet, som ikke har noe med hvor mange tegn bildet inneholder å gjøre. Tolv tusen tegn med forkastet samtale koster like mye i teksttokens som tolv tusen tegn. De samme tegnene gjengitt på én side koster ett bilde.
Det som gjør den verdt å ha, og ikke bare smart, er at den trenger verken modellkall, nøkkel eller nettverk. Det er den eneste strategien som alltid er tilgjengelig under gjenoppretting etter overflyt.
Formen på rekonstruksjonen er ordrett start, avbildet midte, ordrett slutt. Starten er oppgaven og begrensningene som alt nedstrøms viser tilbake til; slutten er der arbeidet befinner seg nå. Midten er det som leses på nytt minst og koster mest.
Øyeblikksbilder gjengis på nytt fra beholdt kildetekst ved hver runde, aldri fra forrige rundes piksler. Å avbilde et bilde forringer glyfene med én generasjon per kompaktering, til ingenting kan lese dem.
Hva en kjøring faktisk gjenopptar fra
Seksjon med tittelen «Hva en kjøring faktisk gjenopptar fra»Historisk startet hver harness-kjøring fra en tom historikk og gjenoppbygde kontinuiteten fra en <context>-blokk i prompten – et sammendrag av samtalen i stedet for samtalen. Tre ting fulgte av det:
- Gjenopptakelse var en gjenfortelling. Modellen så aldri sin egen tidligere resonnering eller de faktiske bytene verktøyene returnerte, bare en beskrivelse av dem.
- Tilbakespoling døde med prosessen. Et
checkpointer en indeks inn i den aktive meldingslisten, så en omstart mistet hver etikett modellen hadde satt. - Forsøk på nytt kunne ikke skille «ingenting å prøve på nytt» fra «ingenting lastet inn». Etter en omstart er den mislykkede turen borte fra aktiv tilstand uansett.
Alle tre løses ved å lagre samtaleloggen varig. Den lagres ved hver turgrense og aldri midt i en tur: en historikk som fanges mellom et verktøykall og resultatet av det, er en ingen leverandør vil godta, så et krasj i det øyeblikket gjenoppretter turen før i stedet for en halv tur som ikke kan spilles av på nytt.
En gjenopptatt kjøring trimmes ned til de nyeste meldingene, og kuttes ved en grense som ikke er et foreldreløst verktøyresultat – et resultat der kallet er trimmet bort, er en forespørsel leverandører avviser blankt, og en samtalelogg som ikke kan sendes, er verre enn en kort en.
Samtaletreet
Seksjon med tittelen «Samtaletreet»Hver melding registrerer hvilken melding den fortsetter fra, og hver samtale navngir sin gjeldende grenspiss. Den ene beslutningen er hele funksjonen.
Forgrening skriver ingenting. Den flytter pekeren. Stien du forlot, ligger fortsatt der, så å bytte tilbake er nok en pekerflytting i stedet for en gjenoppretting – og å redigere en prompt for å kjøre den på nytt slutter å koste deg svaret du sammenlignet mot.
Uten den må enhver form for tilbakegang skjule eller slette meldinger, og å skjule er en løgn den neste leseren ikke kan gjennomskue.
Gren kontra forgrening
Seksjon med tittelen «Gren kontra forgrening»| Gren | Forgrening | |
|---|---|---|
| Hva som skjer | Pekeren flyttes | Stien kopieres |
| Hvor det havner | Samme samtale | En ny samtale |
| Kostnad | Ingenting | Én kopi av grenen |
En forgrening kopierer med ferske id-er i stedet for å dele rader. To samtaler som deler rader, ville vise hverandres senere meldinger, og det er det ene en forgrening ikke må gjøre.
Tilbakespoling følger samme peker
Seksjon med tittelen «Tilbakespoling følger samme peker»Paret checkpoint / rewind i en kjøring markerer en ren turgrense og går tilbake til den etter en utforskning, og beholder et resymé. Fordi sjekkpunkter lagres sammen med samtaleloggen, lander en etikett modellen satte før en omstart, fortsatt der den ble satt. Et sjekkpunkt hvis mål ikke overlevde en trimming, blir droppet, og ikke klemt til nærmeste gyldige punkt – å spole tilbake «til etiketten» og lande et annet sted er nettopp feilen en etikett finnes for å forhindre.
Relatert
Seksjon med tittelen «Relatert»- Forgren en samtale — trenavigatoren, forgrening og eksport
- Verktøykontekst og promptbuffer — den andre halvdelen av det som fyller et kontekstvindu
- Skråstrekkommandoer —
/compact,/shake,/context,/tree