
Prompt-fikseren som diagnostiserer før den omskriver
Lim inn en mangelfull prompt i nesten hvilken som helst «prompt-optimerer», og du får det samme trekket: prompten din går inn i en magisk mal — 4D-rammeverk! 27 mønstre! — og kommer tilbake lengre, omstrukturert fra topp til bunn, uten noe spor av hvilken endring som betydde noe eller om den fortsatt gjør den samme jobben. Den leser bedre. Om den faktisk virker bedre, er en helt annen sak, og verktøyet sjekker aldri det.
Vi driver en katalog som benchmarker Claude-skills til daglig, og vi ønsket det motsatte. Så vi bygde prompt-discipline, og den behandler en prompt som du ville behandlet en feilrapport: navngi feilmåten først, bruk den minste fiksen som løser den, og si så nøyaktig hvordan du A/B-tester endringen. Den er gratis og MIT-lisensiert: github.com/Skillproofdev/prompt-discipline.
Gapet: omskrivere diagnostiserer ikke, diagnostisere trenger infrastruktur
Før vi skrev en eneste regel kartla vi 43 prompt-engineering-skills i katalogen vår, pluss de frittstående verktøyene — Anthropics egen Console-prompt-forbedrer, PromptPerfect, DSPy, getsentrys prompt-optimizer. Feltet deler seg i to leire som aldri overlapper.
Mal-omskrivere transformerer hvert input på samme måte. Det er ikke noe steg som spør hva er egentlig galt her — en vag prompt og en motstridende prompt får samme behandling, og resultatet er pålitelig lengre. Dette er ingen stråmann: Anthropics egen Console-forbedrer advarer åpent om at omskrivingene dens kommer ut lengre og tregere. Lengre er produktet.
Evaluering-først-pipeliner — DSPy, sporingsdrevne optimerere — har den riktige epistemologien. De måler faktisk. Men de trenger infrastruktur: produksjonsspor, en MCP-server, en worktree-testrigg, et merket datasett du setter sammen først. Du griper ikke til dem for å fikse prompten du redigerer akkurat nå.
Ingen pakker mellomtingen: en avhengighetsfri skill som gjør diagnose-først → minimal-diff → A/B-testplan, uten spor og uten server å sette opp. Det gapet er hele skillen.
Ni regler, tre av dem er poenget
Skillen er et sett med harde regler brukt i rekkefølge (hele SKILL.md). De kjente delene er der — utdataformat som en positiv kontrakt (en nøkkelliste med typer, ikke «svar i JSON»), eksempler fremfor adjektiver, ikke-gjør-lister omskrevet som gjør-instrukser, rolle→data→instrukser→eksempler→spørring-rekkefølge. De tre som definerer den:
- Diagnostiser før du rører noe. Klassifiser hva som faktisk er galt — tvetydighet, manglende kontekst, ingen utdata-kontrakt, motstridende instrukser, formatdrift-risiko, overprompting, eller «ikke et prompting-problem i det hele tatt» — og siter det anstøtelige avsnittet for hvert funn. Ingen diagnose, ingen omskriving. «Denne prompten er grei» er et gyldig, komplett resultat.
- Minimal diff, én endring per feil. Hver redigering kobles til nøyaktig én diagnostisert feil, vist som
gammel → nymed en begrunnelse på én linje. Delene som virker, forblir ordrett. Der Console-forbedreren fyller på, kommer denne som regel kortere ut — døde besvergelser («du er verdens beste …», «ta et dypt pust», foreldede «tenk steg for steg»-stillaser) kuttes. - En testplan, ikke et løfte. Hver omskriving leveres med 2–3 konkrete testinput inkludert et kanttilfelle, hva et bestått resultat ser ut som, og A/B-prosedyren: samme input, samme modell, 3–5 kjøringer hver, sammenlign beståttrate. Hvis endringer ble stablet, navngir den hvilken som skal reverseres først. Den lover aldri «dette vil fikse det» — du endret variabler, testen avgjør.
Benchmarken — og et forbehold du trenger først
Ti genuint mangelfulle prompter, hver paret med en oppgave som har et mekanisk sjekkbart svar: uttrekking mot kjent fasit, formatering som må parses (json.loads / csv.reader), klassifisering mot merkede eksempler. Tre armer per case — den originale prompten, en base-omskriving (ren Claude bedt om å «forbedre denne prompten»), og en skill-omskriving (identisk økt med denne SKILL.md-en lastet). Alle omskrivinger kjøres så som oppgaver på samme modell.
Les dette før tabellen: kjøringen er n=1 per case per arm, ikke den forhåndsregistrerte n=5. Utvalgsvarians er ikke målt. Ethvert enkelt-case-gap (0.1) er innenfor støygulvet. Behandle hvert tall her som foreløpig i påvente av en n=5-replikering — det gjør vi.
| Arm | Oppgavesuksess | Formatsamsvar | Median promptlengde-Δ |
|---|---|---|---|
| A — original prompt | 0.70 (7/10) | 0.70 (7/10) | — |
| B — base-omskriving («forbedre denne prompten») | 0.80 (8/10) | 0.70 (7/10) | +99.5 ord |
| C — skill-omskriving (denne SKILL.md-en) | 0.90 (9/10) | 0.80 (8/10) | +44.5 ord |
Mot den forhåndsregistrerte testen består skillen: den binder-eller-slår base-omskrivingen på suksess (0.90 ≥ 0.80) og samsvar (0.80 ≥ 0.70), klarer +15 pp-grensen over originalen (+20 pp), og gjør det mens den legger til mindre enn halvparten av promptoppblåsingen — median +44.5 ord mot base-omskrivingens +99.5. Det siste tallet er det mest robuste funnet i hele kjøringen: C er slankere på alle ti caser, og den er den eneste armen som noen gang går negativ (case-10, −10 ord, kutter en forbuds-opphopning ut av en systemprompt). Både naiv og disiplinert omskriving blåser opp knappe prompter; den naive omtrent dobler kostnaden.
Der det er tynt, og der den tapte
Suksess- og samsvarsfordelene er reelle, men skjøre, og vi later ikke som noe annet.
På 7 av 10 caser er alle tre armer likt. Suksessmarginen hviler nesten utelukkende på case-06 (billettklassifisering), den eneste casen skillen vinner utvetydig: C produserte korrekte, per-element-parsebare etiketter (15/15) mens base-omskrivingen fikk 13/15 i et format som ikke lot seg parse. Trekk den ene casen ut, og hovedgapet forsvinner nesten. Det er hva n=1 med mange uavgjorte ser ut som — ærlig, ikke fordømmende, men du bør vite det.
Case-09 er et tap for skillen på dens egne premisser. En tonefiks-prompt med en manglende målgruppe — nøyaktig situasjonen Regel 2 finnes for («oppgi antakelsen din når intensjonen er uavgjørbar»). Regelen utløste seg ikke. Skillens omskriving droppet det manglende-målgruppe-problemet, og C feilet sammen med A og B. En skill som taper på nettopp det den er spesifikt designet for å fange, er den mest nyttige typen negative resultat, så det blir stående i tabellen.
Case-02-samsvar er 0 på tvers av alle tre armer. En prompt med motstridende instrukser: hver arm løste motsigelsen i innhold (fikk riktig tall) men ingen tvang frem en enkeltverdi-utdata, så alle tre scoret 0 på format. Ingen av omskriverne — disiplinert eller ikke — tenkte på å håndheve kontrakten. Delt blindsone, rapportert, ikke skjult.
Vi tester andres skills til daglig, og vår metodikk krever at tapene vises ved siden av seirene. Dette er tapene.
HENT SKILLEN
prompt-discipline er gratis og MIT-lisensiert — repoet er skillen. Les hver regel, kjør benchmarken selv, fork den.
Hent prompt-discipline på GitHubInstallasjon
git clone https://github.com/Skillproofdev/prompt-discipline ~/.claude/skills/prompt-discipline
Start Claude Code på nytt. Den trigger på «forbedre denne prompten», «hvorfor feiler prompten min», «optimer prompt», og når du skriver eller reviderer systemprompter og agentinstrukser — og den avslår jailbreak-/sikkerhetsomgåelse-forespørsler og bilde-/videogenererings-prompter, som har sin egen grammatikk. Den inngår i vår disiplin-serie: token-discipline kutter hva en økt koster, research-discipline kutter hva research bommer på, og denne kutter prompt-omskrivinger ned til endringen som faktisk betydde noe.
GRATIS STARTPAKKE
Vil du ha våre høyest scorede skills pluss installasjonssjekklisten vi kjører før hver test? Vi sender deg den gratis startpakken på e-post.
Få den gratis startpakkenOfte stilte spørsmål
Hvordan skiller dette seg fra Anthropics Console-prompt-forbedrer? Console-forbedreren er en mal-omskriver — den restrukturerer hele prompten og advarer åpent om at resultatet blir lengre og tregere. prompt-discipline diagnostiserer den spesifikke feilen først, endrer bare det som kobles til den feilen, og la i vår benchmark til mindre enn halvparten av lengden mens den vanligvis kom kortere ut. Ulikt mål: Console-verktøyet produserer en polert prompt; dette produserer den minste forsvarlige diffen pluss en måte å bevise den på.
Hvorfor publisere en benchmark du innrømmer er n=1? Fordi alternativet i denne nisjen er å publisere ingen tall i det hele tatt, som er normen vi reagerer mot. n=1 med forbeholdet sagt rett ut er mer ærlig enn en selvsikker påstand uten måling bak seg. Median-lengde-funnet er solid på tvers av alle ti caser; suksess- og samsvarsfordelene er foreløpige og merket som sådan, i påvente av en n=5-replikering.
Omskriver den alltid prompten min? Nei. Hvis prompten er grei, sier skillen det og stopper — «denne prompten trenger ingen endringer; her er den ene risikoen å teste» er et gyldig, komplett resultat. Den nekter også å fylle på en diagnose bare for å rettferdiggjøre en mal, og den avslår jailbreak-forespørsler rett ut i stedet for å «forbedre» dem.
Vil dette fikse prompten min? Det lover den ikke, og det bør ingen verktøy som ikke har kjørt oppgaven din heller. Skillen endrer variabler og gir deg en konkret A/B-prosedyre — samme input, samme modell, 3–5 kjøringer — så testen avgjør, ikke følelsen av en penere prompt.
★ 9.6/10 × 3
Den gratis startpakken
De 3 skillsene med våre høyeste testscorer pluss installasjonssjekklisten — oppsettet vi selv ville lagt på en fersk maskin. Gratis, på e-post.