- Tankekjedepromptering forbedrer LLM-resonnement ved å gjøre mellomtrinn eksplisitte i stedet for å tvinge frem engangssvar.
- Varianter som nullskudd, få skudd, Auto-CoT, selvkonsistens og tanketreet kompromitterer nøyaktighet, kostnader og implementeringsinnsats.
- CoT er spesielt kraftig i agentiske, verktøybrukende systemer der transparent resonnement øker pålitelighet og feilsøkingsmuligheter.
- Produksjonsbruk av CoT krever observerbarhet, evaluering og iterativ promptoptimalisering for å balansere kvalitet mot latens og tokenkostnad.
Tankekjedefremkalling (CoT) har gått fra å være en forskningskuriositet til å være et av de mest praktiske verktøyene utviklere har for å få store språkmodeller til å virkelig resonnere, i stedet for bare å gjette det mest sannsynlige neste ordet. Ved eksplisitt å be modellen om å stave an mellomtrinnene, låser du opp mye bedre ytelse på matematikk-, logikk- og beslutningsoppgaver, samtidig som du får et transparent spor du kan feilsøke og revidere.
Hvis du bygger LLM-drevne applikasjoner, agenter eller copiloter, og du fortsatt bare avfyrer enkelttrinnsmeldinger, legger du igjen mye kvalitet på bordet. I denne utviklerfokuserte veiledningen skal vi gå gjennom hva Chain of Thought er, hvorfor det fungerer, de viktigste variantene (null-skudd, få-skudd, Auto-CoT, selvkonsistens, Tree-of-Thoughts, minst-til-mest, multimodal), hvordan det sammenlignes med prompt chaining, og hvordan man integrerer og overvåker det i virkelige systemer ved hjelp av moderne verktøy.
Fra direkte svar til eksplisitt resonnement
De fleste spørsmål folk sender til en LLM er "enkeltstående": du stiller et spørsmål, modellen spytter ut et svar, ingen spørsmål stilles, ingen resonnement vises. For noe som «Hvilken farge har himmelen?» er det greit: modellen returnerer bare «Himmelen er blå.» Det er ingen synlig struktur, ingen mellomliggende logikk, bare en siste setning som høres riktig ut.
Tankekjede-promptering snur dette mønsteret ved å fortelle modellen at den faktisk skal fortelle resonnementstrinnene den følger. Spør «Hvorfor ser himmelen blå ut? Tenk steg for steg.», og modellen kan pakke ut konseptet «blått», snakke om hvordan sollys samhandler med atmosfæren, nevne Rayleigh-spredning, og først deretter si at kortere blå bølgelengder er spredt i alle retninger, slik at himmelen ser blå ut for oss.
Teknisk sett endrer du ikke modellens vekter eller gir den ny kunnskap; du endrer formatet på beregningen du ber den om å utføre. I stedet for å komprimere parsing, resonnement, beregning og svar til én enkelt fremoverpassering, lar du den strømme en sekvens av mellomliggende tanker som bygger mot en konklusjon.
I praksis kan dette være så enkelt som å legge til en instruksjon som «vis resonnementet ditt trinn for trinn» eller «la oss løse dette systematisk» på slutten av oppgaven. Det lille tillegget oppmuntrer modellen til å avsløre kjeden av mellomtilstander som fører til det endelige resultatet, i stedet for å hoppe rett til et svar som bare høres plausibelt ut.
CoT gjør også observerbarhet dramatisk enklere. Når modellen er feil, kan du ofte finne det nøyaktige trinnet der logikken gikk av sporet, i stedet for å stirre på et mystisk feil tall eller en feil beslutning uten forklaring.
Gapet mellom mønstergjenkjenning og reell resonnering
LLM-er er utrolig gode på mønstermatching fordi de i hovedsak er gigantiske sannsynlighetsmaskiner trent på svimlende mengder tekst. Spør: «Hva er tyngst, et pund fjær eller et pund bly?», og en moderne modell har sett det lurespørsmålsmønsteret hundrevis eller tusenvis av ganger; den svarer selvsikkert at de veier det samme.
Men når du stiller et spørsmål som krever flere sammenkoblede operasjoner, kan ytelsen forringes raskt. Klassisk eksempel: «Hvis det tar 5 maskiner 5 minutter å lage 5 widgets, hvor lang tid vil det ta for 100 maskiner å lage 100 widgets?» Mange modeller vil hallusinere det intuitive, men gale svaret med mindre de blir nøye veiledet.
Kjerneproblemet er vanligvis ikke manglende kunnskap, men manglende struktur. Flertrinnsresonnement krever implisitt at modellen sjonglerer flere operasjoner i rekkefølge: forstå teksten, identifisere hva som blir spurt om, tilordne til relevante relasjoner eller formler, utføre beregninger og komponere et svar. Hvis du krever et umiddelbart svar, ber du den effektivt om å komprimere hele prosessen til ett skudd.
Tankekjede-promptering gir modellen «rom til å tenke» ved å gjøre den implisitte sekvensen om til eksplisitt tekst. Forskning fra Google og andre har vist at når du ber modeller om å «vise arbeidet sitt», øker nøyaktigheten i aritmetikk, sunn fornuft-resonnement og symbolsk manipulasjon betraktelig sammenlignet med direkte svar.
Et spesielt slående eksperiment: da forskere stilte matematikkspørsmål på grunnskolenivå i GPT-3, fikk under 20 % av dem riktig med enkle spørsmål. Da de ganske enkelt endret prompten til å be om mellomliggende resonnement, skjøt nøyaktigheten over 50 %, og ved å legge til selvkonsistens på toppen, presset de det til midten av 70-tallet. Samme vekter, samme modell – bare en smartere måte å stille spørsmålet på.
Kjernetyper av tankekjedefremkalling
Utviklere har utviklet en håndfull CoT-varianter for å balansere nøyaktighet, kostnad og implementeringskompleksitet. Du vil se varianter som null-shot CoT, få-shot CoT, automatisk CoT (Auto-CoT), selvkonsistens, tanketre og minst-til-mest-prompter, som hver passer til litt forskjellige scenarier.
Nullskudds tankekjede
Zero-shot CoT er det letteste alternativet: du gir ikke eksempler, du bare legger til en resonneringsinstruksjon. Fraser som «La oss tenke steg for steg», «Løs dette nøye, ett steg om gangen» eller «Forklar resonnementet ditt før du svarer» er kjente triggere som aktiverer modellens lærte resonneringsatferd.
Empirisk sett kan denne enkle justeringen ha stor innvirkning. Tidlig arbeid viste at nøyaktigheten økte fra rundt 10 % til over 40 % på aritmetiske referansepunkter bare ved å legge til en trinnvis instruksjon. Man får en stor forbedring i resonneringskvaliteten uten å bygge eller vedlikeholde et eksempelbibliotek.
Zero-shot CoT er utmerket når du ønsker en rask seier i generelle resonneringsoppgaver og bryr deg om latens og kostnader. Ledetekstene holder seg korte, så du betaler for færre tokens og mindre kontekstbygging, samtidig som du får betydelig tolkningsevne og nøyaktighet.
Ulempen er at modellen må finne opp sin egen resonnementsstil, som kan være ordrik, inkonsekvent på tvers av domener, eller av og til ulogisk selv når det endelige svaret ser greit ut. For spesialiserte domener – finans, medisin, jus, sikkerhetskritiske beslutninger – er dette vanligvis ikke nok.
Få-skudds tankekjede
Få-shot CoT har en mer opinionsbasert tilnærming: du viser modelleksemplene på spørsmål og svar-par der svarene inkluderer eksplisitte resonnementstrinn. Etter et par slike demonstrasjoner legger du til det egentlige spørsmålet ditt og lar modellen imitere mønsteret.
Denne tilnærmingen er ekstremt effektiv når strukturen i gyldig resonnement virkelig betyr noe. For et verktøy for økonomisk analyse kan du inkludere eksempler som går gjennom kontantstrømberegninger, diskonteringsrenter og risikojusteringer. For en medisinsk triage-robot ville du legge inn kliniske beslutningstrær: symptomer, historie, røde flagg, differensialer og deretter anbefalinger.
Avveiningen er at CoT med få skudd krever seriøs, rask ingeniørinnsats. Du må designe rene, mangfoldige eksempler, sørge for at logikken deres er korrekt og representativ, og holde dem oppdatert etter hvert som produkt- eller domenebegrensningene dine utvikler seg. Lengre ledetekster betyr også flere tokens, høyere kostnader og mer ventetid per kall.
Likevel, når domenet er sensitivt eller komplekst, yter få-shot CoT vanligvis bedre enn null-shot, og er ofte grunnlinjen du ønsker i produksjon. Du får mer kontroll over stilen og dybden i resonnementet, og du kan styre modellen bort fra skjøre eller irrelevante tankemønstre.
Automatisk tankekjede (Auto-CoT)
Å lage gode CoT-eksempler for hånd skalerer ikke bra, så forskere foreslo Automatic Chain of Thought (Auto-CoT) for å avlaste mesteparten av dette arbeidet tilbake på modellen. Tanken er å automatisk generere forskjellige resonnementskjeder som du kan gjenbruke som demonstrasjoner.
Auto-CoT utfolder seg vanligvis i to faser:
- Spørsmålsklynging: Du tar et datasett med problemer, legger dem inn (for eksempel ved hjelp av en setningstransformator) og grupperer dem slik at lignende spørsmål ender opp sammen.
- Demonstrasjonsprøvetaking: Fra hver klynge velger du et representativt spørsmål og ber LLM-en om å generere en resonneringskjede med null-shot CoT, vanligvis ved å bruke noen enkle heuristikker som «korte spørsmål med ~5 resonneringstrinn».
Resultatet er et bibliotek med automatisk genererte, rimelig varierte CoT-eksempler uten manuell redigering. Når en ny spørring kommer inn, kan du hente eller prøve relevante demonstrasjoner fra dette biblioteket og legge dem inn i ledeteksten som få CoT-eksempler.
Selv om noen automatisk genererte kjeder vil inneholde små feil, har mangfold og gjenfinning en tendens til å dempe virkningen av et enkelt feilaktig eksempel. I praksis slår Auto-CoT ofte både rå nullskudds- og naiv fåskudds-CoT på resonneringsbenchmarks, samtidig som den sparer mye menneskelig tid.
Selvkonsistens over flere resonneringsveier
Selvkonsistens er en avansert utvidelse som bytter databehandling mot pålitelighet. I stedet for å spørre modellen om én resonnementskjede og svar, sampler du flere uavhengige kjeder (ved å dytte temperatur- eller samplingsparametere), og aggregerer deretter de endelige svarene gjennom flertallsstemming.
Intuisjonen er at det finnes mange gyldige resonnementsveier som fører til det samme riktige svaret, men feilaktige veier divergerer ofte. For eksempel kan «15 − 3 + 8» beregnes som «12 + 8», eller «15 + 8 = 23, og deretter trekke fra 3», eller «evaluer fra venstre mot høyre». Alle gir 20, men en brutt kjede kan ende opp på 21. Hvis du kjører flere prøver, har det en tendens til at det feile svaret blir nedstemt.
På benchmarks som GSM8K har det å legge til selvkonsistens på CoT gitt tosifrede prosentvise forbedringer i nøyaktighet. Den åpenbare haken er at du nå foretar flere LLM-kall per brukerforespørsel, noe som multipliserer både latens og tokenforbruk med antall eksempler.
Det gjør selvkonsistens best egnet for arbeidsmengder med høy innsats: økonomiske beregninger, juridisk resonnement, klinisk beslutningsstøtte og sikkerhetskontroller. For en uformell chatbot blir den ekstra databehandlingen sjelden en suksess, men for en forretningskritisk agent kan den økte påliteligheten være verdt hvert millisekund.
Tanketreet: forgrening i stedet for lineær resonnering
Tanketreet (ToT) utvider tankekjeden fra en enkelt kjede til et forgrenende søketre over mulige tanker. I stedet for å følge én resonneringsvei fra start til slutt, utforsker systemet flere alternativer i hvert trinn, beskjærer svake grener og fortsetter nedover de sterkeste.
Dette er nærmere hvordan du ville taklet kombinatoriske eller strategiske problemer i ditt eget hode. Du idémyldrer noen mulige trekk, utforsker dem delvis, forkaster de som ser blindvei ut, og fortsetter å utvide lovende retninger til du kommer til en solid løsning.
Når det gjelder implementering, koordinerer ToT vanligvis mange LLM-anrop. På hver dybde i treet foreslår modellen de neste trinnene; en kontroller evaluerer delvise tilstander, kanskje ved hjelp av en annen LLM eller heuristisk poengsum, og velger hvilke grener som skal utvides. Forskningsdemonstrasjoner har brukt ToT til å takle puslespill, planleggingsoppgaver og kreativ idéutvikling med betydelig bedre resultater enn vanlig CoT.
Avveiningen er kostnaden: du kan trenge dusinvis av samtaler for ett enkelt problem. Derfor er ToT best reservert for nisjer der grundig utforskning er viktigere enn hastighet – kompleks design, spillbaserte agenter eller idémyldring der dybde og mangfold er målene.
Minst til mest oppfordring
Minst-til-mest-prompting er en annen avansert strategi som deler opp et komplisert problem i enklere delproblemer som håndteres i rekkefølge. Først ber du modellen om å identifisere den minimale deloppgaven den kan løse; deretter mater du løsningen tilbake og ber om den nest mest komplekse komponenten; og så videre til hele problemet er løst.
Dette mønsteret fungerer spesielt godt for komposisjonsresonnement. Tenk nestede datastrukturspørringer, flertrinnsalgebra eller kodegenerering for komplekse funksjoner der hver del avhenger av tidligere utdata. Ved å tvinge frem en ren dekomponering reduserer du den kognitive belastningen på modellen i hvert trinn og gjør det overordnede resonnementsporet enklere å inspisere.
Tankekjede i agent- og verktøybrukende systemer
CoT blir enda mer verdifull når du begynner å bygge agenter som tar grep, kaller verktøy og planlegger over flere trinn. I stedet for å svare på et enkelt spørsmål og stoppe, går disse systemene gjennom sykluser av tenkning, handling og observasjon, og oppdaterer planene sine med hver nye informasjon.
Se for deg en supportmedarbeider som håndterer: «Jeg bestilte en rød genser forrige tirsdag, men fikk en blå. Kan jeg returnere den?» En rimelig atferdsprosess kan være: forstå problemet, finn bestillingen, sjekk returpolicyen, sjekk returvinduet, avgjør om produktet er kvalifisert og til slutt igangsett returen.
Med en enkel oppfordring kan agenten hoppe til «Jada, her er en etikett» eller «Nei, det kan vi ikke gjøre» basert på et raskt mønstersamsvar, og hoppe over viktige kontroller. Med Chain of Thought oppfordrer du den til å fortelle noe sånt som: «Jeg skal først slå opp bestillingen din fra forrige tirsdag, deretter bekrefte varen og fargeavviket, deretter sjekke om du er innenfor 30-dagersvinduet, og deretter utløse returprosessen hvis den er kvalifisert.»
Dette er nært ReAct-mønsteret (Reason + Act): agenten veksler mellom intern resonnement («Jeg må spørre ordre-API-et») og eksterne handlinger (å foreta API-kall), og integrerer deretter observasjoner i neste resonnementstrinn. Hver eneste «tanke» blir en del av sporet du kan logge, feilsøke og analysere.
For agentsystemer er CoT ikke bare noe som er kjekt å ha; det er ofte den viktigste mekanismen for pålitelighet, åpenhet og sikkerhet. Når noe går i stykker – feil verktøy, feil parameter, feil tolkning – kan du faktisk se hvor agenten gikk på avveie og fikse ledeteksten, verktøyene eller policyen i stedet for å gjette i blinde.
Prompt chaining vs. Chain of Thought
Både prompt chaining og Chain of Thought hjelper med komplekse oppgaver, men de opererer på forskjellige nivåer. Med prompt chaining deler du en stor arbeidsflyt på tvers av flere separate prompter, og overfører resultatet fra den ene til den neste. Med CoT integrerer du hele resonneringsprosessen i en enkelt prompt-respons-utveksling.
Eksempel på promptkjede: analysere en bok i tre trinn – første spørsmål om et handlingssammendrag, andre spørsmål om temaanalyse ved bruk av sammendraget, tredje spørsmål om en avsluttende anmeldelse ved bruk av begge. Hvert trinn er et separat LLM-anrop med sin egen instruksjon.
Eksempel på tankekjede for en lignende oppgave: I løpet av én prompt sier du: «Oppsummer først handlingen, identifiser deretter hovedtemaene, og konkluder deretter med et kort kritisk perspektiv. Tenk gjennom hvert trinn trinn for trinn.» Modellen genererer deretter sin egen mini-pipeline av tanker og det endelige svaret i ett skudd.
I praksis kombinerer ofte virkelige systemer begge deler: bruker CoT innenfor hvert kjedede trinn for å forbedre resonnementet, og kjeder flere CoT-forsterkede ledetekster for å orkestrere lange arbeidsflyter. Hovedforskjellen er at promptkjedebygging strukturerer makroarbeidsflyten på tvers av flere samtaler, mens Chain of Thought strukturerer mikroresonnementet i hvert samtale.
Multimodal tankekjede
Etter hvert som multimodale modeller modnes, er Chain of Thought ikke lenger begrenset til ren tekst. Multimodal CoT lar et system resonnere i fellesskap over tekst, bilder og potensielt andre inndata som lyd eller tabeller, samtidig som det forteller de interne trinnene.
Ta et bilde av en overfylt strand og still spørsmålet «Ser dette stedet populært ut blant turister akkurat nå?» En multimodal CoT-modell kan eksplisitt notere antall paraplyer, tettheten av mennesker, den travle parkeringsplassen og signaler fra tidspunktet på dagen eller skygger, og deretter argumentere for at alle disse visuelle signalene peker på høy nåværende popularitet.
Ved å gjøre den visuelle resonneringen eksplisitt, får du ikke bare bedre nøyaktighet, men også langt mer tolkbare beslutninger. Brukere kan se hvilke elementer i bildet modellen fokuserte på, og du kan oppdage feiltilstander som overindeksering av irrelevante detaljer.
Optimalisering av tankekjeden i stor skala
Når du går fra noen få demonstrasjoner til ekte trafikk, treffer den rotete virkeligheten: CoT-effektiviteten avhenger i stor grad av oppgaven, modelloppdateringer og migreringsveiledning, formuleringen og de spesifikke eksemplene du gir den. Velskrevet resonnement kan fortsatt føre til feil svar, og ordrike tankekjeder kan brenne gjennom tokens uten å tilføre mye verdi.
For å få CoT til å fungere i produksjon, trenger du en tilbakemeldingssløyfe som sporer flere dimensjoner samtidig:
- Endelig nøyaktighet: Samsvarer modellens svar med forventet sannhet på bakken eller menneskelig vurdering?
- Resonnementskvalitet: Er mellomtrinn gyldige, logisk konsistente og i samsvar med domenebegrensninger?
- Konsistens: Gir lignende spørringer lignende resonnement og svar på tvers av kjøringer og over tid?
- Token-effektivitet: Hvor mange tokens bruker du per spørring, og får du nok kvalitet tilbake?
Manuell stikkprøvekontroll av en håndfull eksempler holder ikke når du har dusinvis av promptvarianter og hundrevis av testtilfeller. Du trenger infrastruktur som kan versjonere ledetekster, kjøre strukturerte evalueringer og visualisere resonnementsspor i stor skala.
Spesialbygde observasjonsverktøy for LLM-er hjelper her ved å fange opp fullstendige spor – prompt, modell, CoT-resonnement, verktøykall, endelig utdata – for hver forespørsel. Plattformer som Opik lar deg for eksempel logge og inspisere CoT-kjeder i detalj, sammenligne ulike promptversjoner og til og med bruke LLM-som-dommer-oppsett for å automatisk score både endelige svar og resonnementskvalitet.
Med disse dataene for hånden kan du gradvis forbedre CoT-oppsettene dine: justere formuleringer, bytte ut nullskudd med få skudd, finjustere eller regenerere eksempler med Auto-CoT, eller bare introdusere selvkonsistens der det beveger nålen. Noen rammeverk integreres til og med med optimaliseringsbiblioteker som DSPy eller evolusjonært søk for iterativt å utvikle bedre ledetekster basert på evalueringsmålinger.
Husk at Chain of Thought nesten alltid koster mer enn direkte svar: resonnerende tekst alene kan øke tokenbruken med 2–4 ganger, selvkonsistens multipliserer det med antall prøver, og Tree-of-Thoughts kan være en størrelsesorden dyrere igjen. Derfor ønsker du tydelig overvåking, slik at du vet nøyaktig hvor det ekstra budsjettet lønner seg.
For mange team er den pragmatiske strategien lagdelt: standard bruk av lett nullpunkts- eller kort CoT med få punkter, eskaler til selvkonsistens eller ToT bare for spørringer markert som høy verdi, høy tvetydighet eller høy risiko. Observerbarhet og evaluering er det som gjør denne typen dynamisk strategi gjennomførbar.
Når du eksperimenterer med CoT i dine egne applikasjoner – enten det er gjennom raske nullpunktskommandoer, nøye kuraterte eksempler med få punkter, automatiserte Auto-CoT-biblioteker eller selvkonsistens med flere eksempler – er nøkkelen å behandle modellens resonnement som en førsteklasses produktoverflate. Gjør det eksplisitt, loggfør det, poengser det og iterer på det, så vil du låse opp langt mer pålitelig, tolkbar og kraftig atferd fra de samme underliggende modellene enn du noen gang kunne med enkle engangssvar.

