Det finns en skarp gräns mellan modeller som beskriver och modeller som agerar, och den syns sällan i hur projekt läggs upp.
En prognosmodell som säger att efterfrågan blir 500 enheter påverkar inte efterfrågan. En modell som sätter bud, väljer vilka kunder som ringas, eller bestämmer vad som visas i en lista påverkar utfallet, och därmed vilken data som finns tillgänglig nästa gång den ska tränas.
Hur slingan ser ut
Systemet bedömer ett segment som svagt och slutar satsa där. Segmentet slutar generera observationer. Nästa träning har ännu mindre data därifrån, blir ännu mer osäker, och satsar ännu mindre.
Under tiden ser mätvärdena utmärkt ut. Allt som inte fungerade har försvunnit ur underlaget, och kvar finns bara det systemet redan valt. Det är den lömskaste egenskapen: återkopplingen ser ut som framgång.
Jag stötte på det i skarp drift under åren med annonsoptimering, där återkopplingen är snabb nog att den går att upptäcka. I ett CRM-system tar samma förlopp två år, och då är det svårt att veta vad som gick fel.
Spärrar som måste byggas in från början
Utforskningsbudget. En avsatt andel av besluten fattas medvetet på annat sätt än vad modellen föreslår, för att fortsätta få data om alternativen. Det kostar resultat på kort sikt och är det som gör att systemet fungerar om ett år. Det känns fel varje gång.
Permanent kontrollgrupp. En andel som aldrig får modellen alls. Det är den enda mätning som besvarar frågan gör systemet fortfarande nytta direkt. Historiska jämförelser slutar vara giltiga så fort systemet börjat påverka sin egen data. Se baslinjer.
Loggad valsannolikhet. Den enskilt viktigaste designdetaljen, och den som oftast glöms. Logga med vilken sannolikhet systemet valde varje åtgärd. Utan det går det aldrig i efterhand att skatta vad en annan strategi hade gett, eftersom den beräkningen kräver att man kan vikta om observationerna. Det måste bestämmas innan systemet startar. Se mätdesign.
Handlingsgränser. Tak per beslut, per dygn och totalt. Rimlighetsspärrar som hellre stoppar en körning än släpper igenom något orimligt. En avstängningsväg som fungerar utan att någon behöver läsa kod.
Granskningsbart spår. Vad systemet gjorde, när, och på vilket underlag. Både för felsökning och för att det blir ett krav i allt fler sammanhang.
Agenter skärper allt
När systemet dessutom kan anropa verktyg och utföra åtgärder tillkommer två saker.
Behörigheterna måste vara avgränsade per verktyg, inte generella. Ett system som kan läsa allt och skriva överallt har ingen meningsfull spärr.
Och åtgärder som inte går att ångra — skicka, publicera, betala, radera — bör kräva ett godkännande. Inte för att modellen nödvändigtvis har fel oftare än en människa, utan för att felen skalar annorlunda.
Det hör ihop med hur LLM-integration bör byggas: gränsen för vad systemet får göra är en systemdesignfråga, inte en promptfråga.
Att utvärdera i efterhand
Med loggade valsannolikheter går det att skatta hur en alternativ strategi hade presterat, utan att testa den skarpt. Metoderna bygger på att vikta observationerna med inversen av sannolikheten att de valdes.
Det är kraftfullt och begränsat. Strategier som skulle gjort helt andra val än de loggade går inte att utvärdera så. Det finns ingen data om dem. Där återstår ett riktigt experiment, samma slutsats som i kausalitet.