Prompt-fikseren der diagnosticerer, før den omskriver

Prompt-fikseren der diagnosticerer, før den omskriver

Indsæt en fejlbehæftet prompt i næsten enhver "prompt-optimizer," og du får det samme træk: din prompt går ind i en magisk skabelon — 4-D-ramme! 27 mønstre! — og kommer tilbage længere, omstruktureret fra top til bund, uden nogen registrering af, hvilken ændring der betød noget, eller om den stadig løser samme opgave. Den læser bedre. Om den virker bedre, er en anden egenskab, og værktøjet tjekker det aldrig.

Vi driver et katalog, der benchmark-tester Claude-skills til daglig, og vi ville det modsatte af det. Så vi byggede prompt-discipline, og den behandler en prompt, som du ville behandle en fejlrapport: navngiv fejlmåden først, anvend den mindste rettelse, der adresserer den, sig så præcis hvordan du A/B-tester ændringen. Den er gratis og MIT-licenseret: github.com/Skillproofdev/prompt-discipline.

Hullet: omskrivere diagnosticerer ikke, diagnosticerere kræver infrastruktur

Før vi skrev en regel, gennemgik vi 43 prompt-engineering-skills i vores katalog plus de selvstændige værktøjer — Anthropics egen Console-prompt-forbedrer, PromptPerfect, DSPy, getsentrys prompt-optimizer. Feltet deler sig i to lejre, der aldrig overlapper.

Skabelon-omskrivere transformerer hvert input på samme måde. Der er intet trin, der spørger hvad er faktisk galt her — en vag prompt og en modstridende prompt får samme behandling, og outputtet er pålideligt længere. Det her er ikke en halmmand: Anthropics egen Console-forbedrer advarer åbent om, at dens omskrivninger kommer ud længere og langsommere. Længere er produktet.

Eval-first-pipelines — DSPy, spor-drevne optimizers — har den rigtige epistemologi. De måler faktisk. Men de kræver infrastruktur: produktionsspor, en MCP-server, en worktree-ramme, et mærket datasæt du samler først. Du griber ikke til dem for at fikse den prompt, du redigerer lige nu.

Ingen pakker mellemtingen: en afhængighedsfri skill, der gør diagnose-først → minimal-diff → A/B-testplan, uden spor og uden server at sætte op. Det hul er hele skillen.

Ni regler, tre af dem pointen

Skillen er et sæt hårde regler anvendt i rækkefølge (fuld SKILL.md). De velkendte dele er der — outputformat som en positiv kontrakt (en nøgleliste med typer, ikke "respond in JSON"), eksempler frem for adjektiver, forbudslister omskrevet som gør-instruktioner, rolle→data→instruktioner→eksempler→forespørgsel-rækkefølge. De tre, der definerer den:

  1. Diagnosticer, før du rører ved noget. Klassificer, hvad der faktisk er galt — tvetydighed, manglende kontekst, ingen output-kontrakt, modstridende instruktioner, formatdrift-risiko, over-prompting eller "not a prompting problem at all" — og citer den anstødelige passage for hvert fund. Ingen diagnose, ingen omskrivning. "This prompt is fine" er et gyldigt, komplet output.
  2. Minimal diff, én ændring per fejl. Hver rettelse mapper til præcis én diagnosticeret fejl, vist som old → new med en énlinjes begrundelse. Fungerende dele forbliver ordret. Hvor Console-forbedreren polstrer, kommer den her normalt ud kortere — døde besværgelser ("you are the world's best…", "take a deep breath", forældet "think step by step"-stillads) skæres væk.
  3. En testplan, ikke et løfte. Hver omskrivning leveres med 2–3 konkrete testinputs inklusive et kanttilfælde, hvad en beståelse ser ud som, og A/B-proceduren: samme inputs, samme model, 3–5 kørsler hver, sammenlign beståelsesrater. Hvis ændringer blev stablet, navngiver den, hvilken der skal reverteres først. Den lover aldrig "this will fix it" — du ændrede variabler, testen afgør.

Benchmarken — og et forbehold du skal have først

Ti reelt fejlbehæftede prompts, hver parret med en opgave, der har et mekanisk kontrollerbart svar: ekstraktion mod kendt grundsandhed, formatering der skal parse (json.loads / csv.reader), klassifikation mod mærkede eksempler. Tre arme per sag — den originale prompt, en base-omskrivning (ren Claude bedt om "improve this prompt") og en skill-omskrivning (identisk session med denne SKILL.md indlæst). Alle omskrivninger køres derefter som opgaver på samme model.

Læs det her før tabellen: kørslen er n=1 per sag per arm, ikke den forhåndsregistrerede n=5. Stikprøvevarians er umålt. Ethvert enkeltsags-gab (0.1) er inden for støjgulvet. Behandl hvert tal her som foreløbigt indtil en n=5-gentagelse — det gør vi.

Arm Opgavesucces Formatoverholdelse Median prompt-længde Δ
A — original prompt 0.70 (7/10) 0.70 (7/10)
B — base-omskrivning ("improve this prompt") 0.80 (8/10) 0.70 (7/10) +99.5 ord
C — skill-omskrivning (denne SKILL.md) 0.90 (9/10) 0.80 (8/10) +44.5 ord

Mod den forhåndsregistrerede test består skillen: den er lig med eller slår base-omskrivningen på succes (0.90 ≥ 0.80) og overholdelse (0.80 ≥ 0.70), klarer +15pp-grænsen over originalen (+20pp), og gør det, mens den tilføjer mindre end halvdelen af prompt-oppustheden — median +44.5 ord mod base-omskrivningens +99.5. Det sidste tal er det mest robuste fund i hele kørslen: C er slankere på alle ti sager, og det er den eneste arm, der nogensinde går negativ (sag-10, −10 ord, ved at skære en forbudsophobning ud af en systemprompt). Både naiv og disciplineret omskrivning oppuster korte prompts; den naive omtrent fordobler omkostningen.

Hvor det er tyndt, og hvor det tabte

Succes- og overholdelses-fordelene er reelle, men skrøbelige, og vi lader ikke, som om andet.

På 7 af de 10 sager er alle tre arme uafgjort. Succesmarginen hviler næsten udelukkende på sag-06 (ticket-klassifikation), den eneste sag skillen vinder klart: C producerede korrekte, per-element-parsebare labels (15/15), mens base-omskrivningen fik 13/15 i et format, der ikke ville parse. Fjern den ene sag, og den øverste forskel forsvinder næsten. Det er, hvad n=1 med en masse uafgjorte ser ud som — ærligt, ikke fordømmende, men du skal vide det.

Sag-09 er et tab for skillen på dens egne præmisser. En tone-fiks-prompt med en manglende målgruppe — præcis den situation Regel 2 findes for ("state your assumption when intent is undecidable"). Reglen udløste ikke. Skillens omskrivning droppede det manglende-målgruppe-problem, og C fejlede sammen med A og B. En skill, der taber på det, den specifikt er designet til at fange, er den mest nyttige slags negative resultat, så det bliver i tabellen.

Sag-02-overholdelse er 0 på tværs af alle tre arme. En prompt med modstridende instruktioner: hver arm løste modsigelsen i indhold (fik det rigtige tal), men ingen tvang et enkelt output-værdi, så alle tre scorede 0 på format. Ingen af omskriverne — disciplineret eller ej — tænkte på at håndhæve kontrakten. Fælles blind vinkel, rapporteret ikke skjult.

Vi tester andre folks skills til daglig, og vores metode kræver, at tabene står ved siden af sejrene. Det her er tabene.

HENT SKILLEN

prompt-discipline er gratis og MIT-licenseret — repoet er skillen. Læs hver regel, kør benchmarken selv, fork den.

Hent prompt-discipline på GitHub

Installation

git clone https://github.com/Skillproofdev/prompt-discipline ~/.claude/skills/prompt-discipline

Genstart Claude Code. Den udløses af "improve this prompt", "why does my prompt fail", "optimize prompt", og når du skriver eller reviderer systemprompts og agent-instruktioner — og den afviser jailbreak-/sikkerhedsomgåelses-anmodninger og billed-/videogenererings-prompts, som har deres egen grammatik. Den slutter sig til vores disciplin-serie: token-discipline skærer i, hvad en session koster, research-discipline skærer i, hvad research tager fejl om, og den her skærer prompt-omskrivninger ned til den ændring, der faktisk betød noget.

GRATIS STARTERPAKKE

Vil du have vores højest scorede skills plus den installationstjekliste, vi kører før hver eneste test? Vi sender dig den gratis starterpakke på mail.

Få den gratis starterpakke

FAQ

Hvordan adskiller det her sig fra Anthropics Console-prompt-forbedrer? Console-forbedreren er en skabelon-omskriver — den omstrukturerer hele prompten og advarer åbent om, at resultatet kommer ud længere og langsommere. prompt-discipline diagnosticerer den specifikke fejl først, ændrer kun det, der mapper til den fejl, og tilføjede i vores benchmark mindre end halvdelen af længden, mens den normalt kom ud kortere. Forskelligt mål: Console-værktøjet producerer en poleret prompt; den her producerer den mindste forsvarlige diff plus en måde at bevise det på.

Hvorfor udgive en benchmark, du selv indrømmer er n=1? Fordi alternativet i den her niche er at udgive ingen tal overhovedet, hvilket er normen, vi reagerer mod. n=1 med forbeholdet sagt ligeud er mere ærligt end en selvsikker påstand uden nogen måling bag. Median-længde-fundet er solidt på tværs af alle ti sager; succes- og overholdelsesfordelene er foreløbige og mærket som sådan, indtil en n=5-gentagelse.

Omskriver den altid min prompt? Nej. Hvis prompten er fin, siger skillen det og stopper — "this prompt needs no changes; here's the one risk to test" er et gyldigt, komplet output. Den nægter også at polstre en diagnose bare for at retfærdiggøre en skabelon, og den afviser jailbreak-anmodninger direkte i stedet for at "forbedre" dem.

Fikser det her min prompt? Det lover ikke det, og det bør intet værktøj, der ikke har kørt din opgave. Skillen ændrer variabler og giver dig en konkret A/B-procedure — samme inputs, samme model, 3–5 kørsler — så testen afgør, ikke fornemmelsen af en prompt, der ser renere ud.

★ 9.6/10 × 3

Den gratis startpakke

De 3 skills med vores højeste testscorer plus installations-tjeklisten — det setup, vi selv ville lægge på en frisk maskine. Gratis, på mail.

Én mail med pakken + et kort ugentligt overblik over nye testresultater. Afmeld når som helst.