-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 3 Your First Agent Task eu
Helburua: komando guztiz berri bat CLIari gehitu — hasieratik amaierara —
zure agentea zuzenduz. lockedin endorse gehituko dugu: erabat ezezagunak diren
pertsonak babesten ditu ia ziurtasunez ez dituzten gaitasunengatik. Markarekin bat.
Hau da tutorialaren bihotza. Benetako begizta praktikatuko duzu: espezifikazioa → probak → inplementazioa → langa berdea → berrikuspena.
← Aurrekoa: 2 Nola funtzionatzen duen kodeak · Hurrengoa: 4 Prompt-ak eta berrikuspena
Ezer prompt egin aurretik, idatzi espezifikazioa zuk zeuk lengoaia arruntean. Eskaera lausoek kode lausoa ematen dute — gizaki batengandik edo agente batengandik.
endorse-ek 5–7 lerro inprimatzen ditu, bakoitzak ausaz aukeratutako pertsona bat babesten (berrerabili existitzen denNAMESpoola) ausaz aukeratutako buzzword-gaitasun batengatik (pool berri bat). Esaldi satiriko batekin amaitzen da.lockedin endorsegisa, saioko/endorsegisa etahelp-en agertu behar du. Ausazkotasun guztiak hazidunpick/shufflelaguntzaileak erabili behar ditu irteera determinista izaten jarrai dezan.npm testberde mantendu behar da, eta gutxienez aldaezin bat finkatzen duen proba berri bat egon behar da.
Paragrafo hori da agenteari emango diozuna. Ohartu 2. kapituluko murrizketak izendatzen dituela (hazidun RNGa, test-langa, aldaezinen ohitura).
Hasi plan bat eskatuz. Hau da fitxategirik aldatu aurretik hurbilketa txar bat harrapatzeko duzun aukera.
"
endorsekomando bat gehitu nahi diot LockedIn CLIari. Hona espezifikazioa: [paste your spec]. Kodea idatzi aurretik, esan zein fitxategi aldatuko dituzun eta zure hurbilketa, onets dezadan. Jarraituconnectbezalako komando baten existitzen diren patroiei."
Plan on batek honako hauek aipatzen ditu: SKILLS pool berri bat + renderEndorse()
bat src/lockedin.js-en, dispatch() eta handleSlash()-en konektatzea,
renderHelp()-i lerro bat gehitzea, funtzio/pool berria esportatzea, eta probak
gehitzea bi proba-fitxategietan. Planak hazidun RNGaren araua edo probak ahazten
baditu, esan orain.
Eskatu agenteari probak idazteko inplementazioaren aurretik. Probak-lehenengo zure espezifikazioa exekutagarri den zerbait bihurtzen du, eta agentea zintzo mantentzen du.
"Bikain. Lehenik, gehitu huts egiten duten probak bakarrik: unitate-proba bat non
renderEndorse()-ek gaitasun ezagun bat eta gutxienez 5 babes aipatzen dituen testua itzultzen duen, etacli.test.js-eko proba bat nonlockedin endorse-k 0-rekin irteten den eta babes bat inprimatzen duen. Erabili hazi finko bat. Ez inplementaturenderEndorseoraindik — ikus dezagun lehenik probak huts egiten."
Exekutatu eta ikusi arrazoi zuzenagatik huts egiten dutela (funtzioa oraindik ez da existitzen):
npm testOrain eman argi berdea inplementazioari:
"Orain inplementatu proba horiek gainditzeko,
connectpatroiari jarraituz. Gehitu ~25 buzzword-gaitasunekoSKILLSpool bat, string bat itzultzen duenrenderEndorse()bat, konektatudispatchetahandleSlash, gehituhelplerro bat, eta esportatu gehitu duzuna. Erabilipick/shufflesoilik ausazkotasunerako."
Agenteak sortzen duenak fitxategiaren gainerakoaren oso antzekoa izan beharko luke.
Adibidez, SKILLS pool bat eta errenderizatzaile bat:
const SKILLS = [
'Thought Leadership', 'Sinergia', 'Vibeak', 'Blockchain (kontzeptualki)',
'Apaldua Izatea', 'Gaietara Itzultzea', 'Aura Farming', /* ...~25 guztira... */
];
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(' ✔ Babestu duzu ' + n + ' honetan: ' + skills[i % skills.length]));
out.push('', ' 6 ezezagun babestu dituzu egiazta ezin dituzun trebetasunengatik. Ordubete barru bueltan babestuko zaituzte.');
return out.join('\n');
}…gehi lerro bana dispatch() eta handleSlash()-en, lerro bat renderHelp()-en,
eta SKILLS, renderEndorse gehituta module.exports-en.
npm testBerde? Agente batekin funtzionalitate bat argitaratu berri duzu, probak lehenengo. Ez berde? Hori normala da — joan 4. kapituluko iterazio-begiztara eta esan agenteari zehazki zerk huts egin duen.
Ondoren, begiratu benetakoari (probek testua egiaztatzen dute, baina hala ere begiratu egin beharko zenuke):
node bin/lockedin.js endorse
LOCKEDIN_SEED=1 node bin/lockedin.js endorse # erreproduzigarriaInoiz ez onartu irakurri ez duzun diff bat. Begiratu zehazki hauei:
-
Patroiari jarraitu dio? Komando berriak
connectislatu beharko luke — mendekotasun berririk ez,console.log-ik ezsrc/-ren barruan. -
Hazidun RNGa soilik? Bilatu
Math.randomdiff-ean. Ez luke bat ere egon behar. - Ukitu al du ukitu behar ez zuen ezer? Aldaketak gehigarria izan behar du; zerikusirik ez duten lerroek ez lukete mugitu behar.
-
Esanguratsua al da proba berria? Norbaitek gero funtzionalitatea hausten badu
huts egin beharko luke — ez soilik
truebaieztatu.
Zerbait gaizki badago, eskatu konponketa bat (4. kapitulua). Ondo badago, amaitu duzu.
Egin goiko begizta osoa benetan. Ondoren, kreditu gehigarrirako, eskatu agenteari hedatzeko:
- "Egin
endorse-k aukerako izen bat onar dezan:lockedin endorse Ada-k Ada zehazki babestu beharko luke. Gehitu proba bat, mantendu langa berde."
Dagoeneko funtzionalitate bat eraiki duzu hasieratik amaierara. Azken kapitulua hau arazorik gabe egiteari buruzkoa da — ingeniari nagusi baten moduan prompt egin eta berrikustea.
Hurrengoa: 4 Prompt-ak eta berrikuspena
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.