Příklady prompt engineeringu pro softwarové inženýry
Konkrétní příklady prompt engineeringu pro ladění, refaktoring, testy, architekturu, revizi kódu a dokumentaci.
Užitečný technický prompt vede asistenta k úvahám na základě problému, důkazů, omezení a kritérií přijetí — nikoli na základě izolovaného příkazu. Následující příklady ukazují, jak se tím změní práce při ladění, refaktoringu, testování, návrhu architektury, revizi kódu a dokumentaci.
Každý lepší prompt záměrně přesně vymezuje rozhodnutí, které musí asistent učinit. U malého úkolu jej můžete zkrátit, ale zachovejte informace, které brání změně nesprávné z hlediska produktu.
Ladění nespolehlivého checkoutu
Problém
Požadavek checkoutu někdy po opakování uspěje, ale UI stále zobrazuje první chybu.
Slabý prompt
Opravte nespolehlivou chybu checkoutu.
Lepší prompt
Příznak: Požadavek checkoutu může jednou selhat s časovým limitem a poté uspět při
automatickém opakování. Po opakování se neobjeví obrazovka úspěchu.
Očekávané: Úspěšné opakování má nahradit chybový stav a povolit další
krok checkoutu.
Pozorované: Síťové logy ukazují odpověď 200, ale první chybový banner zůstává.
Rozsah: Prozkoumejte pouze mutaci checkoutu, callback opakování a stav obrazovky.
Omezení: Zachovejte stávající integraci poskytovatele plateb i texty chyb.
Neskrývejte chyby předtím, než požadavek skutečně uspěje.
Nejprve uveďte dvě nebo tři hypotézy založené na důkazech a nejmenší reprodukci
nebo signál v logu, který je odliší. Poté navrhněte minimální opravu a
regresní test.
Proč to funguje
Prompt odděluje důkazy od předpokladu. Před přepsáním vyžaduje diagnózu přechodů stavů a chrání platební integraci před nesouvisející změnou.
Refaktoring opakované logiky formulářů
Problém
Tři formuláře nastavení opakují stejný kód pro načítání, chyby a stav uložení.
Slabý prompt
Refaktorujte tyto formuláře a odstraňte duplicitu.
Lepší prompt
Formuláře účtu, oznámení a profilu duplikují vykreslování stavu ukládání.
Určete přesné opakované chování a místa, v nichž se formuláře liší.
Výsledek: Omezte duplicitní vykreslování, aniž změníte veřejné props formulářů,
časování validace, lokalizované chyby, analytické události nebo chování klávesnice.
Rozsah: Tři formuláře nastavení a jejich přímé testy.
Mimo rozsah: Nevytvářejte obecný framework formulářů ani nepřesouvejte vlastnictví
požadavků mimo existující hooky funkce.
Doporučte nejmenší extrakci, ukažte zachovaný kontrakt a přidejte nebo
aktualizujte testy načítání, selhání a úspěchu pro každý formulář.
Proč to funguje
„Odstraňte duplicitu“ je cíl, nikoli návrh. Lepší prompt žádá asistenta, aby našel skutečný společný spoj, a brání příliš rozsáhlé abstrakci.
Napsání testu závodní podmínky
Problém
Výsledky vyhledávání z pomalého staršího dotazu mohou přepsat novější dotaz.
Slabý prompt
Přidejte testy pro vyhledávání.
Lepší prompt
Přidejte regresní pokrytí závodní podmínky při vyhledávání.
Scénář: Uživatel vyhledá "network", ihned změní dotaz na
"terminal" a odpověď pro network se vrátí jako poslední.
Očekávané: UI zobrazuje pouze výsledky pro "terminal". Starší odpověď je nesmí
nahradit.
Použijte stávající testovací stack a přístupná tvrzení. Netvrďte názvy interních
stavů. Pokud produkční kód nedokáže jasně vyjádřit zrušení nebo aktuálnost,
vysvětlete před napsáním testu nejmenší potřebnou změnu.
Proč to funguje
Prompt pro test vymezuje čas, akci uživatele a viditelné chování. Nedovoluje, aby se vhodný implementační detail stal kontraktem testu.
Posouzení změny architektury
Problém
Tým rozhoduje, zda pro konfiguraci přidat druhou vrstvu cache.
Slabý prompt
Přidejte cache konfigurace, aby byla aplikace rychlejší.
Lepší prompt
Posuďte, zda by klientská cache konfigurace zrychlila pomalou obrazovku,
aniž by vytvářela zastaralá rozhodnutí o oprávněních nebo předvolbách.
Kontext: Aplikace už má poskytovatele konfigurace a obrazovka čeká na
ověřeného uživatele. Nezměřili jsme, zda je úzkým hrdlem načítání nebo
vykreslování.
Porovnejte: žádnou cache, omezenou cache v paměti a navrhovanou perzistentní
cache. Vyhodnoťte aktuálnost, invalidaci, soukromí, chování offline a měření
potřebné k odůvodnění změny.
Dokud neuvedete, kterou možnost doporučujete a proč, nic neimplementujte.
Proč to funguje
Prompt činí „rychlejší“ měřitelným a žádá asistenta, aby zpochybnil předpoklad. Cache není automaticky zlepšením výkonu.
Revize rizikového diffu
Problém
Pull request mění v jedné funkci oprávnění i navigaci viditelnou pro uživatele.
Slabý prompt
Zrevidujte tento pull request.
Lepší prompt
Zrevidujte tento diff z hlediska regresí autorizace, navigace porušující
lokalizaci a změn chování skrytých refaktoringem.
Sledujte každé změněné rozhodnutí o oprávnění až k jeho volajícímu. Ověřte, že
interní odkazy zachovávají aktivní locale a že zamítnuté stavy neodhalují chráněná
data.
Uveďte pouze zjištění s důkazy z diffu nebo jeho přímých míst volání.
Upřednostněte správnost a zabezpečení před návrhy na styl. Chybějící
testy uvádějte odděleně od potvrzených defektů.
Proč to funguje
Revize má model hrozeb i rozsah. To vede k menšímu a lépe použitelnému výsledku než žádost o obecnou zpětnou vazbu.
Aktualizace dokumentace po změně nástroje
Problém
Příkaz pro místní nastavení se změnil a průvodce začátkem práce je nyní zastaralý.
Slabý prompt
Aktualizujte dokumentaci k nastavení.
Lepší prompt
Aktualizujte průvodce místním nastavením podle aktuálních package scriptů.
Ověřte každý zdokumentovaný příkaz podle package.json a pokynů k nastavení
v repozitáři. Vysvětlete předpoklady, očekávaný výstup připravenosti, běžné
signály selhání a bezpečný postup obnovy.
Nedokumentujte tajné údaje, hodnoty zkopírované z místního prostředí ani příkazy,
které projekt ve skutečnosti nespouští. Přidejte krátký kontrolní seznam ověření pro
nového přispěvatele.
Proč to funguje
Asistent musí ukotvit text v repozitáři, místo aby vytvořil uhlazeného, ale smyšleného průvodce.
Použijte příklad, který odpovídá vašemu úkolu
Opakující se vzor je jednoduchý: pojmenujte problém, zúžte rozsah, chraňte důležité chování, vyžádejte si důkazy a definujte ověření. Začněte opakovaně použitelným rámcem v článku jak psát lepší prompty pro AI a poté si přečtěte prompt engineering pro vývojáře, kde je pracovní postup uspořádaný podle inženýrské role.
Produkční problémy vyžadují ještě přísnější důkazní stopu. Než asistenta požádáte, aby navrhl opravu živého systému, pokračujte článkem šablony promptů pro ladění produkčních problémů. Když chyba zahrnuje výstup shellu nebo skript, zreprodukujte pracovní postup příkazového řádku v prohlížeči, než řešení zautomatizujete.
Reference
Tyto odkazy na dokumentaci poskytují spolehlivé informace o příkazech použitých v tomto článku.