Skip to content

Tutorial 3 Your First Agent Task no

James Morris edited this page Jul 29, 2026 · 1 revision

Tutorial 3 · Din første agentoppgave

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


Trinn 0 — Bestem hvordan "ferdig" ser ut

Før du prompter noe, skriv spesifikasjonen selv i vanlig språk. Vage forespørsler gir vag kode — fra et menneske eller en agent.

endorse skriver ut 5–7 linjer, hver som anbefaler en tilfeldig valgt person (gjenbruk den eksisterende NAMES-poolen) for en tilfeldig valgt buzzword-ferdighet (en ny pool). Den avsluttes med en satirisk énlinjer. Den må være tilgjengelig som lockedin endorse, som /endorse i økten, og vises i help. All tilfeldighet må bruke de frøbaserte pick/shuffle-hjelperne slik at utdataen forblir deterministisk. npm test må 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).

Trinn 1 — Be agenten planlegge, ikke kode

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 som connect."

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å.

Trinn 2 — Tester først

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 en cli.test.js-test at lockedin endorse avslutter med 0 og skriver ut en anbefaling. Bruk et fast frø. Ikke implementer renderEndorse ennå — la oss se testene feile først."

Kjør dem og se dem feile av den riktige grunnen (funksjonen finnes ikke ennå):

npm test

Trinn 3 — La agenten implementere

Gi nå grønt lys til implementasjonen:

"Implementer den nå slik at de testene består, og følg connect-mønsteret. Legg til en SKILLS-pool med ~25 buzzword- ferdigheter, en renderEndorse() som returnerer en streng, koble opp dispatch og handleSlash, legg til en help-rad, og eksporter det du la til. Bruk bare pick/shuffle for 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.

Trinn 4 — Porten

npm test

Grø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   # reproduserbar

Trinn 5 — Gjennomgå før du godtar

Godta aldri en diff du ikke har lest. Se spesielt etter dette:

  • Fulgte den mønsteret? Ny kommando bør speile connect — ingen nye avhengigheter, ingen console.log inne i src/.
  • 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.


✅ Prøv det med agenten din

Gjør hele sløyfen ovenfor på ekte. Deretter, for ekstrapoeng, be agenten om å utvide den:

  • "Få endorse til å akseptere et valgfritt navn: lockedin endorse Ada bø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.

Neste: Tutorial 4 Prompting og gjennomgang

📘 LockedIn CLI wiki

Tutorial

Reference


Satire · Sátira · 風刺. Not affiliated with LinkedIn. GPL-3.0-or-later.

Clone this wiki locally