Skip to content

Tutorial 3 Your First Agent Task he

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

מדריך 3 · משימת הסוכן הראשונה שלכם

מטרה: להוסיף פקודה חדשה לגמרי ל-CLI — מקצה לקצה — על ידי כיוון הסוכן שלכם. נוסיף את lockedin endorse: היא מאשרת מיומנויות לזרים גמורים על מיומנויות שכמעט בוודאות אין להם. במיטב המסורת.

זה לב המדריך. תתרגלו את הלולאה האמיתית: מפרט → בדיקות → מימוש → מחסום ירוק → סקירה.

← הקודם: מדריך 2 איך הקוד עובד · הבא: מדריך 4 ניסוח בקשות וסקירה


שלב 0 — החליטו איך נראה "גמור"

לפני שאתם מנסחים משהו, כתבו את המפרט בעצמכם בשפה פשוטה. בקשות מעורפלות מקבלות קוד מעורפל — מאדם או מסוכן.

endorse מדפיסה 5–7 שורות, כל אחת מאשרת אדם שנבחר אקראית (השתמשו במאגר NAMES הקיים) על מיומנות באזוורד שנבחרה אקראית (מאגר חדש). היא מסתיימת בשורת מחץ סאטירית אחת. היא חייבת להיות נגישה כ-lockedin endorse, כ-/endorse שבתוך הסשן, ולהופיע ב-help. כל האקראיות חייבת להשתמש בפונקציות העזר בעלות הזרע pick/shuffle כך שהפלט יישאר דטרמיניסטי. npm test חייב להישאר ירוק, וצריכה להיות בדיקה חדשה שמעגנת לפחות אינווריאנט אחד.

הפסקה הזו היא הדבר שתמסרו לסוכן. שימו לב שהיא מציינת את האילוצים מפרק 2 (RNG בעל זרע, מחסום הבדיקות, הרגל האינווריאנטים).

שלב 1 — בקשו מהסוכן לתכנן, לא לקודד

התחילו בבקשת תוכנית. זו ההזדמנות שלכם לתפוס גישה גרועה לפני ששום קובץ משתנה.

"אני רוצה להוסיף פקודת endorse ל-LockedIn CLI. הנה המפרט: [paste your spec]. לפני כתיבת קוד, אמור לי אילו קבצים תשנה ומהי הגישה שלך, כדי שאוכל לאשר. עקוב אחר הדפוסים הקיימים לפקודה כמו connect."

תוכנית טובה מזכירה: מאגר SKILLS חדש + renderEndorse() ב-src/lockedin.js, חיווט לתוך dispatch() ו-handleSlash(), הוספת שורה ל-renderHelp(), ייצוא הפונקציה/מאגר החדשים והוספת בדיקות בשני קבצי הבדיקות. אם התוכנית מפספסת את כלל ה-RNG בעל הזרע או את הבדיקות, אמרו זאת עכשיו.

שלב 2 — בדיקות תחילה

בקשו מהסוכן לכתוב את הבדיקות לפני המימוש. בדיקות-תחילה הופכות את המפרט שלכם למשהו הניתן להרצה, וזה שומר על הסוכן ישר.

"מצוין. ראשית, הוסף בדיקות נכשלות בלבד: בדיקת יחידה ש-renderEndorse() מחזירה טקסט המזכיר מיומנות ידועה ולפחות 5 אישורים, ובדיקת cli.test.js שבה lockedin endorse יוצאת עם 0 ומדפיסה אישור. השתמש בזרע קבוע. אל תממש עדיין את renderEndorse — בוא נראה את הבדיקות נכשלות קודם."

הריצו אותן וצפו בהן נכשלות מהסיבה הנכונה (הפונקציה עדיין לא קיימת):

npm test

שלב 3 — תנו לסוכן לממש

עכשיו אשרו את המימוש:

"עכשיו ממש את זה כדי לגרום לבדיקות האלה לעבור, בעקבות דפוס ה-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.

שלב 4 — המחסום

npm test

ירוק? הרגע שיגרתם תכונה עם סוכן, בדיקות-תחילה. לא ירוק? זה נורמלי — עברו ללולאת האיטרציה של פרק 4 ואמרו לסוכן בדיוק מה נכשל.

לאחר מכן העיפו מבט בדבר האמיתי (בדיקות בודקות טקסט, אבל עדיין כדאי שתסתכלו):

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

שלב 5 — סקרו לפני שאתם מקבלים

לעולם אל תקבלו diff שלא קראתם. סרקו במיוחד אלה:

  • האם זה עקב אחר הדפוס? פקודה חדשה צריכה לשקף את connect — ללא תלויות חדשות, ללא console.log בתוך src/.
  • RNG בעל זרע בלבד? חפשו ב-diff את Math.random. לא אמור להיות אף אחד.
  • האם זה נגע במשהו שאסור לו? השינוי צריך להיות תוספתי; שורות לא קשורות לא צריכות לזוז.
  • האם הבדיקה החדשה משמעותית? היא צריכה להיכשל אם מישהו ישבור מאוחר יותר את התכונה — לא רק לוודא true.

אם משהו לא בסדר, בקשו תיקון (פרק 4). אם זה טוב, סיימתם.


✅ נסו עם הסוכן שלכם

עשו את כל הלולאה למעלה באמת. אז, לנקודות בונוס, בקשו מהסוכן להרחיב אותה:

  • "גרום ל-endorse לקבל שם אופציונלי: lockedin endorse Ada צריך לאשר את Ada ספציפית. הוסף בדיקה, שמור על המחסום ירוק."

כעת בניתם תכונה מקצה לקצה. הפרק האחרון עוסק בעשיית זה בחלקות — ניסוח בקשות וסקירה כמו מהנדס מוביל.

הבא: מדריך 4 ניסוח בקשות וסקירה

📘 LockedIn CLI wiki

Tutorial

Reference


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

Clone this wiki locally