Skip to content

Tutorial 3 Your First Agent Task fi

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

Tutorial 3 · Ensimmäinen agenttitehtäväsi

Tavoite: lisää täysin uusi komento CLI:hin — päästä päähän — ohjaamalla agenttiasi. Lisäämme lockedin endorse: se suosittelee täysin tuntemattomia taidoista, joita heillä lähes varmasti ei ole. Brändin mukaista.

Tämä on opetusohjelman ydin. Harjoittelet oikeaa silmukkaa: spesifikaatio → testit → toteutus → vihreä portti → arviointi.

← Edellinen: Tutorial 2 Miten koodi toimii · Seuraava: Tutorial 4 Promptaus ja arviointi


Vaihe 0 — Päätä miltä "valmis" näyttää

Ennen kuin promptaat mitään, kirjoita spesifikaatio itse selkeällä kielellä. Epämääräiset pyynnöt tuottavat epämääräistä koodia — ihmiseltä tai agentilta.

endorse tulostaa 5–7 riviä, joista jokainen suosittelee satunnaisesti valittua henkilöä (käytä uudelleen olemassa olevaa NAMES-poolia) satunnaisesti valitusta muotisana-taidosta (uusi pooli). Se päättyy satiiriseen yhden rivin lauseeseen. Sen täytyy olla tavoitettavissa komennolla lockedin endorse, session sisäisenä /endorse-komentona, ja näkyä help:ssä. Kaiken satunnaisuuden täytyy käyttää siemennettyjä pick/shuffle-apufunktioita, jotta tuloste pysyy deterministisenä. npm test:n täytyy pysyä vihreänä, ja mukana pitää olla uusi testi, joka kiinnittää vähintään yhden invariantin.

Tuo kappale on se, minkä annat agentille. Huomaa, että se nimeää luvun 2 rajoitteet (siemennetty RNG, testiportti, invarianttien tapa).

Vaihe 1 — Pyydä agenttia suunnittelemaan, ei koodaamaan

Aloita pyytämällä suunnitelma. Tämä on tilaisuutesi kiinni huonon lähestymistavan ennen kuin yksikään tiedosto muuttuu.

"Haluan lisätä endorse-komennon LockedIn CLI:hin. Tässä spesifikaatio: [paste your spec]. Ennen koodin kirjoittamista, kerro mitkä tiedostot muutat ja lähestymistapasi, jotta voin hyväksyä sen. Seuraa olemassa olevia malleja komennolle kuten connect."

Hyvä suunnitelma mainitsee: uuden SKILLS-poolin + renderEndorse():n src/lockedin.js:ssä, sen kytkemisen dispatch():iin ja handleSlash():iin, rivin lisäämisen renderHelp():iin, uuden funktion/poolin viennin, ja testien lisäämisen molempiin testitiedostoihin. Jos suunnitelma jättää huomiotta siemennetyn RNG -säännön tai testit, sano se nyt.

Vaihe 2 — Testit ensin

Pyydä agenttia kirjoittamaan testit ennen toteutusta. Testit ensin muuttaa spesifikaatiosi suoritettavaksi, ja se pitää agentin rehellisenä.

"Hienoa. Lisää ensin vain epäonnistuvat testit: yksikkötesti, joka varmistaa, että renderEndorse() palauttaa tekstiä, joka mainitsee tunnetun taidon ja vähintään 5 suositusta, ja cli.test.js-testi, joka varmistaa, että lockedin endorse poistuu koodilla 0 ja tulostaa suosituksen. Käytä kiinteää siementä. Älä vielä toteuta renderEndorse:ia — katsotaan ensin testien epäonnistuvan."

Aja ne ja katso niiden epäonnistuvan oikeasta syystä (funktiota ei vielä ole olemassa):

npm test

Vaihe 3 — Anna agentin toteuttaa

Anna nyt vihreä valo toteutukselle:

"Toteuta se nyt niin, että nuo testit menevät läpi, seuraten connect-mallia. Lisää SKILLS-pooli, jossa on ~25 muotisanataitoa, renderEndorse(), joka palauttaa merkkijonon, kytke dispatch ja handleSlash, lisää help-rivi, ja vie mitä lisäsit. Käytä satunnaisuuteen vain pick/shuffle:a."

Sen, mitä agentti tuottaa, pitäisi näyttää hyvin samalta kuin muu tiedosto. Esimerkiksi SKILLS-pooli ja renderöijä:

const SKILLS = [
  'Ajatusjohtajuus', 'Synergia', 'Tarinankerronta', 'Fiilikset',
  'Strateginen torkkuminen', 'Sidosryhmien linjaus', 'Radikaali suoruus', /* ...~25 yhteensä... */
];

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('  ✔ Suosittelit henkilöä ' + n + ' taidosta ' + skills[i % skills.length]));
  out.push('', '  Suosittelit kuutta tuntematonta taidoista, joita et voi todentaa. He suosittelevat sinua takaisin tunnin sisällä.');
  return out.join('\n');
}

…plus yksi rivi kumpaankin dispatch():iin ja handleSlash():iin, rivi renderHelp():iin, ja SKILLS, renderEndorse lisättynä module.exports:iin.

Vaihe 4 — Portti

npm test

Vihreä? Julkaisit juuri ominaisuuden agentin kanssa, testit ensin. Ei vihreä? Se on normaalia — mene luvun 4 iterointisilmukkaan ja kerro agentille täsmälleen mikä epäonnistui.

Sitten silmäile oikeaa juttua (testit tarkistavat tekstiä, mutta sinun pitäisi silti katsoa):

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

Vaihe 5 — Arvioi ennen hyväksymistä

Älä koskaan hyväksy diffiä, jota et ole lukenut. Silmäile erityisesti näitä:

  • Noudattiko se mallia? Uuden komennon pitäisi heijastaa connect:ia — ei uusia riippuvuuksia, ei console.log:ia src/:n sisällä.
  • Vain siemennetty RNG? Etsi diffistä Math.random. Sitä ei pitäisi olla.
  • Koskiko se mihinkään, mitä ei pitäisi? Muutoksen pitäisi olla lisäävä; asiaan kuulumattomat rivit eivät pitäisi liikkua.
  • Onko uusi testi merkityksellinen? Sen pitäisi epäonnistua, jos joku myöhemmin rikkoo ominaisuuden — ei vain väittää true.

Jos jokin on pielessä, pyydä korjausta (luku 4). Jos se on hyvä, olet valmis.


✅ Kokeile agenttisi kanssa

Tee koko yllä oleva silmukka oikeasti. Sitten, ekstrapisteiden vuoksi, pyydä agenttia laajentamaan sitä:

  • "Tee endorse:sta hyväksyvä valinnainen nimi: lockedin endorse Ada pitäisi suositella nimenomaan Adaa. Lisää testi, pidä portti vihreänä."

Olet nyt rakentanut ominaisuuden päästä päähän. Viimeinen luku käsittelee tämän tekemistä sulavasti — promptaamalla ja arvioimalla kuin tiiminvetäjä.

Seuraava: Tutorial 4 Promptaus ja arviointi

📘 LockedIn CLI wiki

Tutorial

Reference


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

Clone this wiki locally