-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 2 How the Code Works is
🌎 Tungumál: Íslenska — sjá öll 33 tungumálin
Markmið: skilja handfylli af hönnunarákvörðunum sem gera þetta verkefni auðvelt — og öruggt — að breyta með gervigreindaraðstoðarmanni. Þú þarft ekki að leggja kóðann á minnið; þú þarft hugarfarslíkanið svo þú getir stýrt aðstoðarmanninum af nákvæmni.
← Fyrra: Kennsla 1 Leiðsögn · Næst: Kennsla 3 Fyrsta verkefnið þitt með aðstoðarmanninum
lockedin-cli/
├── bin/lockedin.js # inngangspunktur — EINI hlutinn sem sér um inntak og úttak
├── src/lockedin.js # kjarninn — hrein föll sem skila strengjum
├── test/
│ ├── unit.test.js # prófar kjarnaföllin beint
│ └── cli.test.js # ræsir raunverulega tvíundina og athugar úttak hennar
├── tools/screenshot.js # býr til SVG-myndirnar sem þú sérð í docs/
└── package.json # lýsigögn + `npm test`-skipunin
Fjórar hugmyndir láta þetta ganga. Lærðu þær og þú getur beðið aðstoðarmanninn um nær hvaða breytingu sem er af öryggi.
Opnaðu src/lockedin.js. Taktu eftir því að render-föllin prenta ekki —
þau skila strengjum:
function renderConnect() {
const names = shuffle(NAMES).slice(0, 6);
// ...byggir upp fylki af línum...
return out.join('\n'); // skilar texta; prentar ekkert
}Öll raunveruleg prentun (og lestur á lyklaslætti þínum) á sér stað í
bin/lockedin.js. Þessi skipting — „kjarninn skilar gögnum, jaðarinn sér um
inntak/úttak“ — er það mikilvægasta hér, því fall sem gerir ekkert nema að
skila streng er einfalt að prófa:
const out = app.renderConnect();
assert.ok(out.includes("„Mig langar að bæta þér við faglega tengslanetið mitt.“ — sent á "));Engin hermun á terminal, ekkert stdout til að fanga. Þegar þú biður aðstoðarmanninn um að bæta við eiginleika er þetta ástæðan fyrir því að hann getur líka bætt við snöggu og áreiðanlegu prófi fyrir hann.
Brandararnir búa í einföldum fylkjum ofarlega í src/lockedin.js:
const HOOKS = [ 'Óvinsæl skoðun:', 'Leyfðu þessu að síast inn.', /* ...um 25 alls... */ ];
const LESSONS = [ '→ Tengslanetið þitt er nettóeignin þín.', /* ... */ ];Smíðiföllin velja úr þessum poolum. Í v1.2.0 stækkaði hver pool í um 25
tilbrigði, og öðru lagi af sniðmátspoolum var bætt við (hlutir eins og
POST_REVEALS og REFLECT_TAGSETS) svo bygging hvers úttaks breytist, ekki bara orðin.
Að bæta við efni er oft eins einfalt og að bæta strengjum í fylki — fullkomið
fyrsta verkefni til að fela aðstoðarmanni.
Slembið úttak og sjálfvirk próf virðast ósamrýmanleg. Þetta verkefni leysir þann hnút með slembitölugjafa sem hægt er að seeda:
setSeed(42);
const a = generatePost();
setSeed(42);
const b = generatePost();
// a === b → sama seed, sama færslaHvert slembival fer í gegnum sameiginlegu hjálparföllin pick() / shuffle(),
sem draga úr þessum seedaða gjafa. Stilltu LOCKEDIN_SEED=42 og CLI-ið verður
fullkomlega endurtekningarhæft. Gullna reglan fyrir allar breytingar: ný
slembni verður að fara í gegnum pick / shuffle, aldrei Math.random
beint — annars brotnar endurtekningarhæfnin (og prófin). Hafðu þetta í
bakvasa; þú munt minna aðstoðarmanninn á það í Kennslu 3.
-
test/unit.test.jskallar á kjarnaföllin og sannreynir strengina sem þau skila (hratt, nákvæmt). -
test/cli.test.jsræsir í raunbin/lockedin.jsog athugar raunverulegt stdout og útgöngukóðann (sannar að allt virkar frá enda til enda).
Saman eru þau hliðið. Þau skrá líka ófrávíkjanlegar reglur — loforð sem
forritið gefur. Til dæmis byrjar færsla alltaf á þekktri upphafsfrasu og
inniheldur alltaf að minnsta kosti þrjú → lærdómsatriði; „connect“-skjárinn
segir alltaf incalculable. Þegar aðstoðarmaður breytir kóðanum grípa þessi
próf allt sem rýfur loforð í hljóði.
Settu þessar fjórar hugmyndir saman og þú færð kóðagrunn þar sem aðstoðarmaður getur:
- Bætt við eiginleika sem hreinu falli sem skilar streng,
- Bætt við prófi fyrir hann án nokkurrar inntaks/úttaks-fimleika,
- Haldið úttakinu endurtekningarhæfu með seedaðri slembni, og
- Sannað að ekkert annað brotnaði með því að keyra núverandi hlið.
Þetta er lykkjan sem þú keyrir í næsta kafla.
Biddu aðstoðarmanninn um að sannreyna skilninginn þinn — með lestri, ekki breytingum:
- „Listaðu upp hvert efnispool í
src/lockedin.jsog hve margar færslur eru í hverju þeirra.“ - „Sýndu mér eina ófrávíkjanlega reglu sem
test/unit.test.jsframfylgir umgeneratePost, og útskýrðu hvað myndi rjúfa hana.“ - „Hvar er seedaða slembnin skilgreind og hvaða föll verða að nota hana í stað
Math.random? Ekki breyta neinu — útskýrðu bara.“
Þegar svör aðstoðarmannsins passa við þennan kafla geturðu hafist handa við að byggja.
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.