Balstoties uz reālu Claude Code automātiskās programmēšanas gadījumu, dalos ar dažiem padomiem par promptiem

Šajā rakstā, izmantojot reālu gadījumu, dalīšos ar Claude Code reālu lietojuma piemēru. Pirms dalīšanās, veiksim nelielu aptauju.
Sākotnējā prasība: viens godājams maksājošs lietotājs vēlējās, lai es rakstos pievienoju rakstu izmaiņu laiku.
No pirmā acu uzmetiena šī prasība šķita diezgan sarežģīta. Jo mani vietnes raksti netiek glabāti datu bāzē, tie tiek veidoti, izmantojot next.js SSG. Tiem principā nav atjaunināšanas laika.
Viens triks šeit ir: risinot problēmas, mums nevajadzētu tieši padot sākotnējo prasību Claude Code, un tam ir vairāki iemesli:
1. Sākotnējā prasība ir salīdzinoši neskaidra, un tā var tikt nepareizi saprasta. Ja tā tiek nepareizi saprasta, galu galā, lai arī tas pievienos laiku, šis laiks var nebūt uzticams.
2. Claude Code Token patēriņš ir patiešām ļoti dārgs. Tāpēc neskaidras prasības var izraisīt liela daudzuma Token bezjēdzīgu patēriņu.
Tāpēc mums ir jāsadala sākotnējā prasība. Es vispirms konsultējos ar deepseek, un deepseek man ieteica divus risinājumus:
1. Faila veidošanas laiks. Katru reizi, veidojot, mums ir jāiegūst faila veidošanas laiks. Bet turbopack pakotnes stratēģija ir nedaudz atšķirīga – katru reizi, veidojot, faila hash vērtība mainās, tāpēc šis veidošanas laiks var nebūt uzticams.
2. git iesniegšanas laiks. Es nodomāju, ka tam vajadzētu būt diezgan uzticamam.
Iegūstot aptuvenu risinājuma virzienu, es izveidoju šo vienkāršo promptu: Kompilēt git iesniegšanas laiku katrā .mdx raksta augšdaļā.
Claude Code ir diezgan uzticams. Ja prompts ir precīzs, kopumā nav lielu problēmu, tas vienkārši sāk strādāt.
Pēc tam, kad tas patērēja manu 7 dolāru limitu, aptuveni 20 minūšu laikā, tas beidzot izpildījās veiksmīgi.
Kā jau varēja gaidīt, notika negaidīts – tas izlaida 171 failu izmaiņas.
Šeit ir viens ļoti kaitinošs punkts. Patiesībā šie izlaistie faili tikai papildus nodod vienu pass parametru, pārējais ir pilnīgi vienāds.
<PostLayout pass>...Bet tas nav elastīgs un definē šo papildu nodoto parametru kā pilnīgi atšķirīgu pielāgoto komponentu. Un tad tas izlaiž tos, neapstrādājot ~ ~
import Layout from 'components/post-layout';
import { getGitFileInfo } from '@/utils/git-info';
export default function Article({ children }: any) {
const gitInfo = getGitFileInfo('src/app/你的路径/page.mdx');
return (
<Layout gitInfo={gitInfo || undefined}>
{children}
</Layout>
);
}Bet patiesībā man vajadzēja šādu rezultātu, un darbības rezultāts būtu pilnīgi identisks.
import MdxLayout from 'components/mdx-layout';
export default function Article({ children }: any) {
return (
<MdxLayout pass filePath="src/app/r19base/(4.compiler)/23.compilerlower/page.mdx">
{children}
</MdxLayout>
);
}Un tad šajā brīdī es iekritu lamatās ar promptu.
Es vēlreiz ievadīju promptu: Izmantojot to pašu metodi kā augšā, pārveidojiet izlaistos 171 failus.
Padomājot rūpīgāk, mans izteiciens ir nedaudz neskaidrs. Jo Claude Code jau man bija ieteicis vienu risinājuma variantu, bet es to nepieņēmu. Mana nolūka bija, lai izlaistie faili tiktu modificēti tāpat kā jau modificētie simtiem failu, bet izpildes procesā tas tika saprasts kā: tas variants, ko tas man bija ieteicis.
Šī neskaidrība tieši noveda pie tā, ka tas 20 minūtes strādāja pēc man nevēlamā varianta, pa vidu pat divas reizes kļūdījās un mēģināja sevi labot, riktīgi aprīja manus tokenus. Divas dažādas neskaidrības sāka 'cīnīties', izraisot kļūdas.
Beigās man nācās atteikties no šīs izpildes un vēlreiz skaidri noteikt savu nozīmi.
Kopsavilkums
1. Promptā labāk ietvert salīdzinoši stabilus un precīzus risinājumus. Jo mazāk AI domā, jo labāk, tas samazina halucināciju līmeni.
2. Prasību promptā noteikti nedrīkst būt neskaidrību. Neskaidrības viegli noved pie kļūdām. Lai gan Claude Code galu galā var izlabot, tas izraisīs lielu token patēriņu. Un tā kā LLM ir balstīts uz prognozēšanas mehānismu, lai radītu rezultātus, agri iegūtas nepareizas izpratnes, neskaidrības utt. novedīs pie tā, ka katrs nākamais solis virzīsies arvien tālāk nepareizajā virzienā. Turklāt tas mēģinās būt loģiski konsekvents, radot kaut ko, kas nepastāv. Jo vairāk tas raksta, jo lielākas problēmas, un tas palielina arī izstrādātāja pārbaudes grūtības. Ja jūs ļaujaties apmānīt ar tā halucinācijām, tas var izraisīt nopietnas sekas.
3. Dabiskās valodas ierobežojumi nav tik precīzi kā koda. Promptā failu nosaukumu, koda mainīgos, koda speciālos terminus, profesionālos terminus iekļaušana ievērojami samazina Claude Code halucinācijas.





