Skip to content

Tutorial 3 Your First Agent Task tr

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

Eğitim 3 · İlk Ajan Göreviniz

Amaç: ajanınızı yönlendirerek CLI'a yepyeni bir komut eklemek — uçtan uca. lockedin endorse ekleyeceğiz: neredeyse kesinlikle sahip olmadıkları beceriler için tamamen yabancıları onaylar. Markaya uygun.

Bu, eğitimin kalbidir. Gerçek döngüyü çalışacaksınız: spesifikasyon → testler → uygulama → yeşil kapı → inceleme.

← Önceki: Eğitim 2 Kod Nasıl Çalışır · Sonraki: Eğitim 4 Yönlendirme ve İnceleme


Adım 0 — "Bitti"nin nasıl göründüğüne karar verin

Herhangi bir şey yönlendirmeden önce, spesifikasyonu düz bir dille kendiniz yazın. Belirsiz istekler belirsiz kod verir — bir insandan veya bir ajandan.

endorse 5–7 satır yazdırır, her biri rastgele seçilen bir kişiyi (mevcut NAMES havuzunu yeniden kullanın) rastgele seçilen bir buzzword becerisi için onaylar (yeni bir havuz). Hicivli bir tek satırlık nükte ile biter. lockedin endorse olarak, oturum içi /endorse olarak erişilebilir olmalı ve help'te görünmelidir. Tüm rastgelelik, çıktının deterministik kalması için tohumlu pick/shuffle yardımcılarını kullanmalıdır. npm test yeşil kalmalı ve en az bir değişmezi sabitleyen yeni bir test olmalıdır.

Bu paragraf, ajana vereceğiniz şeydir. 2. bölümden kısıtlamaları adlandırdığına dikkat edin (tohumlu RNG, test kapısı, değişmez alışkanlığı).

Adım 1 — Ajandan planlamasını isteyin, kod değil

Bir plan isteyerek başlayın. Bu, herhangi bir dosya değişmeden önce kötü bir yaklaşımı yakalama şansınızdır.

"LockedIn CLI'a bir endorse komutu eklemek istiyorum. İşte spesifikasyon: [paste your spec]. Kod yazmadan önce, hangi dosyaları değiştireceğini ve yaklaşımını söyle, böylece onaylayabileyim. connect gibi bir komut için mevcut kalıpları izle."

İyi bir plan şunları belirtir: src/lockedin.js'te yeni bir SKILLS havuzu + renderEndorse(), onu dispatch() ve handleSlash()'a bağlama, renderHelp()'e bir satır ekleme, yeni fonksiyonu/havuzu dışa aktarma ve her iki test dosyasına testler ekleme. Plan tohumlu RNG kuralını veya testleri kaçırıyorsa, bunu şimdi söyleyin.

Adım 2 — Önce test

Ajandan testleri uygulamadan önce yazmasını isteyin. Önce-test, spesifikasyonunuzu çalıştırılabilir bir şeye dönüştürür ve ajanı dürüst tutar.

"Harika. Önce yalnızca başarısız olan testler ekle: renderEndorse()'un bilinen bir beceriden ve en az 5 onaydan bahseden metin döndürdüğüne dair bir birim testi ve lockedin endorse'un 0 ile çıktığına ve bir onay yazdırdığına dair bir cli.test.js testi. Sabit bir tohum kullan. renderEndorse'u henüz uygulama — önce testlerin başarısız olduğunu görelim."

Onları çalıştırın ve doğru nedenle başarısız olduklarını izleyin (fonksiyon henüz mevcut değil):

npm test

Adım 3 — Ajanın uygulamasına izin verin

Şimdi uygulamaya yeşil ışık yakın:

"Şimdi connect kalıbını izleyerek o testleri geçirmek için uygula. ~25 buzzword becerisinden oluşan bir SKILLS havuzu, dize döndüren bir renderEndorse() ekle, dispatch ve handleSlash'ı bağla, bir help satırı ekle ve eklediklerini dışa aktar. Rastgelelik için yalnızca pick/shuffle kullan."

Ajanın ürettiği şey, dosyanın geri kalanına çok benzemelidir. Örneğin, bir SKILLS havuzu ve bir renderer:

const SKILLS = [
  'Thought Leadership', 'Sinerji', 'Hikâye Anlatımı', 'Vibe Yönetimi',
  'Stratejik Şekerleme', 'Stakeholder Hizalama', 'Radikal Açıklık', /* ...~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 + ' adlı kişiyi ' + skills[i % skills.length] + ' için onayladın'));
  out.push('', '  Doğrulayamayacağın beceriler için 6 yabancıyı onayladın. Bir saat içinde onlar da seni onaylayacak.');
  return out.join('\n');
}

…artı dispatch() ve handleSlash()'ta birer satır, renderHelp()'te bir satır ve module.exports'a eklenen SKILLS, renderEndorse.

Adım 4 — Kapı

npm test

Yeşil mi? Az önce bir ajanla, önce-test bir özellik gönderdiniz. Yeşil değil mi? Bu normaldir — 4. bölümün yineleme döngüsüne gidin ve ajana tam olarak neyin başarısız olduğunu söyleyin.

Ardından gerçeğine göz atın (testler metni kontrol eder, ama yine de bakmalısınız):

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

Adım 5 — Kabul etmeden önce inceleyin

Okumadığınız bir diff'i asla kabul etmeyin. Özellikle şunları tarayın:

  • Kalıbı izledi mi? Yeni komut connect'i yansıtmalı — yeni bağımlılık yok, src/ içinde console.log yok.
  • Yalnızca tohumlu RNG mi? Diff'te Math.random arayın. Hiç olmamalı.
  • Olmaması gereken bir şeye dokundu mu? Değişiklik eklemeli olmalı; ilgisiz satırlar kaymamalı.
  • Yeni test anlamlı mı? Biri daha sonra özelliği bozarsa başarısız olmalı — yalnızca true doğrulamamalı.

Bir şey yanlışsa, bir düzeltme isteyin (4. bölüm). İyiyse, bitirdiniz.


✅ Ajanınızla deneyin

Yukarıdaki tüm döngüyü gerçekten yapın. Sonra, ekstra puan için, ajandan onu genişletmesini isteyin:

  • "endorse'un isteğe bağlı bir ad kabul etmesini sağla: lockedin endorse Ada özellikle Ada'yı onaylamalı. Bir test ekle, kapıyı yeşil tut."

Artık uçtan uca bir özellik geliştirdiniz. Son bölüm bunu akıcı yapmakla ilgilidir — bir lider mühendis gibi yönlendirme ve inceleme.

Sonraki: Eğitim 4 Yönlendirme ve İnceleme

📘 LockedIn CLI wiki

Tutorial

Reference


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

Clone this wiki locally