-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 3 Your First Agent Task ms
🌎 Bahasa: Bahasa Melayu (ms) — lihat semua 33 bahasa
Matlamat: tambah arahan baharu pada CLI — hujung ke hujung — dengan
mengarahkan ejen anda. Kita akan menambah lockedin endorse: arahan ini
mengesahkan kemahiran orang asing yang hampir pasti tidak mereka miliki. Memang
kena dengan jenamanya.
Ini adalah intipati tutorial. Anda akan mengamalkan gelung sebenar: spesifikasi → ujian → pelaksanaan → pintu hijau → semakan.
← Sebelum: Tutorial 2 Bagaimana Kod Berfungsi · Seterusnya: Tutorial 4 Penggesaan dan Semakan
Sebelum anda menggesa apa-apa, tulis sendiri spesifikasi dalam bahasa biasa. Permintaan samar menghasilkan kod samar — sama ada daripada manusia atau ejen.
endorsemencetak 5–7 baris. Setiap baris mengesahkan orang yang dipilih secara rawak (guna semula poolNAMESsedia ada) untuk kemahiran buzzword yang dipilih secara rawak (pool baharu). Output berakhir dengan satu ayat satira. Arahan mesti boleh dicapai sebagailockedin endorse, sebagai/endorsedalam sesi, dan muncul dalamhelp. Semua rawak mesti menggunakan pembantu berbenihpick/shufflesupaya output kekal deterministik.npm testmesti kekal hijau dan perlu ada ujian baharu yang menetapkan sekurang-kurangnya satu invarian.
Perenggan itu ialah perkara yang akan anda serahkan kepada ejen. Perhatikan bahawa ia menyebut kekangan daripada Bab 2 (RNG berbenih, pintu ujian dan tabiat menetapkan invarian).
Mulakan dengan meminta rancangan. Ini adalah peluang anda untuk menangkap pendekatan yang buruk sebelum sebarang fail berubah.
"Saya mahu menambah arahan
endorsepada LockedIn CLI. Inilah spesifikasinya: [paste your spec]. Sebelum menulis kod, beritahu saya fail yang akan anda ubah dan pendekatan anda supaya saya boleh meluluskannya. Ikut corak sedia ada untuk arahan seperticonnect."
Pelan yang baik menyebut pool SKILLS baharu dan renderEndorse() dalam
src/lockedin.js, menyambungkannya kepada dispatch() dan handleSlash(),
menambah baris pada renderHelp(), mengeksport fungsi/pool baharu, dan menambah
ujian dalam kedua-dua fail ujian. Jika rancangan terlepas peraturan RNG berbenih
atau ujian, katakan sekarang.
Minta ejen menulis ujian sebelum pelaksanaan. Tests-first menukar spesifikasi anda menjadi sesuatu yang boleh dilaksanakan, dan ia memastikan ejen itu jujur.
"Hebat. Mula-mula, tambah ujian gagal sahaja: ujian unit bahawa
renderEndorse()mengembalikan teks yang menyebut kemahiran yang diketahui dan sekurang-kurangnya 5 pengesahan, serta ujiancli.test.jsbahawalockedin endorsekeluar dengan kod 0 dan mencetak pengesahan. Gunakan benih tetap. Jangan laksanakanrenderEndorselagi — mari lihat ujian itu gagal dahulu."
Jalankan mereka dan lihat mereka gagal atas sebab betul (fungsi itu belum wujud lagi):
npm testSekarang lampu hijau pelaksanaan:
"Sekarang laksanakannya supaya ujian tersebut lulus, mengikut corak
connect. Tambah poolSKILLSdengan kira-kira 25 kemahiran buzzword,renderEndorse()yang mengembalikan rentetan, sambungkannya kepadadispatchdanhandleSlash, tambah barishelp, dan eksport perkara yang anda tambah. Gunakan hanyapick/shuffleuntuk rawak."
Perkara yang dihasilkan oleh ejen sepatutnya kelihatan sama seperti fail yang lain. Contohnya, a SKILLS kolam dan pemapar:
const SKILLS = [
'Kepimpinan Pemikiran', 'Sinergi', 'Bercerita', 'Getaran',
'Tidur Strategik', 'Penyelarasan Pihak Berkepentingan', '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(' ✔ Mengesahkan ' + n + ' untuk ' + skills[i % skills.length]));
out.push('', ' Anda mengesahkan 6 orang asing untuk kemahiran yang tidak dapat anda pastikan. Mereka akan mengesahkan anda semula dalam masa sejam.');
return out.join('\n');
}…tambah satu baris setiap satu masuk dispatch() dan handleSlash(), sebaris masuk renderHelp(), dan SKILLS, renderEndorse ditambah kepada module.exports.
npm testhijau? Anda baru sahaja menghantar ciri dengan ejen, uji dahulu. Bukan hijau? Itu biasa — pergi ke gelung lelaran Bab 4 dan beritahu ejen apa yang gagal.
Kemudian lihat sendiri hasil sebenar (ujian menyemak teks, tetapi anda masih perlu melihatnya):
node bin/lockedin.js endorse
LOCKEDIN_SEED=1 node bin/lockedin.js endorse # reproducibleJangan sekali-kali menerima perbezaan yang anda belum baca. Skim untuk ini secara khusus:
-
Adakah ia mengikut corak? Perintah baharu harus dicerminkan
connect— tiada tanggungan baharu, tidakconsole.logdalamsrc/. -
RNG berbenih sahaja? Cari
Math.randomdalam perbezaan. Seharusnya tiada. - Adakah ia menyentuh apa-apa yang tidak sepatutnya? Perubahan harus bersifat tambahan; garisan yang tidak berkaitan seharusnya tidak bergerak.
-
Adakah ujian baharu itu bermakna? Ia sepatutnya gagal jika seseorang kemudiannya melanggar ciri itu — bukan sekadar menegaskan
true.
Jika ada yang tidak kena, minta pembetulan (Bab 4). Jika ia baik, anda sudah selesai.
Lakukan keseluruhan gelung di atas secara nyata. Kemudian, untuk kredit tambahan, minta ejen untuk melanjutkannya:
- "Buat
endorseterima nama pilihan:lockedin endorse Adaharus menyokong Ada secara khusus. Tambah ujian, pastikan pintu pagar hijau."
Anda kini telah membina ciri hujung ke hujung. Bab terakhir adalah tentang melakukan ini dengan lancar — menggesa dan menyemak seperti jurutera utama.
Seterusnya: Tutorial 4 Mendorong dan Mengkaji
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.