Jag automatiserade arbetet med Shopify

IMG_3686 - stor

I fredags la jag om hela sättet vi arbetar med en av våra mindre Shopify-butiker. När dagen var slut hade jag inte ändrat en enda produkt, text eller bild i själva butiken, men jag hade förändrat nästan allt runt hur framtida förändringar ska göras.

Tidigare gjordes utvecklingsarbetet direkt i Shopify. Jag loggade in i admin, öppnade temaredigeraren, letade upp rätt fil eller inställning och gjorde ändringen där. För mindre justeringar fungerar det ganska bra och det är förmodligen också därför många mindre e-handlare fortsätter arbeta på det sättet.

Problemet är att arbetssättet blir skörare än det först ser ut. Ändringen görs i ett tema som ligger på Shopify, ofta utan en tydlig dokumentation av varför den gjordes och vad som faktiskt ändrades. Ska man återvända till butiken några månader senare behöver man först försöka minnas hur man tänkte förra gången, vilka filer man rörde och om någon annan förändring är beroende av det man nu tänker ändra.

Så länge samma person gör allt och kommer ihåg allt fungerar det. Men det är ungefär samma sak som att säga att ett system fungerar så länge ingenting går fel och ingen annan behöver förstå det.

Från Shopifys temaredigerare till ett riktigt projekt

Det första jag gjorde var att hämta hem hela temat med Shopify CLI och lägga det i en lokal, versionshanterad kopia. Shopify CLI är Shopifys verktyg för att arbeta med en butik via kommandoraden i stället för att göra allting inne i admin.

Det innebär att varje förändring nu går att se och jämföra med den tidigare versionen. Jag kan se vilka filer som har ändrats, exakt vilka rader som skiljer sig och gå tillbaka om något blev fel. Ändringarna kan dessutom testas i en separat förhandsvisning innan något skickas till den publicerade butiken.

Det är egentligen inget märkvärdigt för den som arbetar med mjukvaruutveckling. Versionshantering och separata utvecklingsmiljöer har funnits länge. Skillnaden är att det här är en mindre e-handel där utvecklingsarbetet tidigare sköttes av mig själv direkt i Shopify, precis som det förmodligen görs i väldigt många andra mindre butiker.

Jag satte också upp tydliga spärrar för hur det publicerade temat får hanteras. Agenten får arbeta i projektet, ändra filer och starta en förhandsvisning, men den får inte själv bestämma att något ska publiceras. När en förändring är klar kan vi dessutom skicka upp just de filer som har ändrats i stället för att skriva över hela temat.

Det minskar inte bara risken för att något går fel. Det gör också att jag vågar testa fler saker eftersom jag vet vad som har förändrats och hur jag tar mig tillbaka.

Claude Code fick lära sig butiken

Ovanpå detta satte jag upp en agent i Claude Code. Det är en AI som inte bara svarar på frågor om kod, utan som kan läsa hela projektet, arbeta i filerna och använda verktygen som behövs för att testa det den har gjort.

Första uppgiften var inte att ändra något. I stället fick agenten kartlägga projektet och förstå hur butiken är uppbyggd. Den gick igenom temat, produktstrukturen, vilka integrationer som används, vilket tema som är publicerat och vilka regler som gäller när den arbetar med butiken.

Den informationen sparades som en del av projektets minne. Nästa gång jag öppnar det behöver jag alltså inte börja med att förklara vilken butik det är, hur den ser ut eller vad som måste skyddas. Agenten läser in den sparade informationen och fortsätter där vi slutade.

Det här är en del av AI-agenter som jag tror är lätt att underskatta. Om jag använder en vanlig AI-chatt för att lösa en uppgift behöver jag ofta börja med att förklara hela sammanhanget. Vilket system vi använder, hur vi arbetar, vad vi redan har provat och vad AI:n absolut inte får göra. När uppgiften är klar försvinner mycket av den kunskapen och nästa gång börjar jag om.

Här gör agenten i stället arbetet en gång och kommer ihåg resultatet. Den fungerar mer som en person som redan arbetar med projektet än som en ny konsult som måste få samma introduktion vid varje möte.

Jag beskriver vad jag vill få gjort

Den största skillnaden för mig är inte att koden nu ligger lokalt eller att den är versionshanterad. Den största skillnaden är hur jag själv arbetar med butiken.

Jag behöver inte längre öppna temaredigeraren, leta efter rätt sektion och försöka komma ihåg hur Shopify har valt att dela upp just den delen av temat. Jag behöver inte heller skriva kommandona själv. Jag kan beskriva vad jag vill få gjort på ungefär samma sätt som jag hade beskrivit det för en medarbetare.

Det kan vara att jag vill flytta viss information högre upp på en produktsida, ändra hur en del visas i mobilen eller undersöka varför något inte fungerar som jag förväntar mig. Agenten får då läsa projektet, hitta vilka filer som berörs och föreslå eller genomföra förändringen i utvecklingsversionen.

Är instruktionen otydlig ska den fråga. Är förändringen känslig ska den stanna innan den gör något som inte enkelt kan ångras. När arbetet är klart får jag se resultatet i förhandsvisningen och avgöra om det ska publiceras.

Jag lämnar alltså ifrån mig arbetet, men inte beslutet.

Det är en viktig skillnad, för agenten kan fortfarande göra fel. Den kan missförstå vad jag menar, välja en tekniskt fungerande lösning som inte passar butiken eller ändra något som får konsekvenser på en annan plats. Versionshanteringen, förhandsvisningen och spärren mot det publicerade temat finns därför inte vid sidan av AI-agenten. De är det som gör att jag över huvud taget vill låta den arbeta självständigt.

Det intressanta är vad jag slipper göra

När man pratar om AI och e-handel hamnar diskussionen ofta i vad AI kan producera. Produkttexter, bilder, annonser, kundtjänstsvar och analyser. Det här handlar inte om att producera mer innehåll, utan om att ta bort stora delar av arbetet mellan en idé och en färdig förändring.

Tidigare kunde en ganska liten justering innebära att jag först behövde logga in i Shopify, förstå hur den aktuella delen var byggd, leta upp rätt kod och sedan försöka kontrollera att jag inte hade påverkat något annat. Om jag inte hade arbetat i butiken på länge behövde jag dessutom lägga tid på att återbekanta mig med projektet.

Nu kan jag börja med själva problemet. Agenten har redan kunskapen om projektet, kan undersöka lösningen och visa mig resultatet. Jag behöver fortfarande förstå vad jag vill åstadkomma, men jag behöver inte själv utföra varje tekniskt steg för att komma dit.

För en e-handel tror jag att det kan få större betydelse än det först verkar. En butik förbättras sällan genom en enda stor förändring. Det handlar oftare om många mindre saker som upptäcks över tid. Information som ligger på fel plats, en mobilvy som kan bli tydligare eller en funktion som skapar onödig friktion för kunden.

Problemet är att små förbättringar lätt blir liggande när arbetet runt dem är större än själva förändringen. Om vägen från att upptäcka problemet till att kunna testa en lösning blir kortare kommer också fler av de små förbättringarna faktiskt att bli gjorda.

Ingenting i butiken förändrades i fredags

Det är kanske det märkligaste med hela arbetet. Efter en dag med Shopify CLI, versionshantering, säkerhetsspärrar och en agent som hade kartlagt hela projektet såg butiken exakt likadan ut som den gjorde på morgonen.

Ingen kund kunde se att något hade hänt, för ingenting hade publicerats.

Det hade varit enkelt att avsluta dagen med att låta agenten ändra något bara för att kunna visa ett synligt resultat. Men det var inte poängen. Poängen var att bygga ett arbetssätt där alla framtida förändringar kan göras snabbare, säkrare och utan att all kunskap behöver finnas i mitt huvud.

Det betyder inte att butiken nu sköter sig själv. Agenten vet inte vilka affärsmässiga prioriteringar jag vill göra och den kan inte avgöra vilka förändringar som är viktigast för kunderna. Den utför arbetet utifrån den riktning och de gränser jag ger den.

Men nästa gång något behöver göras börjar jag inte med att logga in i Shopify och försöka hitta rätt ställe. Jag beskriver vad jag vill förändra, låter agenten göra arbetet och granskar resultatet innan något publiceras.

Vi automatiserade alltså inte webbutiken i fredags. Vi automatiserade stora delar av arbetet med den.

Facebook
Twitter
LinkedIn
Email
Print