-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 3 Your First Agent Task id
🌎 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
Sebelum memberi prompt, tulis spesifikasi dengan bahasa biasa. Permintaan kabur menghasilkan kode kabur, baik dari manusia maupun agen.
endorsemencetak 5–7 baris. Setiap baris meng-endorse orang yang dipilih acak dari poolNAMESuntuk skill buzzword yang dipilih dari pool baru. Hasil diakhiri one-liner satir. Command harus dapat diakses sebagailockedin endorse,/endorsedalam sesi, dan muncul dihelp. Semua randomness harus memakai helperpick/shuffleagar seed tetap deterministik.npm testharus 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.
Mulai dengan meminta rencana agar pendekatan buruk dapat dihentikan sebelum file berubah.
“Saya ingin menambah command
endorseke LockedIn CLI. Ini spesifikasinya: [paste your spec]. Sebelum menulis kode, jelaskan file yang akan diubah dan pendekatannya agar saya dapat menyetujui. Ikuti pola commandconnect.”
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.
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 tescli.test.jsbahwalockedin endorsekeluar dengan status 0 dan mencetak endorsement. Pakai seed tetap. Jangan implementasikanrenderEndorsedulu; mari lihat tes gagal.”
Jalankan dan pastikan tes gagal karena alasan yang benar—fungsinya belum ada:
npm testBerikan lampu hijau:
“Sekarang implementasikan agar tes lulus, mengikuti pola
connect. Tambahkan poolSKILLSberisi sekitar 25 buzzword skill, fungsirenderEndorse()yang mengembalikan string, wiring kedispatchdanhandleSlash, satu rowhelp, dan export yang diperlukan. Gunakan hanyapick/shuffleuntuk 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.
npm testHijau? 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 # reproducibleJangan menerima diff yang belum dibaca. Periksa:
-
Apakah mengikuti pola? Command harus mencerminkan
connect, tanpa dependency baru dan tanpaconsole.logdisrc/. -
Hanya seeded RNG? Cari
Math.randompada 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 poolSKILLSbenar-benar dipakai.
Jika ada yang salah, minta perbaikan. Jika semuanya baik, selesai.
Jalankan seluruh loop. Untuk bonus, minta:
- “Buat
endorsemenerima nama opsional:lockedin endorse Adaharus 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
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.