-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 3 Your First Agent Task no
Mål: legg til en helt ny kommando i CLI-en — fra ende til annen — ved å
dirigere agenten din. Vi skal legge til lockedin endorse: den anbefaler
totale fremmede for ferdigheter de nesten helt sikkert ikke har. På merket.
Dette er hjertet av veiledningen. Du vil øve på den ekte sløyfen: spec → tester → implementasjon → grønn port → gjennomgang.
← Forrige: Tutorial 2 Hvordan koden fungerer · Neste: Tutorial 4 Prompting og gjennomgang
Før du prompter noe, skriv spesifikasjonen selv i vanlig språk. Vage forespørsler gir vag kode — fra et menneske eller en agent.
endorseskriver ut 5–7 linjer, hver som anbefaler en tilfeldig valgt person (gjenbruk den eksisterendeNAMES-poolen) for en tilfeldig valgt buzzword-ferdighet (en ny pool). Den avsluttes med en satirisk énlinjer. Den må være tilgjengelig somlockedin endorse, som/endorsei økten, og vises ihelp. All tilfeldighet må bruke de frøbasertepick/shuffle-hjelperne slik at utdataen forblir deterministisk.npm testmå forbli grønn, og det skal være en ny test som fastslår minst én invariant.
Det avsnittet er det du gir agenten. Legg merke til at det navngir begrensningene fra kapittel 2 (frøbasert RNG, testporten, invariant-vanen).
Start med å be om en plan. Dette er sjansen din til å fange en dårlig tilnærming før noen filer endres.
"Jeg vil legge til en
endorse-kommando i LockedIn CLI. Her er spesifikasjonen: [paste your spec]. Før du skriver kode, fortell meg hvilke filer du vil endre og tilnærmingen din, slik at jeg kan godkjenne den. Følg de eksisterende mønstrene for en kommando somconnect."
En god plan nevner: en ny SKILLS-pool + en renderEndorse() i
src/lockedin.js, å koble den inn i dispatch() og handleSlash(), legge
til en rad i renderHelp(), eksportere den nye funksjonen/poolen, og legge
til tester i begge testfilene. Hvis planen overser regelen om frøbasert RNG
eller testene, si det nå.
Be agenten skrive testene før implementasjonen. Tester-først gjør spesifikasjonen din til noe kjørbart, og det holder agenten ærlig.
"Flott. Legg først til bare feilende tester: en enhetstest som
renderEndorse()returnerer tekst som nevner en kjent ferdighet og minst 5 anbefalinger, og encli.test.js-test atlockedin endorseavslutter med 0 og skriver ut en anbefaling. Bruk et fast frø. Ikke implementerrenderEndorseennå — la oss se testene feile først."
Kjør dem og se dem feile av den riktige grunnen (funksjonen finnes ikke ennå):
npm testGi nå grønt lys til implementasjonen:
"Implementer den nå slik at de testene består, og følg
connect-mønsteret. Legg til enSKILLS-pool med ~25 buzzword- ferdigheter, enrenderEndorse()som returnerer en streng, koble oppdispatchoghandleSlash, legg til enhelp-rad, og eksporter det du la til. Bruk barepick/shufflefor tilfeldighet."
Det agenten produserer bør se mye ut som resten av filen. For eksempel en
SKILLS-pool og en renderer:
const SKILLS = [
'Thought leadership', 'Synergi', 'Historiefortelling', 'Vibber',
'Strategisk lur', 'Interessent-alignment', 'Radikal ærlighet', /* ...~25 totalt... */
];
function renderEndorse() {
const people = shuffle(NAMES).slice(0, 5 + Math.floor(rand() * 3)); // 5–7
const skills = shuffle(SKILLS);
const out = [''];
people.forEach((n, i) =>
out.push(' ✔ Anbefalte ' + n + ' for ' + skills[i % skills.length]));
out.push('', ' Du anbefalte 6 fremmede for ferdigheter du ikke kan bekrefte. De anbefaler deg tilbake innen en time.');
return out.join('\n');
}…pluss én linje hver i dispatch() og handleSlash(), en rad i
renderHelp(), og SKILLS, renderEndorse lagt til i module.exports.
npm testGrønn? Du har nettopp sendt en funksjon med en agent, tester først. Ikke grønn? Det er normalt — gå til kapittel 4s iterasjonssløyfe og fortell agenten nøyaktig hva som feilet.
Deretter, kikk på det ekte (tester sjekker tekst, men du bør fortsatt se):
node bin/lockedin.js endorse
LOCKEDIN_SEED=1 node bin/lockedin.js endorse # reproduserbarGodta aldri en diff du ikke har lest. Se spesielt etter dette:
-
Fulgte den mønsteret? Ny kommando bør speile
connect— ingen nye avhengigheter, ingenconsole.loginne isrc/. -
Bare frøbasert RNG? Søk i diffen etter
Math.random. Det bør ikke finnes noen. - Rørte den noe den ikke burde? Endringen bør være additiv; urelaterte linjer bør ikke flytte seg.
-
Er den nye testen meningsfull? Den bør feile hvis noen senere ødelegger
funksjonen — ikke bare bekrefte
true.
Hvis noe er galt, be om en fiks (kapittel 4). Hvis det er bra, er du ferdig.
Gjør hele sløyfen ovenfor på ekte. Deretter, for ekstrapoeng, be agenten om å utvide den:
- "Få
endorsetil å akseptere et valgfritt navn:lockedin endorse Adabør anbefale Ada spesifikt. Legg til en test, hold porten grønn."
Du har nå bygget en funksjon fra ende til annen. Det siste kapittelet handler om å gjøre dette sømløst — prompting og gjennomgang som en lederingeniør.
Tutorial
- 1 · Orientation
- 2 · How the Code Works
- 3 · Your First Agent Task
- 4 · Prompting & Reviewing
- 5 · Localization
Reference
Satire · Sátira · 風刺. Not affiliated with LinkedIn. GPL-3.0-or-later.