AI-guider och tutorials
Bygg din första AI-kodagent med Learn Claude Code – steg för steg
Lär dig installera Learn Claude Code, starta den första agentloopen och förstå hur en AI-agent använder terminalverktyg.
En språkmodell kan föreslå ett terminalkommando, men den kör normalt inte kommandot själv. En AI-kodagent lägger därför ett programlager runt modellen som kan ta emot verktygsanrop, utföra dem och skicka resultatet tillbaka till modellen.
Det öppna GitHub-projektet Learn Claude Code visar hur detta agentlager, ofta kallat ett agent harness, kan byggas från grunden. Projektet är pedagogiskt och är inte Anthropic eller Claude Codes officiella källkod. Den nuvarande huvudlinjen består av 20 stegvisa kapitel, från en enkel agentloop till bland annat behörigheter, minne, subagenter, bakgrundsuppgifter, MCP och agentteam.
Slutresultat
Efter guiden kan du klona projektet, installera beroendena, konfigurera en modell, starta den första agenten och förstå varför agentloopen fortsätter tills modellen inte längre behöver använda ett verktyg.
Det här behöver du
- En dator med macOS, Linux eller Windows.
- Git installerat.
- Python och
pipinstallerat. - En API-nyckel till en modell/provider som stöds av projektets konfiguration.
- Grundläggande vana vid Terminal eller PowerShell.
Kontrollera installationen innan du börjar.
macOS eller Linux
Kör detta kommando i Terminalen:
python3 --version
git --version
Windows
Kör detta kommando i PowerShell:
py --version
git --version
Det ska fungera så här: båda kommandona ska skriva ut ett versionsnummer. Om ett kommando inte hittas behöver motsvarande program installeras innan du går vidare.
Viktigt innan du kör agenten
Den första lektionen ger modellen tillgång till ett Bash-verktyg. Det betyder att modellen kan be programmet köra kommandon på datorn.
Kör därför endast guiden i en separat testmapp eller i en ny klon av projektet. Använd inte ett viktigt produktionsprojekt och börja med ofarliga, läsande uppgifter. Projektets demonstrationskod har ett enkelt filter för vissa farliga kommandon, men det är inte en fullständig sandbox eller ett komplett produktionsskydd.
Steg 1: Klona projektet
Öppna Terminal eller PowerShell och välj en plats där testprojektet får ligga.
macOS eller Linux
Kör detta kommando i Terminalen:
git clone https://github.com/shareAI-lab/learn-claude-code.git
cd learn-claude-code
Windows PowerShell
Kör detta kommando i PowerShell:
git clone https://github.com/shareAI-lab/learn-claude-code.git
cd learn-claude-code
Vad kommandona gör: git clone laddar ner en lokal kopia av projektet. cd flyttar terminalen till projektmappen.
Kontrollera resultatet: kör detta kommando i Terminalen:
ls
På Windows PowerShell kan du använda:
Get-ChildItem
Du ska bland annat se mappar med namn som börjar på s01_, s02_ och fortsätter upp till s20_.
Steg 2: Skapa en isolerad Python-miljö
En virtuell miljö hindrar projektets Python-paket från att blandas med andra projekt på datorn.
macOS eller Linux
Kör detta kommando i Terminalen:
python3 -m venv .venv
source .venv/bin/activate
Windows PowerShell
Kör detta kommando i PowerShell:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
Kontrollera resultatet: terminalraden ska normalt börja med (.venv).
Om PowerShell blockerar aktiveringsskriptet kan du tillfälligt tillåta det i det aktuella terminalfönstret:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\.venv\Scripts\Activate.ps1
Steg 3: Installera projektets beroenden
Kör kommandot från projektets rotmapp, där filen requirements.txt ligger.
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
På vissa macOS- och Linux-installationer behöver du använda python3 i stället för python.
Vad installeras: projektets requirements-fil innehåller bland annat Anthropic SDK, python-dotenv för miljövariabler och PyYAML för YAML-konfiguration.
Kontrollera resultatet: kör detta kommando i Terminalen:
python -c "import anthropic, dotenv, yaml; print('Beroenden OK')"
Du ska se:
Beroenden OK
Steg 4: Skapa konfigurationsfilen
Projektet levereras med en exempelfil som ska kopieras till .env.
macOS eller Linux
Kör detta kommando i Terminalen:
cp .env.example .env
Windows PowerShell
Kör detta kommando i PowerShell:
Copy-Item .env.example .env
Öppna sedan .env i din kodeditor.
Lägg den här koden i filen .env:
ANTHROPIC_API_KEY=DIN_API_NYCKEL
MODEL_ID=MODELLENS_ID
Ersätt platshållarna med riktiga värden från din provider. Lägg aldrig in citationstecken runt nyckeln om inte providerns dokumentation uttryckligen kräver det.
Projektets exempelfil innehåller även stöd för Anthropic-kompatibla endpoints genom variabeln ANTHROPIC_BASE_URL.
Om du använder en kompatibel provider kan .env se ut så här:
ANTHROPIC_API_KEY=DIN_API_NYCKEL
ANTHROPIC_BASE_URL=https://DIN-PROVIDER.example/anthropic
MODEL_ID=MODELLENS_ID
Viktigt: lägg aldrig upp .env på GitHub och publicera aldrig en riktig API-nyckel i en artikel, skärmbild eller logg.
Kontrollera att filen finns:
macOS eller Linux
Kör detta kommando i Terminalen:
ls -la .env
Windows PowerShell
Kör detta kommando i PowerShell:
Get-Item .env
Steg 5: Starta den första agentloopen
Kör den första lektionen från projektets rotmapp:
python s01_agent_loop/code.py
På vissa system används:
python3 s01_agent_loop/code.py
Du ska få en interaktiv prompt som liknar:
s01: Agent Loop
s01 >>
Agenten väntar nu på en uppgift.
Steg 6: Börja med ett säkert test
Skriv följande instruktion i agentens prompt:
List the files in the current directory. Do not create, edit, move or delete anything.
Vad som ska hända: modellen bör begära att få använda Bash, programmet kör ett läsande kommando och resultatet skickas tillbaka till modellen. Modellen kan därefter sammanfatta filerna.
Avsluta agenten genom att skriva detta i agentens prompt:
q
Steg 7: Testa en uppgift i flera delar
Starta agenten igen och skriv den här uppgiften i agentens prompt:
Create a file named hello.py that prints "Hello from my first AI agent". Then run the file and verify the output. Do not modify any other file.
Kontrollera filen efteråt genom att köra detta i Terminalen:
cat hello.py
python hello.py
På Windows PowerShell kontrollerar du filen med detta kommando:
Get-Content hello.py
py hello.py
Förväntat resultat:
Hello from my first AI agent
Det viktiga är inte själva Python-filen. Det viktiga är att agenten kan utföra en kedja:
1. Skapa filen. 2. Köra filen. 3. Läsa terminalresultatet. 4. Avgöra om uppgiften är klar.
Så fungerar agentloopen
Lägg inte denna pseudokod i projektet. Den visar bara principen bakom loopen:
while True:
reply = call_model(history, available_tools)
history.append(reply)
if not reply.requests_a_tool:
break
tool_result = execute_requested_tool(reply)
history.append(tool_result)
Vad varje del gör
history innehåller användarens instruktioner, modellens tidigare svar och resultaten från körda verktyg.
available_tools beskriver vilka handlingar modellen får begära. I första lektionen finns i huvudsak ett Bash-verktyg.
call_model(...) skickar historiken och verktygsbeskrivningen till språkmodellen.
execute_requested_tool(...) kör den handling som modellen har valt och samlar in resultatet.
Loopen avslutas först när modellen lämnar ett vanligt slutsvar utan att begära ytterligare verktygsanrop.
Modell och agent harness är inte samma sak
Det är användbart att skilja på två lager:
Språkmodellen
- Ansvarar för att tolka målet, resonera och välja nästa handling.
Agent harness
- Ansvarar för verktyg, terminalkörning, historik, behörigheter, minne och fel.
En starkare modell kan fatta bättre beslut, men utan ett harness kan den inte automatiskt läsa filer, köra tester eller arbeta vidare utifrån terminalresultatet. Ett bra harness gör samtidigt modellen säkrare och mer praktiskt användbar genom tydliga verktyg och begränsningar.
Projektets 20 kapitel
Den nuvarande rekommenderade utbildningslinjen går från s01_agent_loop till s20_comprehensive.
Grunder: s01–s04
- Här lär du dig agentloop, verktyg, behörigheter och hooks.
Planering: s05–s07
- Här lär du dig todo-listor, subagenter och skills som laddas vid behov.
Kontext: s08–s11
- Här lär du dig kontextkomprimering, minne, dynamiska systemprompter och felåterställning.
Långa jobb: s12–s14
- Här lär du dig beständiga uppgifter, bakgrundskörning och schemaläggning.
Flera agenter: s15–s18
- Här lär du dig agentteam, kommunikationsprotokoll, självorganisering och Git-worktrees.
Integration: s19–s20
- Här lär du dig MCP-verktyg och en sammansatt agent med mekanismerna runt samma loop.
Läs kapitlen i ordning. Varje nytt steg bygger vidare på tidigare begrepp.
Vanliga fel och lösningar
ModuleNotFoundError: No module named 'anthropic'
Den virtuella miljön är inte aktiverad eller så har beroendena inte installerats.
python -m pip install -r requirements.txt
Kontrollera därefter:
python -c "import anthropic; print('OK')"
KeyError: 'MODEL_ID'
Variabeln MODEL_ID saknas i .env, är felstavad eller så körs programmet utan att konfigurationsfilen hittas.
Kontrollera att .env innehåller:
MODEL_ID=MODELLENS_ID
Autentiseringsfel, exempelvis 401 eller 403
Kontrollera att:
- API-nyckeln är giltig.
- Rätt endpoint används.
- Modellnamnet finns hos providern.
- Kontot har tillgång till modellen.
Skapa inte en ny nyckel innan du har kontrollerat att problemet inte är ett felaktigt modell-ID eller en felaktig base URL.
Modellen svarar men använder inget verktyg
Alla modeller och kompatibilitetslager hanterar inte verktygsanrop på samma sätt. Kontrollera att vald modell och endpoint stöder tool use enligt providerns dokumentation.
Testa också en konkret uppgift genom att skriva detta i agentens prompt:
Run pwd and then list the files in the current directory. Do not modify anything.
Kommandot stoppas som farligt
Demokoden blockerar vissa tydligt farliga kommandon. Det är förväntat. Försök inte kringgå filtret i ett riktigt projekt. Gå i stället vidare till projektets kapitel om behörigheter och bygg ett explicit godkännandeflöde.
Agenten fastnar eller når timeout
Börja med en mindre uppgift och undvik kommandon som väntar på interaktiv inmatning. Kontrollera även nätverksanslutningen och providerns status.
Säker checklista
Innan du låter en kodagent arbeta i ett riktigt projekt:
- Lägg projektet under Git och gör en ren commit.
- Kör agenten i en isolerad mapp, container eller worktree.
- Kräv godkännande för radering, installationer och externa nätverksanrop.
- Begränsa vilka kataloger agenten kan nå.
- Sätt tids-, kostnads- och antal-varvgränser.
- Spara loggar över verktygsanrop och resultat.
- Kör automatiska tester innan ändringar accepteras.
Sammanfattning och nästa steg
Learn Claude Code visar att kärnan i en kodagent är förvånansvärt liten: modellen väljer ett verktyg, harness-lagret kör verktyget och resultatet går tillbaka till modellen. Projektets värde ligger i hur det steg för steg bygger säkerhet, planering, minne, parallellism och integrationer runt denna loop.
Börja med s01_agent_loop, kör endast säkra testuppgifter och gå sedan vidare i ordning. Nästa steg är att läsa kapitlen om behörigheter, minne och MCP när du förstår den första loopen. När grunderna sitter blir det betydligt enklare att förstå hur mer avancerade agenter som Claude Code, Codex och Hermes är organiserade.
Källor
- Projekt: https://github.com/shareAI-lab/learn-claude-code
- Första kapitlet: https://github.com/shareAI-lab/learn-claude-code/tree/main/s01_agent_loop
- Konfiguration: https://github.com/shareAI-lab/learn-claude-code/blob/main/.env.example
- Beroenden: https://github.com/shareAI-lab/learn-claude-code/blob/main/requirements.txt
- Licens: https://github.com/shareAI-lab/learn-claude-code/blob/main/LICENSE