Lad os være ærlige: de fleste agent‑guides stopper, når chatten siger noget fornuftigt. Her bliver der rent faktisk bygget, kørt og kigget i data bagefter. OpenSpace‑tutorialen går hele vejen fra første clone til en opgave, der udvikler nye skills, som kan findes igen i en lille, læsbar SQLite‑database. Det er derfor den er værd at bruge en eftermiddag på, hvis målet er mere end en demo.
Hovedpointer
Tutorialen dokumenterer et konkret udviklingsflow: tjek af Python 3.12, git sparse‑clone med filter, editable pip‑install, .env‑konfiguration med model og workspace samt live‑kørsel af en asynkron opgave, når LLM‑nøgler er sat. Den forbinder host‑agent skills, opretter en SKILL.md, starter en streambar HTTP MCP‑server og slutter med at inspicere en SQLite‑database, hvor evolved capabilities ligger med versionering og lineage‑metadata, inklusiv skill‑typerne FIX, DERIVED og CAPTURED [kilde: MarkTechPost‑tutorialen].
Rammen er lav‑kost genbrug: når en opgave er “varm”, kan dele af adfærden genbruges i stedet for at betale for hele kæden igen. Der er ingen benchmark i materialet, men workflowet og databasevisningen gør ideen konkret.

Hvad der faktisk udføres
Det starter med et versions‑check på Python 3.12+. Repoet hentes som sparse clone: “git clone –filter=blob:none –sparse https://github.com/HKUDS/OpenSpace.git”, efterfulgt af “git sparse‑checkout set –no‑cone \/* !\/assets\/”, så kun det nødvendige lander lokalt. Pakken installeres i editable mode via “pip install -e”, så ændringer slår igennem uden genbyg [kilde: MarkTechPost‑tutorialen].
Miljøet sættes via .env med blandt andet OPENSPACE_MODEL, OPENSPACE_WORKSPACE, OPENSPACE_HOST_SKILL_DIRS og eventuelle ANTHROPIC_API_KEY, OPENAI_API_KEY og OPENSPACE_API_KEY. Uden LLM‑nøgler springes live‑kørslen over, og det markeres tydeligt i tutorialen [kilde: MarkTechPost‑tutorialen].

MCP, host‑skills og asynkron kørsel
Den asynkrone API bruges med “from openspace import OpenSpace” og “await cs.execute(query)”. Resultatet indeholder både svaret og en liste over evolved_skills med navn og origin. Host‑agent skills kobles på, og en SKILL.md beskriver formål og brug. CLI‑værktøjet “openspace‑mcp” kan starte en streambar HTTP MCP‑server til lokal udvikling og debugging. I drift skal der ligge adgangskontrol, rate‑begrænsning og logning over det. Punktum.
Lineage og lav‑kost genbrug
Til sidst åbnes et SQLite‑lager med versionering og lineage‑metadata, så man kan se, hvordan en skill er blevet til, og hvad den er afledt af. Tre typer er i spil: FIX (rettelse), DERIVED (afledt forbedring) og CAPTURED (opsamlet adfærd). Samspillet gør historik og genbrug synligt og er kernen i at sænke pris og tid på gentagne opgaver [kilde: MarkTechPost‑tutorialen].
SQLite er fint som sandkasse. I større opsætninger rammer man hurtigt grænser for multi‑user og revision. Migration er ikke dækket i tutorialen; det hul bør lukkes i et pilotarbejde.

Implementering uden unødige overraskelser
Editable installs kontra reproducerbarhed: “pip install -e” giver tempo, men er skrøbeligt i drift, hvis versionskæder ikke låses. Minimum: frys afhængigheder, byg i et container‑image, og kør smoke‑tests der bekræfter, at en given warm‑task faktisk bliver genbrugt efter deploy. Ellers bliver rollback gætteri.
Credentials: .env er fint i udvikling. I produktion skal hemmeligheder ligge i et egentligt secrets‑lag med kortlivede tokens og audit‑spor. Rotér nøgler og undgå delte servicekonti uden scopes. Det stopper regninger, der løber løbsk klokken 03:12.
CI/CD, evaluering og overvågning
Agentiske systemer skifter i to lag: kode og adfærd. Byg pipelines, der tester begge. Unit‑tests på værktøjer og parser‑funktioner. Evals på agent‑adfærd mod faste scenarier med tolerancer. Gem resultater sammen med lineage‑versionen, der frigives. Hvis DERIVED v2.3 performer dårligere end v2.2, skal det fanges, før brugerne gør.

Overvågning bør spore warm‑reuse hit rate, cost per task, p90/p95‑latenstid, fejlrater pr. værktøjskald og hvor ofte systemet falder tilbage til kolde tasks. Rollback skal kunne slukke en specifik lineage‑gren uden at rulle hele platformen tilbage. Den forskel kan mærkes på driftsro.
Risiko og governance
VentureBeat Research konkluderer, at mange virksomheder rullede agenter ud før de nødvendige kontroller var på plads og nu eftermonterer dem. I hver af fem kontroller målt planlægger 57–68 procent at skifte eller tilføje leverandører inden for 12 måneder, og omtrent en tredjedel vil flytte allerede i dette kvartal [kilde: VentureBeat Research]. Det lugter af efterslæb, ikke mangel på vilje.
De fem lag, der måles, matcher OpenSpace‑flowet: identity, evaluation, cost telemetry, context og orchestration. Tutorialens flow er et stærkt laboratorium; de fem lag er minimum, før noget bør køre uden opsyn.

Tradeoffs og kendte begrænsninger
Styrkerne: hurtig vej fra clone til kørende agent, gennemsigtighed via SQLite og en håndterbar måde at indkapsle adfærd som skills. Ulemperne: editable installs kan divergere, ansvarsgrænsen mellem kode og adfærd bliver uklar, og et lokalt lineage‑lager er ikke bygget til multi‑tenant revision i skala. Migrerer man, mister man også noget af enkelheden, der gør tutorialen let at kopiere. Sådan er det.
Quick checklist til et pilot‑MVP
- Identity: Brug servicekonti med scopes. Log hvem der brugte hvad, hvornår.
- Evaluation: Definér scenarier og tolerancer per skill‑type (FIX, DERIVED, CAPTURED). Kør evals i CI.
- Cost telemetry: Mål cost per task og sæt alerts ved loft.
- Context: Versionér datakilder og begreber, agenten læser fra.
- Orchestration: Hav en stopknap på lineage‑niveau og en klar rollback‑vej.
- Repro: Lås dependencies, brug containers, dokumentér miljøet for et givent lineage‑ID.
- Observabilitet: Track warm‑reuse hit rate, p90‑latens og fejl per værktøj.
Tilbage til koden et øjeblik
Nogle jordnære detaljer, der gør reproducering mulig:
- Repo‑kilde: https://github.com/HKUDS/OpenSpace.git klones med “–filter=blob:none” og “–sparse”.
- Sparse‑checkout: “git sparse‑checkout set –no‑cone \/* !\/assets\/”.
- CLI‑værktøjer som “openspace‑mcp” og “openspace‑dashboard” verificeres med which‑tjek og –help.
- .env sætter OPENSPACE_MODEL, OPENSPACE_WORKSPACE, OPENSPACE_HOST_SKILL_DIRS samt relevante API‑nøgler.
- Async‑brug: “async with OpenSpace() as cs: result = await cs.execute(query)”, hvorefter response og evolved_skills kan læses ud.
- SQLite‑showcase med versionering og lineage‑metadata viser FIX, DERIVED og CAPTURED i praksis [kilde: MarkTechPost‑tutorialen].
Små ting, men de skiller en løs demo fra et flow, der kan gentages på en ren maskine i morgen.
Konklusion
OpenSpace‑tutorialen viser en reel vej til selv‑evolverende agenter: skills, MCP, lineage i SQLite og et asynkront API, der virker i hænderne. Skal det i produktion, kræver det kontroller for identitet, evaluering, omkostninger, kontekst og orkestrering — præcis de lag, som mange nu er i gang med at eftermontere ifølge VentureBeat. Næste skridt er jordnært: sæt et lille, kontrolleret pilotflow op, mål hårdt, og få styr på rollback før første bruger ser noget. Man mærker først forskellen, når det kører rigtigt.