Gå til hovedindhold

Hvorfor Nushell hører hjemme i værktøjskassen for alle der arbejder praktisk med AI

Indsendt af Lennart den
Hvorfor Nushell hører hjemme i værktøjskassen for alle der arbejder praktisk med AI

Der er en forskel på at arbejde med AI og at arbejde praktisk med AI.

Det første er at bruge ChatGPT fra en browser. Det andet er at bygge noget hvor AI er ét trin blandt mange — hvor data skal hentes, valideres, sendes til en model, kontrolleres, transformeres og gemmes et andet sted. Næsten alt kommercielt AI-arbejde er af den sidste slags.

Og hvis du laver det sidste, bør Nushell bo i din terminal.

Problemet du har — selv hvis du ikke har sat ord på det endnu

Prøv at skrive det ned: hvad er faktisk din arbejdsgang når du bruger AI til noget produktivt?

Typisk ser det nogenlunde sådan her ud:

  1. Du henter noget data — fra en fil, et API, en database, en CSV du fik på mail.
  2. Du renser eller filtrerer det — fjerner tomme rækker, normaliserer formater, plukker de relevante felter.
  3. Du sender det ind i en sprogmodel — til klassificering, sammenfatning, oversættelse, transformation.
  4. Du tager outputtet og gør noget med det — gemmer det, sender det videre, formaterer det som rapport.

Hvis du laver det i Python-scripts, skriver du 50 linjer hver gang. Hvis du laver det i bash, bander du meget over jq, awk og midlertidige filer. Hvis du laver det manuelt, spilder du timer og giver op halvvejs.

Nushell rammer præcis den arbejdsgang. Det er designet til at være et shell hvor pipelines bærer strukturerede data — ikke tekststrømme.

Et konkret eksempel

Lad os sige du har en CSV med 200 kundehenvendelser og vil have en model til at klassificere dem i tre kategorier: sag, klage, ros. I bash er det en halv dags arbejde med jq, midlertidige filer og parsing. I Python er det et script du skal vedligeholde. I Nushell er det:

open henvendelser.csv
| each { |h|
    let kategori = ($h.tekst | llm "klassificer som sag, klage eller ros. Svar med kun ét ord.")
    $h | insert kategori $kategori
  }
| save klassificeret.csv

Det er det. Fem linjer. Læsbart for en ikke-udvikler. Dataen flyder som typed records fra start til slut. Du behøver ikke parse noget. Du behøver ikke importere noget. Du behøver ikke bygge en datarammeværk op omkring det.

Og vigtigst: du kan sætte det ind i en cron, en hook eller en større pipeline uden at ændre noget.

Hvad der gør det specifikt godt til AI

Fire ting skiller Nushell ud når arbejdet er AI-tungt:

1. Alle formater taler samme sprog. open file.json, open file.csv, open file.toml, http get — returnerer alle parsed data i samme struktur. Du kan joine en JSON-respons fra en API med en CSV fra en mappe med en linje. Det lyder banalt indtil du har prøvet at gøre det i bash.

2. AI-kald føles som alle andre kommandoer. Når du har lavet en lille wrapper — llm, gemima, hvad det nu skal være — så opfører de sig som head, sort eller where. De tager noget ind, spytter noget ud, kan pipes. Der er ingen kontekstskifte mellem "nu arbejder jeg med data" og "nu kalder jeg en AI".

3. Din business logic ligger visuelt lige ved siden af dit AI-kald. Det er meget sundt. Det minder dig om hele tiden at det meste af pipelinen ikke er AI. Det er tjek af om feltet er tomt, routing baseret på en værdi, filtre og transformationer. Nushell gør det trivielt at holde den skelnen.

4. Moduler gør det nemt at genbruge. Mine egne Nushell-moduler til Drupal, LLM'er, IWE osv. ligger i ~/.config/nushell/modules/ og kan loades med use. Efter få måneder har du et lille bibliotek af dine egne bygge-klodser — og det betyder at din næste AI-pipeline tager 10 minutter at bygge, ikke 10 timer.

Hvem det er for

Det er ikke for alle. Hvis du kun bruger AI via et browser-interface, eller hvis dit "AI-arbejde" er at betale nogen for en licens og håbe på det bedste — så er dette her ikke for dig.

Men hvis du:

  • Henter data fra ét sted, kører det gennem en model og sender resultatet et andet sted
  • Automatiserer redaktionelle, administrative eller analyse-flows
  • Bygger interne værktøjer der skal være pålidelige uden at være et fuldt softwareprojekt
  • Hjælper andre med at integrere AI i deres processer

— så bliver Nushell det værktøj du griber efter næsten hver dag. Jeg bruger det flere gange om dagen. Blogindlægget her er publiceret med en 26-linjers Nushell-kommando der sender teksten til Drupal, genererer et billede via Gemini, bearbejder det med ImageMagick og uploader det med den rigtige alt-tekst. Jeg skriver artikel | drupal article-with-image "titel", og resten er borte.

Den bredere pointe

Værktøjer former hvad vi forestiller os er muligt. Hvis dit værktøj til at arbejde med data er Excel, tænker du i rækker og celler. Hvis det er Python, tænker du i dataframes. Hvis det er bash, tænker du i tekstmanipulation.

Hvis dit værktøj er Nushell, tænker du i typede pipelines — og når du sidder med AI-opgaver, er det den tankegang der passer bedst. Du tænker automatisk i "hvor er der struktureret data, hvor skifter det format, hvor sidder AI-trinet, hvor sidder valideringen". Det er præcis den mentale model pålidelige AI-systemer kræver.

Jeg siger ikke at du skal droppe Python. Python er fortsat det rigtige valg til at bygge selve AI-komponenterne — modelintegration, tung databehandling, ML-pipelines. Nushell er limningslaget ovenpå. De to supplerer hinanden.

Men hvis du arbejder praktisk med AI og aldrig har åbnet Nushell, så prøver du at bygge huse uden en tommestok. Det kan lade sig gøre. Det er bare dumt.

Hvordan du starter

brew install nushell       # eller winget, eller apt, eller cargo install nu
nu                         # kør det
open data.csv              # mærk forskellen

Ti minutter senere har du skrevet din første pipeline. En time senere har du erstattet et bash-script der aldrig rigtig virkede. En uge senere er det det første du åbner når nogen spørger "kan vi lige få det automatiseret?".

Og så pludselig er du i den lille, mærkbare gruppe af folk der faktisk får AI-arbejde gjort — i stedet for at snakke om det.

Tags