SÅ FUNKAR DET

En gemensam december.

Vi använder Advent of Codes uppgifter som en mötesplats för problemlösning, agentbygge och generös kunskapsdelning.

Två spår, samma nyfikenhet

Eget hantverk: du löser uppgiften och skriver själv kod, tester och dagens Dockerfile. Välj det språk du vill öva på. Generativ AI används inte för att producera lösningen i det här spåret.

Automatiserad agent: du bygger ett system som hämtar dagens uppgift och personliga indata, löser och testar den, lämnar svaret till AoC och publicerar lösningen. Val av modeller, verktyg och hur mycket du behövde hjälpa till hör till det du delar.

Du kan publicera lösningar i båda spåren. AoC registrerar däremot bara ett godkännande per konto och del. Våra spår beskriver arbetssättet; de är inte två oberoende AoC-resultat.

Ett repo som går att förstå

Agentens återanvändbara kod ligger i agent/. Dagslösningar ligger under exempelvis days/01/manual/ och days/01/agent/. I varje dagslösning finns src/, tests/, en Dockerfile och ett litet manifest.

Körmiljön tar in data via stdin och väljer del med --part 1 eller --part 2. Dokumentera hur din lösning byggs och körs. Egen gemensam kod ligger i shared/ och ingår i redovisningen av lösningens omfattning.

Skriv en README som visar installation, körkommandon och tester från en ny klon. För agenten delar du också instruktioner, modellval och hur flödet kan ändras. Berätta vad du lärde dig och var någon annan kan börja bygga vidare. Från topplistan kan andra klicka direkt till ditt publika GitHub-repo.

Skapa ditt repo från vår GitHub-mall och följ checklistan. Använd ett separat repo för varje år; ange rätt år i advent.json. Mallen börjar med övningsåret 2025.

Börja öva med 2025

Förra årets uppgifter finns redan på Advent of Code 2025. Använd dem för att prova Docker, utveckla agenten och dela lärdomar i din egen takt. Välj övningssäsongen i checklistan.

2025 har en egen topplista och egna kodversioner. Resultaten blandas inte med premiären 2026. Även övningslösningar ska godkännas av AoC för rätt år innan de blir möjliga att analysera. Första pushen ger en engångskod för att bekräfta ditt AoC-konto. Du behöver inte logga in på vår sajt.

AoC-godkännandet öppnar för analys

Vår tjänst synkar gruppens privata AoC-topplista. Först när rätt dag och del har godkänts kan en registrerad kodversion analyseras. GitHub Actions anger den exakta commit som pushades, så att resultatet går att knyta till just den versionen.

AoC verifierar svaret från kontot. Det innebär inte att AoC har granskat eller kört koden i ditt repo. Den skillnaden ska alltid synas i våra resultat.

Förbättringar får också plats

Du får fortsätta efter den första lösningen. En ny commit kan ge en ny analys, och den gamla versionen finns kvar att jämföra med. Ett återförsök med samma commit ska inte skapa en ny lösningsversion.

Om själva analysverktyget ändras sparar vi också vilken analysversion som användes. AoC-stjärnor räknas bara en gång och inlämningstid påverkar ingen av våra listor.

Så läser du topplistorna

Fyra listor visar olika sätt att utforska december. Ingen använder inlämningstid eller AoC:s tidsbaserade poäng. Lika resultat ger delad placering; namnen visas i bokstavsordning inom gruppen.

  • Stjärnor: antal godkända delar enligt AoC. Stjärnorna hör till kontot och är gemensamma för båda spåren.
  • Kodrader: jämför samma år, dag, del och spår. Vi räknar icke-tomma fysiska rader inklusive kommentarer i src/ och deklarerad egen kod i shared/. Färre rader hamnar högre. Senaste färdiganalyserade kodversionen används; en förbättring kan alltså ändra listan. Tester, Docker/infrastruktur och agentramverk visas separat. Kod för båda delarna i samma mapp räknas som en hel lösning, även om bara en del är vald.
  • Språk: antal olika identifierade språk i säsongens analyserade lösningar, inklusive tidigare versioner. Identifieringen bygger på filändelser i icke-tomma src/-filer. Tester, ramverk och språk som bara nämns i README räknas inte. Ett okänt filformat kan saknas; filändelsen bevisar inte att koden har körts.
  • AI-modeller: antal unika par av leverantör och modell-ID i analyserade agentlösningars run.json. Samma modell i flera dagar räknas en gång. Rapporten är självrapporterad och länkas från listan till exakt analyserad commit. Olika alias kan avse samma underliggande modell; detta är en utforskningslista, ingen verifierad modellbenchmark.

Agentverktyg och modeller är olika saker. Exempelvis kan samma verktyg byta modell mellan anrop. Låt agentens adapter skriva modell-ID från API-svaret till run.json, tillsammans med leverantör, verktyg och eventuell tokenstatistik. Om exakt modell-ID saknas lämnar du modellistan tom. Okända mätvärden är null.

GitHub bekräftar repot och kodversionen. Varken GitHub eller AoC bevisar vilken modell som användes. En framtida gemensam modellgateway kan styrka anrop som passerar den, men krävs inte för att vara med. Rapportera aldrig API-nycklar, uppgiftstext, indata eller råa konversationer.

Kodrader är underlag för samtal och jämförelser, inte ett mått på hur bra utvecklare någon är. Språk har olika uttryckskraft. Klicka vidare till koden och berätta vad du lärde dig.

En sajt som får växa över åren

2026 är vår första ordinarie säsong, med 2025 som övningssäsong. Nästa december lägger vi till en ny säsong i samma databas. Tidigare stjärnor, publicerade kodversioner och analyser stannar kvar under Historik.

Vad som händer efter en push

Workflowet registrerar ändrade dagslösningar, utan inputfiler. Vår server verifierar vilket publikt repo körningen kommer från. Första gången bekräftar du ditt AoC-ID med en engångskod i visningsnamnet. Godkännande från AoC öppnar sedan för statisk analys av just den commit som registrerats. Vår server kör aldrig deltagarnas program.

Synken hämtar AoC högst en gång per 15 minuter och kan behöva vänta längre om AoC ber om det. Resultatsidan läser lagrade data och gör inga egna anrop till AoC. Senare pushar skapar nya kodversioner. Återkörning med samma commit skapar inga dubbletter.

Exempel att lära av

Startrepot innehåller manuellt upplagda och agentproducerade undervisningsexempel för 2025 dag 1, med tester, Dockerfile och README. Exemplen är AI-assisterade och ligger utanför days/, så de räknas inte som deltagarnas egna lösningar. Läs originaluppgiften innan du öppnar exemplen om du vill undvika spoilers.