Skip to content

Tutorial 3 Your First Agent Task kn

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

ಟ್ಯುಟೋರಿಯಲ್ 3 · ನಿಮ್ಮ ಮೊದಲ ಏಜೆಂಟ್ ಟಾಸ್ಕ್

ಗುರಿ: ನಿಮ್ಮ ಏಜೆಂಟ್‌ಗೆ ನಿರ್ದೇಶನ ನೀಡುವ ಮೂಲಕ CLI ಗೆ ಒಂದು ಸಂಪೂರ್ಣ ಹೊಸ ಕಮಾಂಡ್ ಸೇರಿಸುವುದು — ಆದ್ಯಂತವಾಗಿ. ನಾವು lockedin endorse ಸೇರಿಸುತ್ತೇವೆ: ಇದು ಸಂಪೂರ್ಣ ಅಪರಿಚಿತರಿಗೆ ಅವರಿಗೆ ಬಹುಶಃ ಖಂಡಿತ ಇಲ್ಲದ skill ಗಳಿಗಾಗಿ endorse ಮಾಡುತ್ತದೆ. ಸರಿಯಾಗಿ brand ಗೆ ಹೊಂದುತ್ತದೆ.

ಇದು ಟ್ಯುಟೋರಿಯಲ್‌ನ ಹೃದಯ. ನೀವು ನಿಜವಾದ loop ಅನ್ನು ಅಭ್ಯಾಸ ಮಾಡುತ್ತೀರಿ: spec → test ಗಳು → implementation → ಹಸಿರು ಗೇಟ್ → review.

← ಹಿಂದಿನದು: ಟ್ಯುಟೋರಿಯಲ್ 2 ಕೋಡ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ · ಮುಂದೆ: ಟ್ಯುಟೋರಿಯಲ್ 4 ಪ್ರಾಂಪ್ಟಿಂಗ್ ಮತ್ತು ರಿವ್ಯೂ


ಹಂತ 0 — "ಮುಗಿದಿದೆ" ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸಿ

ಏನನ್ನೂ prompt ಮಾಡುವ ಮೊದಲು, spec ಅನ್ನು ನೀವೇ ಸರಳ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಿರಿ. ಅಸ್ಪಷ್ಟ ವಿನಂತಿಗಳು ಅಸ್ಪಷ್ಟ ಕೋಡ್ ತರುತ್ತವೆ — ಒಬ್ಬ ಮನುಷ್ಯ ಅಥವಾ ಏಜೆಂಟ್‌ನಿಂದ.

endorse 5–7 ಸಾಲುಗಳನ್ನು print ಮಾಡುತ್ತದೆ, ಪ್ರತಿಯೊಂದೂ randomly ಆಯ್ಕೆಯಾದ ವ್ಯಕ್ತಿಯನ್ನು (ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ NAMES pool ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡಿ) randomly ಆಯ್ಕೆಯಾದ buzzword skill ಗಾಗಿ (ಒಂದು ಹೊಸ pool) endorse ಮಾಡುತ್ತದೆ. ಇದು ಒಂದು satirical one-liner ನಲ್ಲಿ ಮುಗಿಯುತ್ತದೆ. ಇದು lockedin endorse ಆಗಿ, in-session /endorse ಆಗಿ reachable ಆಗಿರಬೇಕು, ಮತ್ತು help ನಲ್ಲಿ ಕಾಣಿಸಬೇಕು. ಎಲ್ಲಾ randomness seeded pick/shuffle helper ಬಳಸಲೇಬೇಕು ಇದರಿಂದ output deterministic ಆಗಿ ಉಳಿಯುತ್ತದೆ. npm test ಹಸಿರಾಗಿ ಉಳಿಯಬೇಕು, ಮತ್ತು ಕನಿಷ್ಠ ಒಂದು invariant ಅನ್ನು pin ಮಾಡುವ ಒಂದು ಹೊಸ test ಇರಬೇಕು.

ಆ ಪ್ಯಾರಾಗ್ರಾಫ್ ಎಂಬುದೇ ನೀವು ಏಜೆಂಟ್‌ಗೆ ಕೊಡುವ ವಸ್ತು. ಇದು ಅಧ್ಯಾಯ 2 ರ constraint ಗಳ ಹೆಸರು ಹೇಳುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ (seeded RNG, test ಗೇಟ್, invariant ಅಭ್ಯಾಸ).

ಹಂತ 1 — ಏಜೆಂಟ್‌ಗೆ plan ಮಾಡಲು ಹೇಳಿ, code ಅಲ್ಲ

ಒಂದು plan ಕೇಳುವ ಮೂಲಕ ಆರಂಭಿಸಿ. ಯಾವುದೇ ಫೈಲ್ ಬದಲಾಗುವ ಮೊದಲು ಒಂದು ಕೆಟ್ಟ approach ಅನ್ನು ಹಿಡಿಯಲು ಇದು ನಿಮ್ಮ ಅವಕಾಶ.

"ನಾನು LockedIn CLI ಗೆ ಒಂದು endorse ಕಮಾಂಡ್ ಸೇರಿಸಲು ಬಯಸುತ್ತೇನೆ. spec ಇಲ್ಲಿದೆ: [paste your spec]. ಕೋಡ್ ಬರೆಯುವ ಮೊದಲು, ಯಾವ ಫೈಲ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತೀ ಮತ್ತು ನಿನ್ನ approach ಏನು ಎಂದು ಹೇಳು, ಇದರಿಂದ ನಾನು ಅನುಮೋದಿಸಬಹುದು. connect ನಂತಹ ಕಮಾಂಡ್‌ನ ಅಸ್ತಿತ್ವದ pattern ಅನ್ನು follow ಮಾಡು."

ಒಂದು ಒಳ್ಳೆಯ plan ಈ ವಿಷಯಗಳನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತದೆ: ಒಂದು ಹೊಸ SKILLS pool + src/lockedin.js ನಲ್ಲಿ ಒಂದು renderEndorse(), ಅದನ್ನು dispatch() ಮತ್ತು handleSlash() ಗೆ ಜೋಡಿಸುವುದು, renderHelp() ಗೆ ಒಂದು row ಸೇರಿಸುವುದು, ಹೊಸ function/pool ಅನ್ನು export ಮಾಡುವುದು, ಮತ್ತು ಎರಡೂ test ಫೈಲ್‌ಗಳಲ್ಲಿ test ಸೇರಿಸುವುದು. plan seeded-RNG ನಿಯಮ ಅಥವಾ test ಗಳನ್ನು ತಪ್ಪಿಸಿದರೆ, ಈಗಲೇ ಹೇಳಿ.

ಹಂತ 2 — Test-first

ಏಜೆಂಟ್‌ಗೆ implementation ನ ಮೊದಲು test ಗಳನ್ನು ಬರೆಯಲು ಹೇಳಿ. Test-first ನಿಮ್ಮ spec ಅನ್ನು executable ಆದ ಏನಾದರೂ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, ಮತ್ತು ಇದು ಏಜೆಂಟ್ ಅನ್ನು ಪ್ರಾಮಾಣಿಕವಾಗಿ ಇಡುತ್ತದೆ.

"ಒಳ್ಳೆಯದು. ಮೊದಲು, ಕೇವಲ failing test ಗಳನ್ನು ಸೇರಿಸು: renderEndorse() ಒಂದು ತಿಳಿದ skill ಮತ್ತು ಕನಿಷ್ಠ 5 endorsement ಗಳನ್ನು ಉಲ್ಲೇಖಿಸುವ text ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಎಂಬ ಒಂದು unit test, ಮತ್ತು lockedin endorse exit 0 ಮಾಡುತ್ತದೆ ಮತ್ತು ಒಂದು endorsement print ಮಾಡುತ್ತದೆ ಎಂಬ ಒಂದು cli.test.js test. ಒಂದು fixed seed ಬಳಸು. renderEndorse ಅನ್ನು ಇನ್ನೂ implement ಮಾಡಬೇಡ — ಮೊದಲು test ಗಳು fail ಆಗುವುದನ್ನು ನೋಡೋಣ."

ಅವನ್ನು ಚಲಾಯಿಸಿ ಮತ್ತು ಅವು ಸರಿಯಾದ ಕಾರಣಕ್ಕಾಗಿ fail ಆಗುವುದನ್ನು ನೋಡಿ (function ಇನ್ನೂ ಇಲ್ಲ):

npm test

ಹಂತ 3 — ಏಜೆಂಟ್‌ಗೆ implement ಮಾಡಲು ಬಿಡಿ

ಈಗ implementation ಗೆ ಹಸಿರು ನಿಶಾನೆ ನೀಡಿ:

"ಈಗ ಆ test ಗಳನ್ನು ಪಾಸ್ ಮಾಡಿಸಲು ಇದನ್ನು implement ಮಾಡು, connect pattern ಅನ್ನು follow ಮಾಡುತ್ತಾ. ~25 buzzword skill ಗಳ ಒಂದು SKILLS pool, string ಹಿಂತಿರುಗಿಸುವ ಒಂದು renderEndorse(), dispatch ಮತ್ತು handleSlash ಜೋಡಿಸು, ಒಂದು help row ಸೇರಿಸು, ಮತ್ತು ನೀನು ಸೇರಿಸಿದ್ದನ್ನು export ಮಾಡು. randomness ಗಾಗಿ ಕೇವಲ pick/shuffle ಬಳಸು."

ಏಜೆಂಟ್ ಉತ್ಪಾದಿಸುವುದು ಫೈಲ್‌ನ ಉಳಿದ ಭಾಗದಂತೆಯೇ ಕಾಣಬೇಕು. ಉದಾಹರಣೆಗೆ, ಒಂದು SKILLS pool ಮತ್ತು ಒಂದು renderer:

const SKILLS = [
  'Thought Leadership', 'Synergy', 'Storytelling', 'Vibes',
  'Strategic Napping', 'Stakeholder Alignment', 'Radical Candour', /* ...~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('  ✔ ' + n + ' ಅವರನ್ನು ' + skills[i % skills.length] + ' ಗಾಗಿ endorse ಮಾಡಿದೆ'));
  out.push('', '  ನೀವು ಪರಿಶೀಲಿಸಲಾಗದ skills ಗಾಗಿ 6 ಅಪರಿಚಿತರನ್ನು endorse ಮಾಡಿದ್ದೀರಿ. ಅವರು ಒಂದು ಗಂಟೆಯೊಳಗೆ ನಿಮಗೆ ಮರಳಿ endorse ಮಾಡುತ್ತಾರೆ.');
  return out.join('\n');
}

…ಜೊತೆಗೆ dispatch() ಮತ್ತು handleSlash() ನಲ್ಲಿ ತಲಾ ಒಂದು line, renderHelp() ನಲ್ಲಿ ಒಂದು row, ಮತ್ತು module.exports ಗೆ ಸೇರಿಸಿದ SKILLS, renderEndorse.

ಹಂತ 4 — ಗೇಟ್

npm test

ಹಸಿರೇ? ನೀವು ಈಗಷ್ಟೇ ಒಂದು ಏಜೆಂಟ್ ಜೊತೆ, test-first, ಒಂದು feature ship ಮಾಡಿದಿರಿ. ಹಸಿರಲ್ಲವೇ? ಅದು ಸಾಮಾನ್ಯ — ಅಧ್ಯಾಯ 4 ರ iteration loop ಗೆ ಹೋಗಿ ಮತ್ತು ಏಜೆಂಟ್‌ಗೆ ಸರಿಯಾಗಿ ಏನು fail ಆಯಿತು ಎಂದು ಹೇಳಿ.

ನಂತರ ನಿಜವಾದದ್ದನ್ನು ಕಣ್ಣಾಡಿಸಿ (test ಗಳು text ಪರಿಶೀಲಿಸುತ್ತವೆ, ಆದರೆ ನೀವು ಇನ್ನೂ ನೋಡಬೇಕು):

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

ಹಂತ 5 — ಸ್ವೀಕರಿಸುವ ಮೊದಲು review ಮಾಡಿ

ನೀವು ಓದದ diff ಅನ್ನು ಎಂದಿಗೂ ಸ್ವೀಕರಿಸಬೇಡಿ. ವಿಶೇಷವಾಗಿ ಇವನ್ನು skim ಮಾಡಿ:

  • ಅದು pattern ಅನ್ನು follow ಮಾಡಿತೇ? ಹೊಸ ಕಮಾಂಡ್ connect ಅನ್ನು ಪ್ರತಿಬಿಂಬಿಸಬೇಕು — ಯಾವುದೇ ಹೊಸ dependency ಇಲ್ಲ, src/ ಒಳಗೆ ಯಾವುದೇ console.log ಇಲ್ಲ.
  • ಕೇವಲ seeded RNG? diff ನಲ್ಲಿ Math.random ಹುಡುಕಿ. ಯಾವುದೂ ಇರಬಾರದು.
  • ಅದು ಮುಟ್ಟಬಾರದ್ದನ್ನು ಮುಟ್ಟಿತೇ? ಬದಲಾವಣೆ additive ಆಗಿರಬೇಕು; ಸಂಬಂಧವಿಲ್ಲದ ಸಾಲುಗಳು ಚಲಿಸಬಾರದು.
  • ಹೊಸ test ಅರ್ಥಪೂರ್ಣವೇ? ನಂತರ ಯಾರಾದರೂ feature ಮುರಿದರೆ ಅದು fail ಆಗಬೇಕು — ಕೇವಲ true assert ಮಾಡಬಾರದು.

ಏನಾದರೂ ತಪ್ಪಿದ್ದರೆ, ಒಂದು fix ಕೇಳಿ (ಅಧ್ಯಾಯ 4). ಚೆನ್ನಾಗಿದ್ದರೆ, ನಿಮ್ಮ ಕೆಲಸ ಮುಗಿಯಿತು.


✅ ನಿಮ್ಮ ಏಜೆಂಟ್ ಜೊತೆ ಪ್ರಯತ್ನಿಸಿ

ಮೇಲಿನ ಇಡೀ loop ಅನ್ನು ನಿಜವಾಗಿ ಮಾಡಿ. ನಂತರ, extra credit ಗಾಗಿ, ಏಜೆಂಟ್‌ಗೆ ಇದನ್ನು ವಿಸ್ತರಿಸಲು ಹೇಳಿ:

  • "endorse ಅನ್ನು ಒಂದು optional ಹೆಸರು ಸ್ವೀಕರಿಸುವಂತೆ ಮಾಡು: lockedin endorse Ada ನಿರ್ದಿಷ್ಟವಾಗಿ Ada ಅನ್ನು endorse ಮಾಡಬೇಕು. ಒಂದು test ಸೇರಿಸು, ಗೇಟ್ ಹಸಿರಾಗಿ ಇಡು."

ಈಗ ನೀವು ಒಂದು feature ಅನ್ನು ಆದ್ಯಂತವಾಗಿ ಕಟ್ಟಿದ್ದೀರಿ. ಕೊನೆಯ ಅಧ್ಯಾಯ ಇದನ್ನು ಸುಗಮವಾಗಿ ಮಾಡುವ ಬಗ್ಗೆ — ಒಬ್ಬ lead engineer ನಂತೆ prompt ಮಾಡುವುದು ಮತ್ತು review ಮಾಡುವುದು.

ಮುಂದೆ: ಟ್ಯುಟೋರಿಯಲ್ 4 ಪ್ರಾಂಪ್ಟಿಂಗ್ ಮತ್ತು ರಿವ್ಯೂ

📘 LockedIn CLI wiki

Tutorial

Reference


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

Clone this wiki locally