-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 3 Your First Agent Task tr
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
Herhangi bir şey yönlendirmeden önce, spesifikasyonu düz bir dille kendiniz yazın. Belirsiz istekler belirsiz kod verir — bir insandan veya bir ajandan.
endorse5–7 satır yazdırır, her biri rastgele seçilen bir kişiyi (mevcutNAMEShavuzunu 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 endorseolarak, oturum içi/endorseolarak erişilebilir olmalı vehelp'te görünmelidir. Tüm rastgelelik, çıktının deterministik kalması için tohumlupick/shuffleyardımcılarını kullanmalıdır.npm testyeş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ığı).
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
endorsekomutu 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.connectgibi 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.
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 velockedin endorse'un 0 ile çıktığına ve bir onay yazdırdığına dair bircli.test.jstesti. 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Şimdi uygulamaya yeşil ışık yakın:
"Şimdi
connectkalıbını izleyerek o testleri geçirmek için uygula. ~25 buzzword becerisinden oluşan birSKILLShavuzu, dize döndüren birrenderEndorse()ekle,dispatchvehandleSlash'ı bağla, birhelpsatırı ekle ve eklediklerini dışa aktar. Rastgelelik için yalnızcapick/shufflekullan."
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.
npm testYeş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 # reproducibleOkumadığı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çindeconsole.logyok. -
Yalnızca tohumlu RNG mi? Diff'te
Math.randomarayı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
truedoğrulamamalı.
Bir şey yanlışsa, bir düzeltme isteyin (4. bölüm). İyiyse, bitirdiniz.
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
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.