Skip to content

Tutorial 3 Your First Agent Task nl

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

Tutorial 3 · Je eerste agenttaak

🌎 Taal: Nederlandsbekijk alle 33 talen

Doel: voeg een gloednieuw commando aan de CLI toe — van begin tot eind — door je agent aan te sturen. We voegen lockedin endorse toe: het geeft totale vreemden endorsements voor vaardigheden die ze vrijwel zeker niet hebben. Helemaal on brand.

Dit is het hart van de tutorial. Je oefent de echte lus: specificatie → tests → implementatie → groene barrière → review.

← Vorige: Tutorial 2 Hoe de code werkt · Volgende: Tutorial 4 Prompting en review


Stap 0 — Bepaal hoe "klaar" eruitziet

Schrijf eerst zelf de specificatie in gewone taal voordat je ook maar iets prompt. Vage verzoeken leveren vage code op — van een mens of van een agent.

endorse print 5–7 regels, die elk een willekeurig gekozen persoon endorsen (hergebruik de bestaande NAMES-pool) voor een willekeurig gekozen buzzword-vaardigheid (een nieuwe pool). Het eindigt met een satirische oneliner. Het moet bereikbaar zijn als lockedin endorse, als /endorse binnen de sessie, en het moet in help verschijnen. Alle willekeur moet de gesede pick/shuffle-helpers gebruiken zodat de uitvoer deterministisch blijft. npm test moet groen blijven, en er moet een nieuwe test zijn die ten minste één invariant vastlegt.

Die alinea is wat je aan de agent geeft. Merk op dat hij de beperkingen uit hoofdstuk 2 noemt (RNG met seed, de testbarrière, de gewoonte van invarianten).

Stap 1 — Vraag om een plan, niet om code

Begin door om een plan te vragen. Dit is je kans om een slechte aanpak te vangen voordat er bestanden veranderen.

"Ik wil een endorse-commando aan LockedIn CLI toevoegen. Hier is de specificatie: [paste your spec]. Voordat je code schrijft, vertel me welke bestanden je gaat aanpassen en wat je aanpak is, zodat ik die kan goedkeuren. Volg de bestaande patronen van een commando als connect."

Een goed plan noemt: een nieuwe SKILLS-pool + een renderEndorse() in src/lockedin.js, aansluiten op dispatch() en handleSlash(), een rij aan renderHelp() toevoegen, het nieuwe exporteren en tests aan beide testbestanden toevoegen. Als het plan de RNG-regel met seed of de tests vergeet, zeg dat nu.

Stap 2 — Eerst tests

Vraag de agent om de tests vóór de implementatie te schrijven. Tests eerst maakt je specificatie uitvoerbaar en houdt de agent eerlijk.

"Mooi. Voeg eerst alleen falende tests toe: een unit-test waarin renderEndorse() tekst teruggeeft met een bekende vaardigheid en minstens 5 endorsements, en een test in cli.test.js waarin lockedin endorse exitcode 0 geeft en een endorsement print. Gebruik een vaste seed. Implementeer renderEndorse nog niet — laten we eerst zien dat de tests om de juiste reden falen."

Draai ze en kijk hoe ze om de juiste reden falen (de functie bestaat nog niet):

npm test

Stap 3 — Laat de agent implementeren

Geef nu groen licht voor de implementatie:

"Implementeer het nu zodat die tests slagen, volgens het connect-patroon. Voeg een SKILLS-pool toe met ~25 buzzword-vaardigheden, een renderEndorse() die een string teruggeeft, koppel dispatch en handleSlash, voeg een rij toe aan help en exporteer wat je toevoegt. Gebruik alleen pick/shuffle voor willekeur."

Wat de agent produceert zou sterk op de rest van het bestand moeten lijken. Bijvoorbeeld een SKILLS-pool en een renderer:

const SKILLS = [
  'Thought Leadership', 'Synergie', 'Vibes', 'Blockchain (conceptueel)',
  'Nederig Doen', 'Er Nog Op Terugkomen', 'Aura Farming', /* ...~25 in totaal... */
];

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('  ✔ Gaf ' + n + ' een endorsement voor ' + skills[i % skills.length]));
  out.push('', '  Je gaf 6 vreemden een endorsement voor vaardigheden die je niet kunt verifiëren. Binnen het uur geven ze jou er eentje terug.');
  return out.join('\n');
}

…plus elk één regel in dispatch() en handleSlash(), een rij in renderHelp(), en SKILLS, renderEndorse toegevoegd aan module.exports.

Stap 4 — De barrière

npm test

Groen? Dan heb je net test-first een feature met een agent opgeleverd. Niet groen? Dat is normaal — ga naar de iteratielus van hoofdstuk 4 en vertel de agent precies wat er faalde.

Kijk daarna ook naar het echte resultaat (tests controleren tekst, maar je moet het nog steeds zien):

node bin/lockedin.js endorse
LOCKEDIN_SEED=1 node bin/lockedin.js endorse   # reproduceerbaar

Stap 5 — Review voordat je accepteert

Accepteer nooit een diff die je niet hebt gelezen. Scan specifiek op deze punten:

  • Volgde het het patroon? Het nieuwe commando moet connect spiegelen — geen nieuwe dependencies, geen console.log binnen src/.
  • Alleen RNG met seed? Zoek in de diff naar Math.random. Die zou er niet mogen zijn.
  • Raakte het iets aan dat het niet moest aanraken? De wijziging moet additief zijn; niet-gerelateerde regels horen niet te verschuiven.
  • Is de nieuwe test betekenisvol? Hij moet falen als iemand later de feature stukmaakt — niet alleen true asserten.

Als iets niet klopt, vraag dan om een fix (hoofdstuk 4). Als het goed is, ben je klaar.


✅ Probeer het met je agent

Doe de volledige lus hierboven echt. Vraag de agent daarna, voor extra punten, om het uit te breiden:

  • "Laat endorse een optionele naam accepteren: lockedin endorse Ada moet specifiek Ada endorsen. Voeg een test toe en houd de barrière groen."

Je hebt nu van begin tot eind een feature gebouwd. Het volgende hoofdstuk gaat over dit soepel doen — prompten en reviewen als een lead engineer.

Volgende: Tutorial 4 Prompting en review

📘 LockedIn CLI wiki

Tutorial

Reference


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

Clone this wiki locally