Skip to content

Tutorial 3 Your First Agent Task id

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

Tutorial 3 · Tugas Agen Pertamamu

🌎 Bahasa: Bahasa Indonesia (id)lihat semua 33 bahasa

Tujuan: menambah command baru ke CLI dari awal sampai akhir dengan mengarahkan agen. Kita akan menambah lockedin endorse, yang meng-endorse orang asing untuk skill yang hampir pasti tidak mereka miliki. Tetap sesuai brand.

Ini inti tutorial. Kamu akan mempraktikkan loop nyata: spesifikasi → tes → implementasi → gerbang hijau → review.

← Sebelumnya: Tutorial 2 Cara Kerja Kode · Berikutnya: Tutorial 4 Prompt dan Review


Langkah 0 — Tentukan arti “selesai”

Sebelum memberi prompt, tulis spesifikasi dengan bahasa biasa. Permintaan kabur menghasilkan kode kabur, baik dari manusia maupun agen.

endorse mencetak 5–7 baris. Setiap baris meng-endorse orang yang dipilih acak dari pool NAMES untuk skill buzzword yang dipilih dari pool baru. Hasil diakhiri one-liner satir. Command harus dapat diakses sebagai lockedin endorse, /endorse dalam sesi, dan muncul di help. Semua randomness harus memakai helper pick/shuffle agar seed tetap deterministik. npm test harus tetap hijau dan harus ada tes baru yang mengunci setidaknya satu invariant.

Paragraf itu yang diberikan kepada agen. Isinya menyebut batasan Bab 2: seeded RNG, gerbang tes, dan kebiasaan invariant.

Langkah 1 — Minta rencana, bukan kode

Mulai dengan meminta rencana agar pendekatan buruk dapat dihentikan sebelum file berubah.

“Saya ingin menambah command endorse ke LockedIn CLI. Ini spesifikasinya: [paste your spec]. Sebelum menulis kode, jelaskan file yang akan diubah dan pendekatannya agar saya dapat menyetujui. Ikuti pola command connect.”

Rencana yang baik menyebut pool SKILLS baru dan renderEndorse() di src/lockedin.js, wiring ke dispatch() dan handleSlash(), row baru pada renderHelp(), export fungsi/pool baru, dan tes di kedua file tes. Jika aturan seeded RNG atau tes hilang, koreksi sekarang.

Langkah 2 — Tes lebih dahulu

Minta agen menulis tes sebelum implementasi. Test-first mengubah spesifikasi menjadi sesuatu yang dapat dijalankan dan menjaga agen tetap jujur.

“Bagus. Tambahkan tes gagal saja: unit test bahwa renderEndorse() menghasilkan teks yang menyebut skill dikenal dan setidaknya 5 endorsement, serta tes cli.test.js bahwa lockedin endorse keluar dengan status 0 dan mencetak endorsement. Pakai seed tetap. Jangan implementasikan renderEndorse dulu; mari lihat tes gagal.”

Jalankan dan pastikan tes gagal karena alasan yang benar—fungsinya belum ada:

npm test

Langkah 3 — Biarkan agen mengimplementasikan

Berikan lampu hijau:

“Sekarang implementasikan agar tes lulus, mengikuti pola connect. Tambahkan pool SKILLS berisi sekitar 25 buzzword skill, fungsi renderEndorse() yang mengembalikan string, wiring ke dispatch dan handleSlash, satu row help, dan export yang diperlukan. Gunakan hanya pick/shuffle untuk randomness.”

Hasilnya seharusnya mirip dengan kode lain, misalnya:

const SKILLS = [
  'Thought Leadership', 'Sinergi', 'Storytelling', 'Vibes',
  'Tidur Siang Strategis', 'Penyelarasan Stakeholder', 'Keterusterangan Radikal', /* ...~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('  ✔ Meng-endorse ' + n + ' untuk ' + skills[i % skills.length]));
  out.push('', '  Kamu meng-endorse 6 orang asing untuk skill yang tidak bisa kamu verifikasi. Mereka akan meng-endorse balik dalam satu jam.');
  return out.join('\n');
}

Selain itu harus ada masing-masing satu baris pada dispatch() dan handleSlash(), row baru di renderHelp(), serta SKILLS, renderEndorse pada module.exports.

Langkah 4 — Gerbang

npm test

Hijau? Kamu baru mengirim fitur bersama agen dengan test-first. Belum hijau? Itu normal. Pakai loop iterasi Bab 4 dan berikan kegagalan persisnya.

Lalu lihat hasil nyata; tes memeriksa teks, tetapi manusia tetap harus membaca:

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

Langkah 5 — Review sebelum menerima

Jangan menerima diff yang belum dibaca. Periksa:

  • Apakah mengikuti pola? Command harus mencerminkan connect, tanpa dependency baru dan tanpa console.log di src/.
  • Hanya seeded RNG? Cari Math.random pada diff; seharusnya tidak ada.
  • Apakah menyentuh hal yang tidak perlu? Perubahan mestinya aditif tanpa memindahkan baris yang tidak terkait.
  • Apakah tes baru bermakna? Tes harus gagal jika fitur rusak, bukan sekadar menguji true. Tes juga harus membuktikan pool SKILLS benar-benar dipakai.

Jika ada yang salah, minta perbaikan. Jika semuanya baik, selesai.


✅ Coba bersama agenmu

Jalankan seluruh loop. Untuk bonus, minta:

  • “Buat endorse menerima nama opsional: lockedin endorse Ada harus meng-endorse Ada secara khusus. Tambahkan tes dan jaga gerbang tetap hijau.”

Kamu sudah membangun fitur end-to-end. Bab terakhir membahas cara melakukannya dengan lancar: memberi prompt dan meninjau seperti lead engineer.

Berikutnya: Tutorial 4 Prompt dan Review

📘 LockedIn CLI wiki

Tutorial

Reference


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

Clone this wiki locally