-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 3 Your First Agent Task he
מטרה: להוסיף פקודה חדשה לגמרי ל-CLI — מקצה לקצה — על ידי כיוון הסוכן שלכם.
נוסיף את lockedin endorse: היא מאשרת מיומנויות לזרים גמורים על מיומנויות שכמעט
בוודאות אין להם. במיטב המסורת.
זה לב המדריך. תתרגלו את הלולאה האמיתית: מפרט → בדיקות → מימוש → מחסום ירוק → סקירה.
← הקודם: מדריך 2 איך הקוד עובד · הבא: מדריך 4 ניסוח בקשות וסקירה
לפני שאתם מנסחים משהו, כתבו את המפרט בעצמכם בשפה פשוטה. בקשות מעורפלות מקבלות קוד מעורפל — מאדם או מסוכן.
endorseמדפיסה 5–7 שורות, כל אחת מאשרת אדם שנבחר אקראית (השתמשו במאגרNAMESהקיים) על מיומנות באזוורד שנבחרה אקראית (מאגר חדש). היא מסתיימת בשורת מחץ סאטירית אחת. היא חייבת להיות נגישה כ-lockedin endorse, כ-/endorseשבתוך הסשן, ולהופיע ב-help. כל האקראיות חייבת להשתמש בפונקציות העזר בעלות הזרעpick/shuffleכך שהפלט יישאר דטרמיניסטי.npm testחייב להישאר ירוק, וצריכה להיות בדיקה חדשה שמעגנת לפחות אינווריאנט אחד.
הפסקה הזו היא הדבר שתמסרו לסוכן. שימו לב שהיא מציינת את האילוצים מפרק 2 (RNG בעל זרע, מחסום הבדיקות, הרגל האינווריאנטים).
התחילו בבקשת תוכנית. זו ההזדמנות שלכם לתפוס גישה גרועה לפני ששום קובץ משתנה.
"אני רוצה להוסיף פקודת
endorseל-LockedIn CLI. הנה המפרט: [paste your spec]. לפני כתיבת קוד, אמור לי אילו קבצים תשנה ומהי הגישה שלך, כדי שאוכל לאשר. עקוב אחר הדפוסים הקיימים לפקודה כמוconnect."
תוכנית טובה מזכירה: מאגר SKILLS חדש + renderEndorse() ב-src/lockedin.js,
חיווט לתוך dispatch() ו-handleSlash(), הוספת שורה ל-renderHelp(), ייצוא
הפונקציה/מאגר החדשים והוספת בדיקות בשני קבצי הבדיקות. אם התוכנית מפספסת את כלל
ה-RNG בעל הזרע או את הבדיקות, אמרו זאת עכשיו.
בקשו מהסוכן לכתוב את הבדיקות לפני המימוש. בדיקות-תחילה הופכות את המפרט שלכם למשהו הניתן להרצה, וזה שומר על הסוכן ישר.
"מצוין. ראשית, הוסף בדיקות נכשלות בלבד: בדיקת יחידה ש-
renderEndorse()מחזירה טקסט המזכיר מיומנות ידועה ולפחות 5 אישורים, ובדיקתcli.test.jsשבהlockedin endorseיוצאת עם 0 ומדפיסה אישור. השתמש בזרע קבוע. אל תממש עדיין אתrenderEndorse— בוא נראה את הבדיקות נכשלות קודם."
הריצו אותן וצפו בהן נכשלות מהסיבה הנכונה (הפונקציה עדיין לא קיימת):
npm testעכשיו אשרו את המימוש:
"עכשיו ממש את זה כדי לגרום לבדיקות האלה לעבור, בעקבות דפוס ה-
connect. הוסף מאגרSKILLSשל ~25 מיומנויות באזוורד,renderEndorse()שמחזירה מחרוזת, חווט אתdispatchו-handleSlash, הוסף שורתhelpוייצא את מה שהוספת. השתמש רק ב-pick/shuffleלאקראיות."
מה שהסוכן מייצר אמור להיראות מאוד דומה לשאר הקובץ. למשל, מאגר SKILLS ומרנדר:
const SKILLS = [
'מנהיגות מחשבתית', 'סינרגיה', 'סטוריטלינג', 'וייבים',
'תנומות אסטרטגיות', 'יישור בעלי עניין', 'כנות רדיקלית', /* ...~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 + ' על ' + skills[i % skills.length]));
out.push('', ' אישרתם 6 זרים על מיומנויות שאין לכם דרך לאמת. הם יאשרו אתכם בחזרה בתוך שעה.');
return out.join('\n');
}…בתוספת שורה אחת בכל אחד מ-dispatch() ו-handleSlash(), שורה ב-renderHelp(),
ו-SKILLS, renderEndorse המתווספים ל-module.exports.
npm testירוק? הרגע שיגרתם תכונה עם סוכן, בדיקות-תחילה. לא ירוק? זה נורמלי — עברו ללולאת האיטרציה של פרק 4 ואמרו לסוכן בדיוק מה נכשל.
לאחר מכן העיפו מבט בדבר האמיתי (בדיקות בודקות טקסט, אבל עדיין כדאי שתסתכלו):
node bin/lockedin.js endorse
LOCKEDIN_SEED=1 node bin/lockedin.js endorse # reproducibleלעולם אל תקבלו diff שלא קראתם. סרקו במיוחד אלה:
-
האם זה עקב אחר הדפוס? פקודה חדשה צריכה לשקף את
connect— ללא תלויות חדשות, ללאconsole.logבתוךsrc/. -
RNG בעל זרע בלבד? חפשו ב-diff את
Math.random. לא אמור להיות אף אחד. - האם זה נגע במשהו שאסור לו? השינוי צריך להיות תוספתי; שורות לא קשורות לא צריכות לזוז.
-
האם הבדיקה החדשה משמעותית? היא צריכה להיכשל אם מישהו ישבור מאוחר יותר את
התכונה — לא רק לוודא
true.
אם משהו לא בסדר, בקשו תיקון (פרק 4). אם זה טוב, סיימתם.
עשו את כל הלולאה למעלה באמת. אז, לנקודות בונוס, בקשו מהסוכן להרחיב אותה:
- "גרום ל-
endorseלקבל שם אופציונלי:lockedin endorse Adaצריך לאשר את Ada ספציפית. הוסף בדיקה, שמור על המחסום ירוק."
כעת בניתם תכונה מקצה לקצה. הפרק האחרון עוסק בעשיית זה בחלקות — ניסוח בקשות וסקירה כמו מהנדס מוביל.
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.