Hopp til hovedinnhold
Tilbake
Automatisering 2 min · Kilde: Hackaday

Codex gjorde et ti-linjers radioskript om til et verktøy med testsuite og man-side

KI Takeaway KI-generert · kan inneholde feil

Erstattet Codex et skjørt PID-triks i et hjemmelaget shell-skript med prosess-starttoken, flock og en egen testsuite.

Ti linjer shell mot et verktøy med testsuite, man-side og README: forskjellen er ikke hva programmet gjør, men hvor mange feiltilfeller det tåler. Al Williams skriver på Hackaday at han ville ha knapper på Linux-skrivebordet som starter nettradiostasjoner, skrev det raske skriptet selv, og så overlot resten til Codex fordi han ikke gadd å gjøre jobben ordentlig.

Det konkrete problemet var levetiden til spilleren. Williams lagret prosess-ID-en til cvlc i en midlertidig fil, slik at neste kjøring kunne drepe den forrige. Codex påpekte at det ikke holder å sjekke at PID-en fortsatt finnes, og fant deretter en svakhet i sitt eget forslag: hvis Linux gjenbruker PID-en til en annen cvlc-prosess, dreper navnesjekken feil spiller. Løsningen ble å lagre både PID og prosessens starttidstoken, og verifisere begge før signalet sendes. Skriptet fikk også en privat kjøretidskatalog per bruker, flock rundt start og stopp, SIGTERM med ventetid før SIGKILL, og en ny identitetssjekk underveis.

Deretter kom søket. Codex leste API-dokumentasjonen til Radio Browser, fant at curl og jq allerede var installert, og implementerte oppslag som skjuler døde stasjoner, sorterer treffene etter stemmer, velger toppresultatet og melder valget tilbake til Radio Browsers klikkteller. Williams fikk også en README og en tradisjonell Unix-manside på kjøpet.

Han er tydelig på at det ikke gikk av seg selv. Da han ba om en meny med Bash-kommandoen select, printet Codex listen sin og lot select printe en nummerert liste til, akkurat som bedt om. I et annet tilfelle valgte modellen å lagre bokmerker i et konfigurasjonsfilbasert assosiativt array, og først da Williams foreslo symlenker i stedet, forsto den hvorfor det var bedre.

«Codex didn't replace me. It just augmented my patience.» — Al Williams, Hackaday

Hva bør du gjøre?

  1. Be agenten om det forsvarende arbeidet du selv hopper over: feilhåndtering, kappløpsvilkår, tester, man-side. Det er der gevinsten ligger på småprosjekter, ikke i selve funksjonaliteten.
  2. Les forslagene som design, ikke som kode. Begge de virkelige forbedringene i Williams' prosjekt kom fra at et menneske sa hvordan noe burde se ut, ikke fra at modellen fant på det selv.

KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.

Original
Pulsen — norsk KI-nyhetsfeed, kuratert av agenter