Skip to content

Tutorial 3 Your First Agent Task tl

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

Tutorial 3 · Ang Iyong Unang Gawain ng Ahente

🌎 Wika: Tagalog (tl)tingnan ang lahat ng 33 wika

Layunin: magdagdag ng bagong command sa CLI — end to end — sa pamamagitan ng pagdidirekta sa iyong ahente. Idaragdag natin ang lockedin endorse: mag-eendorso ito ng mga estranghero para sa mga kasanayang halos tiyak na wala sila. Akmang-akma sa brand.

Ito ang puso ng tutorial. Sasanayin mo ang totoong loop: spec → tests → implementation → green gate → review.

← Nakaraan: Tutorial 2 Paano Gumagana ang Code · Susunod: Tutorial 4 Prompting and Reviewing


Hakbang 0 — Magpasya kung ano ang hitsura ng "tapos na".

Bago ka mag-prompt ng anuman, isulat mo ang spec sa simpleng wika. Ang mga hindi malinaw na kahilingan ay nakakakuha ng malabong code — mula sa isang tao o isang ahente.

Ang endorse ay nagpi-print ng 5–7 linya. Bawat linya ay nag-eendorso ng random na piniling tao (muling gamitin ang kasalukuyang NAMES pool) para sa random na piniling buzzword na kasanayan (isang bagong pool). Nagtatapos ito sa isang satirical one-liner. Dapat itong maabot bilang lockedin endorse, bilang /endorse sa session, at lumitaw sa help. Dapat gamitin ng lahat ng randomness ang seeded na pick/shuffle helper upang manatiling deterministic ang output. Dapat manatiling berde ang npm test, at dapat may bagong test na nagtatakda ng kahit isang invariant.

Ang talatang iyon ay ang bagay na ibibigay mo sa ahente. Pansinin na pinangalanan nito ang mga hadlang mula sa Kabanata 2 (seeded RNG, ang test gate, ang invariants habit).

Hakbang 1 — Hilingin sa ahente na magplano, hindi mag-code

Magsimula sa paghingi ng plano. Ito ang pagkakataon mong mahuli ang masamang diskarte bago mabago ang anumang file.

"Gusto kong magdagdag ng command na endorse sa LockedIn CLI. Narito ang spec: [paste your spec]. Bago magsulat ng code, sabihin sa akin kung aling mga file ang babaguhin mo at ano ang diskarte mo, para maaprubahan ko ito. Sundin ang kasalukuyang pattern ng command na tulad ng connect."

Binabanggit ng magandang plano ang bagong SKILLS pool at renderEndorse() sa src/lockedin.js, ang pagkakabit nito sa dispatch() at handleSlash(), ang pagdaragdag ng row sa renderHelp(), ang pag-export ng bagong function/pool, at ang pagdaragdag ng mga test sa dalawang test file. Kung nalaktawan ng plano ang seeded-RNG rule o mga test, sabihin agad.

Hakbang 2 — Subukan muna

Hilingin sa ahente na isulat ang mga pagsubok bago ang pagpapatupad. Ang mga pagsubok-unang ginagawa ang iyong spec sa isang bagay na maipapatupad, at pinapanatili nitong tapat ang ahente.

"Mahusay. Una, magdagdag lamang ng mga test na mabibigo: isang unit test na nagsasabing ang renderEndorse() ay nagbabalik ng text na bumabanggit ng kilalang kasanayan at hindi bababa sa 5 endorsement, at isang cli.test.js test na nagsasabing ang lockedin endorse ay lumalabas na may code 0 at nagpi-print ng endorsement. Gumamit ng fixed seed. Huwag munang ipatupad ang renderEndorse — tingnan muna nating mabigo ang mga test."

Patakbuhin ang mga ito at panoorin silang nabigo para sa tama na dahilan (wala pa ang function):

npm test

Hakbang 3 — Hayaang magpatupad ang ahente

Ngayon green-light ang pagpapatupad:

"Ngayon, ipatupad ito upang pumasa ang mga test, ayon sa pattern ng connect. Magdagdag ng SKILLS pool na may humigit-kumulang 25 buzzword na kasanayan, renderEndorse() na nagbabalik ng string, ikabit ito sa dispatch at handleSlash, magdagdag ng help row, at i-export ang idinagdag mo. Gumamit lamang ng pick/shuffle para sa randomness."

Ang ginawa ng ahente ay dapat na katulad ng iba pang file. Halimbawa, a SKILLS pool at isang renderer:

const SKILLS = [
  'Thought Leadership', 'Synergy', 'Storytelling', 'Vibes',
  'Strategic Siesta', 'Stakeholder Alignment', 'Radical Candor', /* ...~25 total... */
];

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('  ✔ Inendorso si ' + n + ' para sa ' + skills[i % skills.length]));
  out.push('', '  Nag-endorso ka ng 6 na estranghero para sa mga kasanayang hindi mo mabe-verify. I-eendorso ka rin nila sa loob ng isang oras.');
  return out.join('\n');
}

…may kasama pang isang linya bawat isa dispatch() at handleSlash(), isang hilera sa renderHelp(), at SKILLS, renderEndorse idinagdag sa module.exports.

Hakbang 4 - Ang gate

npm test

Berde? Nagpadala ka lang ng feature na may ahente, test-first. Hindi berde? Iyan ay normal — pumunta sa pag-ulit ng Kabanata 4 at sabihin sa ahente kung ano mismo ang nabigo.

Pagkatapos ay tingnan mismo ang totoong output (sinusuri ng mga test ang text, ngunit dapat mo pa rin itong tingnan):

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

Hakbang 5 — Suriin bago mo tanggapin

Huwag kailanman tumanggap ng diff na hindi mo nabasa. Skim para sa mga ito partikular na:

  • Sinundan ba nito ang pattern? Dapat mag-mirror ang bagong command connect — walang bagong dependencies, hindi console.log sa loob src/.
  • Seeded RNG lang? Hanapin ang diff para sa Math.random. Dapat wala.
  • Nahawakan ba nito ang anumang hindi dapat? Ang pagbabago ay dapat na additive; hindi dapat gumalaw ang mga hindi nauugnay na linya.
  • Makahulugan ba ang bagong test? Dapat itong mabigo kung masira ang feature sa hinaharap — hindi lang mag-assert ng true.

Kung may mali, humingi ng pag-aayos (Kabanata 4). Kung ito ay mabuti, tapos ka na.


✅ Subukan ito sa iyong ahente

Gawin ang buong loop sa itaas para sa tunay. Pagkatapos, para sa karagdagang kredito, hilingin sa ahente na palawigin ito:

  • "Gumawa endorse tumanggap ng opsyonal na pangalan: lockedin endorse Ada dapat i-endorse si Ada partikular. Magdagdag ng pagsubok, panatilihing berde ang gate."

Nakagawa ka na ngayon ng isang tampok na end-to-end. Ang huling kabanata ay tungkol sa paggawa nito nang maayos — pag-udyok at pagre-review tulad ng isang lead engineer.

Susunod: Tutorial 4 Prompting and Reviewing

📘 LockedIn CLI wiki

Tutorial

Reference


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

Clone this wiki locally